Поддержка Плагины функция ядра

  • подскажите, хотел изменить функцию из ядра сайта, подскажите как правильно это сделать

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Если вы назовете ее имя, тогда проще будет подсказать.

    упс, извините:
    get_comment_author_link

    Там имеется фильтр
    return apply_filters('get_comment_author_link', $return);

    Это удобная вещь, которую придумали разработчики, например его можно использовать так:

    function wikicms_change_return(){
        $url    = get_comment_author_url( $comment_ID );
        $author = get_comment_author( $comment_ID );
        $return = "<a href='$url' rel='external nofollow' class='myclass'>$author</a>";
        return $return;
    }
    add_filter( 'get_comment_author_link', 'wikicms_change_return' );

    То есть мы изменили class="url" на class="myclass". И там можно изменить все, в-общем, как фантазия разыграется 😉
    Функцию положить в свой плагин или файл functions.php активной Темы.
    upd исправил, забыл вернуть результат 🙂

    Модератор Юрий

    (@yube)

    Не надо изменять функцию. Если не устраивает то, что она возвращает, то нужно его и менять. Делается это просто. В functions.php Темы (или в свой плагин) дописывается

    add_filter('get_comment_author_link', 'my_get_comment_author_link');
    function my_get_comment_author_link($author_link){
    // свой обработчик
      return $author_link;
    }

    спасибо, я нашел такое решение еще, что вы про него скажете?

    <?php
    function dofollow_blog() {
    	global $comment;
    	$url    = get_comment_author_url();
    	$author = get_comment_author();
    
    	if ( empty( $url ) || 'http://' == $url )
    		$return = $author;
    	else
    		$return = "<a href='$url' rel='external dofollow' target='_blank'>$author</a>";
    	return $return;
    }
    add_filter('get_comment_author_link', 'dofollow_blog');
    ?>

    и еще вопрос, а можно ли как то задать эти 2 параметра и rel=’external dofollow’ target=’_blank’ и задавать их дополнительно?

    еще я слышал, что якобы хуки едят ресурсы и их нежелательно использовать, а править ядро.

    и задавать их дополнительно?

    Почему нет? Только надо определиться, где и как их получать. Можно привязать к роли пользователя, например, для редакторов выдавать dofollow, для остальных nofollow

    что якобы хуки едят ресурсы

    Да, кушают, точнее «принюхиваются». Эта величина настолько незначительна, что в большинстве случаев на нее можно не обращать внимание )

    ясно, я так и подумал, но это скорее уже плагин надо будет делать 🙂

    а в моем примере global $comment; какова роль этой переменной я не до конца понял

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Тема «функция ядра» закрыта для новых ответов.