Отвечаю на ваши вопросы #2

  1. Вопрос:
    Необходимо убрать ссылки из активных пунктов меню, т.е. как сделать “некликабельным” активный пункт меню на сайте работающем на WordPress?

    Ответ:
    По умолчанию, в меню генерируемых WordPress, активным пунктам меню, например, названию рубрики, присваивается класс .current-menu-item. С помощью jQuery можно найти этот элемент и удалить у него атрибут href, именно он отвечает за “кликабельность” ссылки. Если меню на сайте одно, то селектор прост $('.current-menu-item'), если нет, то потребуется уточнить идентификатор блока обертки меню. В самом простом случае, скрипт удаляющий href выглядит так:

    <script>
    (function($) {
      $('.current-menu-item').find('a').removeAttr('href');
    }(jQuery));
    </script>

    Возможным альтернативным решением может стать дополнение файла functions.php используемой темы кодом:

    function no_link_current_page( $p ) {
        return preg_replace( '%((current_page_item|current-menu-item)[^<]+)[^>]+>([^<]+)%', '$1$3', $p, 1 );
    }
    add_filter( 'wp_nav_menu',   'no_link_current_page' );

    Если по какой-либо причине предложенные варианты вас не устраивают воспользуйтесь плагином “Remove Redundant Links” – wordpress.org/extend/plugins/remove-redundant-links.

    Почитать про ссылки можно тут – htmlbook.ru/html/a, а как правильно использовать jQuery в темах WordPress тут – jQuery + WordPress.

  2. Вопрос:
    Как сделать так, чтобы определенные виджеты отображались лишь на определенных страницах сайта, например, только в рубриках, а на других страницах их не было?

    Ответ:
    Можно воспользоваться плагином позволяющим определить условия для демонстрации виджетов, например, Dynamic Widgets – wordpress.org/extend/plugins/dynamic-widgets.

  3. Вопрос:
    Как сделать заголовок страницы более понятным для поисковиков, более оптимальным с точки зрения SEO? Каким кодом формируется заголовок у вас в блоге?

    Ответ:
    На своем блоге я формурую его так:

    <title><?php
    global $page, $paged;
    wp_title( '|', true, 'right' );
    bloginfo( 'name' );
    $site_description = get_bloginfo( 'description', 'display' );
    if ( $site_description && ( is_home() || is_front_page() ) )
    	echo " | $site_description";
    if ( $paged >= 2 || $page >= 2 )
    	echo ' | ' . sprintf( ( 'Страница %s' ), max( $paged, $page ) );
    ?></title>

    Этот код подсмотрен мной в какой-то популярной теме, он позволяет сформировать <title> так, чтобы помимо названия сайта и названия страницы, определялся и ее порядковый номер, если он есть.

    Возможно, в решении вопроса поисковой оптимизации Вам поможет моя заметка «Поисковая оптимизация средствами произвольных полей». Благодаря указанным решениям отпадает потребность в громоздком SEO-плагине.

Смело задавайте мне свои вопросы по электронной почте work@verha.net.
Об опубликованном ответе я проинформирую вас ответным сообщением.

Опубликовано

Обратите внимание на предыдущие записи: