Спрашиваем и отвечаем по Wordpress-15

Samail
На сайте с 10.05.2007
Offline
369
#1461
samdo #:
Не хотелось бы плагин для этого устанавливать. Наверняка можно обойтись кодом в functions.php.

Ну так хотя-бы погляди как там сделано:

var CyrToLatAcfFieldGroup = {"table":{"\u0410":"A","\u0411":"B","\u0412":"V","\u0413":"G","\u0414":"D","\u0415":"E","\u0401":"YO","\u0416":"ZH","\u0417":"Z","\u0418":"I","\u0419":"J","\u041a":"K","\u041b":"L","\u041c":"M","\u041d":"N","\u041e":"O","\u041f":"P","\u0420":"R","\u0421":"S","\u0422":"T","\u0423":"U","\u0424":"F","\u0425":"H","\u0426":"CZ","\u0427":"CH","\u0428":"SH","\u0429":"SHH","\u042a":"","\u042b":"Y","\u042c":"","\u042d":"E","\u042e":"YU","\u042f":"YA","\u0430":"a","\u0431":"b","\u0432":"v","\u0433":"g","\u0434":"d","\u0435":"e","\u0451":"yo","\u0436":"zh","\u0437":"z","\u0438":"i","\u0439":"j","\u043a":"k","\u043b":"l","\u043c":"m","\u043d":"n","\u043e":"o","\u043f":"p","\u0440":"r","\u0441":"s","\u0442":"t","\u0443":"u","\u0444":"f","\u0445":"h","\u0446":"cz","\u0447":"ch","\u0448":"sh","\u0449":"shh","\u044a":"","\u044b":"y","\u044c":"","\u044d":"e","\u044e":"yu","\u044f":"ya","\u0406":"I","\u0456":"i","\u0462":"YE","\u0463":"ye","\u0472":"FH","\u0473":"fh","\u0474":"YH","\u0475":"yh"}};

( function( $, window, document ) {
        'use strict';

        const table = CyrToLatAcfFieldGroup.table;
        const convert = function( str ) {
                $.each(
                        table,
                        function( k, v ) {
                                const regex = new RegExp( k, 'g' );
                                str = str.replace( regex, v );
                        }
                );
                str = str.replace( /[^\w\d\-_]/g, '' );
                str = str.replace( /_+/g, '_' );
                str = str.replace( /^_?(.*)$/g, '$1' );
                str = str.replace( /^(.*)_$/g, '$1' );

                return str;
        };

        acf.addFilter(
                'generate_field_object_name',
                function( val ) {
                        return convert( val );
                }
        );

        $( document ).on(
                'change',
                '.acf-field .field-name',
                function() {
                        if ( $( this ).is( ':focus' ) ) {
                                return false;
                        }

                        const $this = $( this );
                        let str = $this.val();
                        str = convert( str );

                        if ( str !== $this.val() ) {
                                $this.val( str );
                        }
                }
        );
}( window.jQuery, window, document ) );
Koukou Roukou
На сайте с 13.10.2024
Offline
25
#1462

Ребята, подскажите, что вот это такое, зачем оно мне надо и как его убрать? ЧатGPT мне с этим не помог. Пробовал разные темы щёлкать, пробовал плагины отключать — оно всё равно есть. Но я так понял это в теме присутствует? Валидатор Яндекса что-то ругается на это всё.

http://www.w3.org/1999/xhtml/vocab#role

    @id
        @value = http://www.w3.org/1999/xhtml/vocab#navigation

http://www.w3.org/1999/xhtml/vocab#role

    @id
        @value = http://www.w3.org/1999/xhtml/vocab#menu

http://www.w3.org/1999/xhtml/vocab#role

    @id
        @value = http://www.w3.org/1999/xhtml/vocab#group

http://www.w3.org/1999/xhtml/vocab#role

    @id
        @value = http://www.w3.org/1999/xhtml/vocab#menuitem

etc.

Кина не будет, электричество кончилось. Результаты экспериментов публиковать не буду. Результаты AB-тестов рекламы тоже. Аккаунт можно аннигилировать.
S
На сайте с 24.08.2015
Offline
86
#1463
Samail #:

Ну так хотя-бы погляди как там сделано:

А вот это сработало, благодарю)
Иван
На сайте с 05.11.2019
Offline
71
#1464

Всем привет.

Проблема следующая: WP регулярно зависает. Верстаю я текст в этот момент или нет - неважно.

Обычно это происходит так: я добавляю постепенно небольшие блоки текста на страницу статьи, размечаю места с дополнительными элементами (изображения, медиа и текст и пр.). В моменте WP зависает. Показывает "Сохранение", будто сохраняет что-то, хотя я могла эту кнопку не нажимать. Автосохранение отключено.


Чтобы продолжить работу с текстом, я открываю страницу статьи в другом браузере и работаю там. Потом и там страница зависает, я возвращаюсь в первый бразуер.

Проверял: ни размер статьи, ни количество медиафайлов в ней, ни количество изображений в библиотеке (были несуществующие, мы их удалили), ни время работы со страницей не влияет на процесс. Браузеры вроде работают нормально, не перегружены. Невозможно предсказать и понять, в какой момент WP зависнет. Есть плагин AIO SEO - есть мысль, что он влияет на работу в админке.

