добавить rel = nofollw с php в ссылку на определенный раздел - PullRequest
0 голосов
/ 19 января 2020

Я хочу добавить rel = nofollow ко всем ссылкам в определенном разделе (этот раздел отображает связанный продукт в виджете сообщений) в wordpress

'add_filter('the_content', 'my_nofollow', 10, 1 );
function my_nofollow( $content ) {
    if( is_single() ) 
        return preg_replace_callback('/<a[^>]+/', ' rel=nofollow;', $content);
     else
        return $content;
}'

1 Ответ

0 голосов
/ 19 января 2020

Лучший способ сделать это без проблем совместимости - установить Выходные фильтры виджетов ( Github Repo ). Этот плагин представляет новый хук 'widget_output', способный нацеливаться на любой виджет. После установки вы добавляете это к функциям. php:

function filter_widgets( $widget_output, $widget_type, $widget_id, $sidebar_id ) {

if ( 'block_widget-2' == $widget_id ) {
$widget_output = preg_replace( '/<a([^>]+)>/i', '<a\1 rel="nofollow">', $widget_output );
        }

        return $widget_output;
    }
add_filter( 'widget_output', 'filter_widgets', 10, 4 );

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

add_action('in_widget_form', 'spice_get_widget_id');
function spice_get_widget_id($widget_instance)
{

    // Check if the widget is already saved or not. 

    if ($widget_instance->number=="__i__"){

     echo "<p><strong>Widget ID is</strong>: Pls save the widget first!</p>"   ;


  }  else {

       echo "<p><strong>Widget ID is: </strong>" .$widget_instance->id. "</p>";


    }
}

Мы сможем увидеть это в меню Appearance => Widget в блоке Widget blo c, даже если мы не используем форму.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...