Поддержка Проблемы и решения Теги (метки) для страниц

  • Люди,

    3 дня копаюсь, плз помогите: как добавить возможность добавления к страницам меток, также как к записям?

    Без плагина, имеется в виду, т.к. плугин проблему решающий, известен.

    Заранее гран мерси.

Просмотр 7 ответов — с 1 по 7 (всего 7)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Если речь именно о штатных метках — можно добавить подобный фрагмент в functions.php активной темы:

    function add_tags_for_pages() {
    	register_taxonomy_for_object_type( 'post_tag', 'page' );
    }
    add_action( 'init', 'add_tags_for_pages' );
    
    function add_pages_to_tag_queries( $wp_query ) {
        if ( $wp_query->is_tag() )
            $wp_query->set(  'post_type', array( 'post', 'page' ) );
    }
    add_action( 'pre_get_posts', 'add_pages_to_tag_queries' );

    Если для страниц нужен отдельный набор меток, можно создать произвольную таксономию: http://codex.wordpress.org/Function_Reference/register_taxonomy

    О, какие люди!

    Гер Бирюков, речь идет именно о штатных метках, но для страниц, не для постов. Это оно? 🙂

    Очень спасибо!

    Очень интересно: работает со стандартной темой последней версии, но не работает с другими темами. Интересно почему.

    Еще раз гран мерси.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    не работает с другими темами

    Например, с какими? Предполагаю, что нужно просто добавить вывод меток в шаблон страницы.

    да тут скачал парочку, а с ними нету вывода меток в странице.

    А как добавлять вывод меток в шаблон страницы, что-то не воткнусь?

    Люди, реальный стресс, прошу помощи.

    По какой причине код указанный выше работает в стандартной теме, но не работает в других?

    Все, нашел. ПОмогло как всегда бесконечное экспериментирование и преиодическое включение мозгов. 🙂

    ВОбщем, если кому надо и вышеуказанный Сергеем код в некой теме не работает, то проблема может быть решена, если введете еще и следующее в файл functions.php:

    add_action( 'init', 'add_tags_for_pages' );
    
    function add_pages_to_tag_queries( $wp_query ) {
    if ( $wp_query->is_tag() )
    $wp_query->set( 'post_type', array( 'post', 'page' ) );
    }
    add_action( 'pre_get_posts', 'add_pages_to_tag_queries' );

    Еще важно, чтобы был файл tags.php, но это все зависит от темы к теме.
    Тема решена.
    РГ

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