Мой Телерам-канал о Яндекс Директ - https://t.me/gluhovdirect
AutoBlogger
На сайте с 05.10.2011
Offline
128
#1465
Koukou Roukou #:

Ребята, подскажите, что вот это такое, зачем оно мне надо и как его убрать? ЧатGPT мне с этим не помог. Пробовал разные темы щёлкать, пробовал плагины отключать — оно всё равно есть. Но я так понял это в теме присутствует? Валидатор Яндекса что-то ругается на это всё.

Это фрагмент RDF (Resource Description Framework) разметки, который определяет семантические роли для элементов HTML документа, и используется для улучшения доступности и семантической структуры веб-страниц. Если она не нужна и валидатор ругается, то можете ее просто удалить из header.php или footer.php - смотрите, где она у вас.
🪄 www.cyberseo.net - плагин для создания автоблогов под WordPress, с поддержкой OpenAI GPT, Anthropic Claude, Google Gemini, Llama, Mistral, Midjourney, FLUX, Stable Diffusion | 📣 Импорт RSS / XML / JSON/ CSV / HTML
AutoBlogger
На сайте с 05.10.2011
Offline
128
#1466
Ivan Glukhov #:

Всем привет.

Проблема следующая: WP регулярно зависает. Верстаю я текст в этот момент или нет - неважно.

Обычно это происходит так: я добавляю постепенно небольшие блоки текста на страницу статьи, размечаю места с дополнительными элементами (изображения, медиа и текст и пр.). В моменте WP зависает. Показывает "Сохранение", будто сохраняет что-то, хотя я могла эту кнопку не нажимать. Автосохранение отключено.


Чтобы продолжить работу с текстом, я открываю страницу статьи в другом браузере и работаю там. Потом и там страница зависает, я возвращаюсь в первый бразуер.

Проверял: ни размер статьи, ни количество медиафайлов в ней, ни количество изображений в библиотеке (были несуществующие, мы их удалили), ни время работы со страницей не влияет на процесс. Браузеры вроде работают нормально, не перегружены. Невозможно предсказать и понять, в какой момент WP зависнет. Есть плагин AIO SEO - есть мысль, что он влияет на работу в админке.

Нажмите Ctrl+Shift+I и появится панель разработчика. Переключитесь там на вкладку "Console" и начните работать с редактором WP.  При возникновении ошибок JS, они будут отображаться в этой консоли. Так вы сможете определить источник проблемы. Например, это может быть конфликт плагинов.
Koukou Roukou
На сайте с 13.10.2024
Offline
25
#1467

Как научить WordPress отдавать заголовок 304 Not Modified?

Сервер Nginx. Использую FastCGI Cache.

Всякое разное в интернете находил на эту тему, всё перепробовал. Только Last Modified сработал. 304 Not Modified так и не получилось настроить.

Может кто знает, как это сделать?

GRAFLEKX
На сайте с 05.11.2010
Offline
225
#1468
Koukou Roukou #:
Как научить WordPress отдавать заголовок 304 Not Modified

Если вы используете на сайте кэш, то никак.

По умолчанию ВП не умеет вообще отдавать подобные заголовки.

Но, есть уйма плагинов для этого.

Даже элементарный код вставленный в header.php будет работать на 304 Not Modified:

$modified_date = strtotime( $post->post_modified_gmt );
header( 'Last-Modified: '.gmdate('D, d M Y H:i:s', $modified_date).' GMT' );

if ( isset( $_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime( $_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $modified_date ) {
    header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
    exit;
}

Но всё это будет работать только если вы отдаете некэшированную страницу.

PS: однако, попробовать можно.

Если у вас  Nginx и юзаете FastCGI Cache, то в конфиг сервера необходимо добавить две строки:

fastcgi_pass_header Last-Modified;
ssi_last_modified on;

После этого перезагрузить Nginx и проверить отдается ли заголовок  304 Not Modified.

Если сработает, при условии, что вы добавили приведенный выше код в  header.php или использовали плагин для отдачи заголовка Modified , то считайте, что вам повезло - сервер отдает нужные вам заголовки =)

Мы поможем в поиске работы: стабильная работа для вас ( https://www.rabota.ru ), вакансии и резюме.
[Удален]
#1469
есть задача сделать Multisite wordpress с несколькими сайтами на поддоменах.
На домене 2 уровня уже установлен другой скрипт и для поддмоенов хотелось бы сделать сеть на Wordpress.
Однако, если я ставлю Wordpress на поддомен en.site.ru то адреса для сетки он предлагает
site1.en.site.ru как это можно обойти?
S
На сайте с 24.08.2015
Offline
86
#1470

Приветствую! Подскажите, есть ли способ на странице результатов поиска выводить записи сначала из одной рубрики, потом из других?

Например, есть рубрики: "Музыка", "Кино", "Мультфильмы". При поиске по сайту, на странице результатов поиска вывести сначала статьи из рубрик "Кино" и "Мультфильмы", а после них уже из рубрики "Музыка" .

Заранее спасибо!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий