Стоп-слова - это те маленькие слова, которые должны быть удалены из URL. Вы знаете, как «а» и «и» или «или» и так далее, и так далее. Они делают для неуклюжих и длинных URL, и вы действительно должны удалить их.
Если вы используете Yoast SEO для WordPress и хотите отключить стоп-слова, есть простой способ сделать это. Зайдите в SEO -> Advanced и отключите функцию для стоп-слов.
Если вы хотите убить его огнем и лишить возможности активировать их всех на вашем сайте, вы можете добавить это в плагин MU.
add_filter ('wpseo_stopwords', '__return_empty_array'); remove_action ('get_sample_permalink', 'wpseo_remove_stopwords_sample_permalink');Первый фильтр заставляет стоп-слова ничего не отбрасывать, а действие удаления останавливает запуск процесса. Тебе, вероятно, нужен только второй, но лучше, чем потом сожалеть, я всегда говорю.
Но ... что если вы хотите удалить стоп-слова, но не хотите, чтобы они были удалены в определенных пользовательских типах записей? Добро пожаловать в мой мир! Я хотел удалить их только из двух типов сообщений.
Введите мой франкод:
<? php / * Имя плагина: Настройки SEO Yoast Описание: Некоторые изменения, которые я имею для версии SEO Yoast: 2.0 * / // Если мы не на посте или на странице, связанной с редактированием поста, заткнись global $ pagenow; $ pagenow_array = array ('post.php', 'edit.php', 'post-new.php'); if (! in_array ($ pagenow, $ pagenow_array)) {return; } // Поскольку мы есть, мы должны точно знать, что мы находимся, и это хлопотно. глобальный $ typenow; // при редактировании страниц, $ typenow не устанавливается до позже! if (empty ($ typenow)) {// попытаться выбрать его из строки запроса if (! empty ($ _ GET ['post'])) {$ post = get_post ($ _ GET ['post']); $ typenow = $ post-> post_type; } // пытаемся выбрать его из строки запроса elseif (! empty ($ _ GET ['post_type'])) {$ typenow = $ _GET ['post_type']; } // попытаться получить его из поста быстрого редактирования AJAX elseif (! empty ($ _ POST ['post_ID'])) {$ post = get_post ($ _ POST ['post_ID']); $ typenow = $ post-> post_type; } else {$ typenow = 'nopostfound'; }} $ typenow_array = array ('post_type_shows', 'post_type_characters'); if (! in_array ($ typenow, $ typenow_array)) {return; } add_filter ('wpseo_stopwords', '__return_empty_array'); remove_action ('get_sample_permalink', 'wpseo_remove_stopwords_sample_permalink', 10);Кстати, в этом было что-то смешное. Изначально у меня не было кода $ pagenow. Это не нужно. Но когда я это пропустил, Yoast SEO сломался со странной ошибкой. Он отказался загружать любой из вспомогательных экранов для настроек администратора!
После некоторого рюкзака «Хорошо, он работал раньше…?», Я решил, что это был призыв к глобальной $ typenow; - глобальный, который вообще не используется в исходном коде SEO Yoast, который я смог найти. Тем не менее, сделав мой код под залог раньше, если его нет даже на той странице, на которой он должен быть, я сделал остальную часть WP Admin быстрее, и это победа для всех.
После некоторого рюкзака «Хорошо, он работал раньше…?