Я пытаюсь сделать что-то похожее на этот вопрос здесь: remove_action или remove_filter с внешними классами?
Я пытаюсь удалить
<!-- This site is optimized with the Yoast WordPress SEO plugin v1.0.3 - http;//yoast.com/wordpress/seo/ -->
сообщение от плагина.
И прежде чем кричать на меня о том, что это может быть неэтично, автор говорит, что здесь можно делать: http://wordpress.org/support/topic/plugin-wordpress-seo-by-yoast-how-to-remove-dangerous -inserted-Yoast-сообщение-в-страничных заголовки? ответы = 29 # пост-2503475
Я нашел класс, который добавляет комментарий здесь: http://plugins.svn.wordpress.org/wordpress-seo/tags/1.2.8.7/frontend/class-frontend.php
В основном у WPSEO_Frontend
класса есть функция с именем, debug_marker
которая затем вызывается функцией с именем, head
которая затем добавляется wp_head
в__Construct
Я новичок в занятиях, но я нашел способ полностью удалить голову, выполнив
global $wpseo_front;
remove_action( 'wp_head', array($wpseo_front,'head'), 1, 1 );
но я только хочу удалить debug_marker
часть из этого. Я пытался это, но это не работает
remove_action( 'wp_head', array($wpseo_front,'head','debug_marker'), 1, 1 );
Как я уже сказал, я новичок в занятиях, поэтому любая помощь будет отличной.
Спасибо за вашу помощь, я наконец решил это. Я создал файл functions.php для своей дочерней темы, а затем добавил
источник
remove_class_action
чтобы удалить действие / фильтр gist.github.com/tripflex/c6518efc1753cf2392559866b4bd1a53Я не думаю, что вы сможете сделать это, используя
remove_action
. Аргумент функции in вамremove_action
не поможет, так какdebug_marker()
функция не была той функцией, которая использовалась вadd_action()
вызове.В Yoast есть что-то похожее
add_action( "wp_head", "head" )
на его код. Таким образом, вы можете удалить функцию «head», ноdebug_marker
она не была явно добавлена как действие.Вы могли бы
WPSEO_Frontend
класс и перегрузитеdebug_marker
функцию для возврата "". TBH, я не уверен, как это будет работать с точки зрения загрузки плагина WP, но может стоить исследовать.источник
Поиск этой темы после работы над тем же решением, что и упомянутое
Steve Claridge
, то есть:Расширьте
WPSEO_Frontend
класс и перегрузитеdebug_marker
функцию для возврата ""Я подробно описал шаги ниже, хотя я застреваю на последнем шаге.
Создать плагин настройки
Как упоминалось в этой статье WP Tavern , «самый простой способ сделать это - создать функциональный плагин, который будет работать вместе с ним».
Итак, я приступил к созданию своего первого плагина после этой статьи от ElegantTheme .
Расширить соответствующий класс.
Вот когда все усложнилось. Я добавил следующее, но по какой-то причине моя основная функция все еще не сработала.
источник
Я обнаружил, что вы можете удалить действие debug_marker в functions.php. Плагин Yoast выполняется в действии wp_head. Я просто взял ловушку действия, которая следует сразу после этого, а именно wp_enqueue_scripts, и там я подключил функцию, которая удалила вывод debug_marker. Для этого вам также нужно передать объект плагина. Также номер приоритета должен совпадать с номером, установленным внутри плагина.
Однако это не удаляет
частично, потому что это отражено в ключевой функциональной главе плагина плагина . Вы можете попробовать перезаписать это.
источник
Чтобы добавить к ответу Ахмада, вы можете просто удалить все html-комментарии с одинаковым количеством кода, так как Yoast не единственный плагин, который делает это.
источник
Я наткнулся на фрагмент, который удаляет все комментарии Yoast WordPress SEO из внешнего интерфейса. Он также изменяет подход буферизации вывода, который используют ответы @ bryan-willis и @ ahmad-m.
Просто поместите фрагмент в свою тему
functions.php
или пользовательский php-файл плагина / темы.Я оставлю это здесь в качестве ссылки - кредит переходит к автору сниппета
источник
Это модифицированная версия @ ahmad-m Answer , применяя фильтры, вы можете сделать несколько изменений содержимого в заголовке html.
источник
Нашел похожее решение, для
functions.php
которого не используется жестко заданный приоритет,2
но динамически считывается и используется приоритет от Yoastadd_action()
.источник
Смотрите функцию flush_cache в wordpress-seo / frontend / class-frontend.php
Найти эту строку кода
Заменить
Спасибо создателю этого замечательного плагина.
источник