/ Wordpress / Пользовательские типы записей в основном цикле

Пользовательские типы записей в основном цикле

HIT

21.03.2016

1695

Пользовательские типы записей в категориях и метках

В начале шаблона category.php/tag.php надо поместить этот php фильтр. track — пример пользовательского типа записи.

<?php
// Добавляем поддержку пользовательских типов записей
add_filter( 'pre_get_posts', 'slug_cpt_category_archives' );
function slug_cpt_category_archives( $query ) {

$query->set( 'post_type',
array(
'post',
'track'
)
);

return $query;

}
?>

Поддержка пользовательских типов записей через funсtions

Вставляем в funсtions.php следующую функцию

function custom_type_post_main($query) {

      $query->set('post_type', array( 'post', 'track' ) );
}

add_action('pre_get_posts','custom_type_post_main');

При этом выделенную часть можно оборачивать любыми условиями (если категория, если главная страница, если какая-либо метка и т.д).

Пример, пользовательские типы записей в результатах поиска.

function search_filter($query) {
  if ( !is_admin() && $query->is_main_query() ) {
    if ($query->is_search) {
      $query->set('post_type', array( 'post', 'track' ) );
    }
  }
}

add_action('pre_get_posts','search_filter');

Пример, пользовательские типы записей поддерживаются в шаблонах категории и метке.

function custom_type_post_main($query) {
  
  if ( is_category() || is_tag() ) {

      $query->set('post_type', array( 'post', 'track' ) );
  }
  
}

add_action('pre_get_posts','custom_type_post_main');

|| — означает либо то, либо то
&& — означает и то и то

Иногда перед условием ставится ! — что это означает?

! — NOT, отрицание, т.е. нет такого-то условия
‘post_type’ => ‘any’ — изучить что это

Варианты условий

WP_Query Object
(
    [query_vars] => Array
        (
            [page] => 
            [pagename] => blog
            [error] => 
            [m] => 0
            [p] => 0
            [post_parent] => 
            [post_type] =>
            [subpost] => 
            [subpost_id] => 
            [attachment] => 
            [attachment_id] => 0
            [name] => 
            [static] => 
            [page_id] => 0
            [second] => 
            [minute] => 
            [hour] => 
            [day] => 0
            [monthnum] => 0
            [year] => 0
            [w] => 0
            [category_name] => 
            [tag] => 
            [cat] => 
            [tag_id] => 
            [author_name] => 
            [feed] => 
            [tb] => 
            [paged] => 0
            [comments_popup] => 
            [meta_key] => 
            [meta_value] => 
            [preview] => 
            [s] => 
            [sentence] => 
            [fields] => 
            [category__in] => Array
                (
                )

            [category__not_in] => Array
                (
                )

            [category__and] => Array
                (
                )

            [post__in] => Array
                (
                )

            [post__not_in] => Array
                (
                )

            [tag__in] => Array
                (
                )

            [tag__not_in] => Array
                (
                )

            [tag__and] => Array
                (
                )

            [tag_slug__in] => Array
                (
                )

            [tag_slug__and] => Array
                (
                )

        )

    [tax_query] => 
    [meta_query] => 
    [post_count] => 0
    [current_post] => -1
    [in_the_loop] => 
    [comment_count] => 0
    [current_comment] => -1
    [found_posts] => 0
    [max_num_pages] => 0
    [max_num_comment_pages] => 0
    [is_single] => 
    [is_preview] => 
    [is_page] => 
    [is_archive] => 
    [is_date] => 
    [is_year] => 
    [is_month] => 
    [is_day] => 
    [is_time] => 
    [is_author] => 
    [is_category] => 
    [is_tag] => 
    [is_tax] => 
    [is_search] => 
    [is_feed] => 
    [is_comment_feed] => 
    [is_trackback] => 
    [is_home] => 1
    [is_404] => 
    [is_comments_popup] => 
    [is_paged] => 
    [is_admin] => 
    [is_attachment] => 
    [is_singular] => 
    [is_robots] => 
    [is_posts_page] => 1
    [is_post_type_archive] => 
    [query_vars_hash] => 41032f87127fba65fb6743b1e97d8662
    [query_vars_changed] => 
    [thumbnails_cached] => 
    [query] => Array
        (
            [page] => 
            [pagename] => blog
        )

    [queried_object] => stdClass Object
        (
            [ID] => 16
            [post_author] => 1
            [post_date] => 2012-01-31 17:23:57
            [post_date_gmt] => 2012-01-31 17:23:57
            [post_content] => 
            [post_title] => Blog
            [post_excerpt] => 
            [post_status] => publish
            [comment_status] => open
            [ping_status] => open
            [post_password] => 
            [post_name] => blog
            [to_ping] => 
            [pinged] => 
            [post_modified] => 2012-01-31 17:23:57
            [post_modified_gmt] => 2012-01-31 17:23:57
            [post_content_filtered] => 
            [post_parent] => 0
            [guid] => 

Поделиться в соц. сетях:

  • Комментарии
  • Вложения

Добавить комментарий

Пока нет комментариев. Будь первым!

Пользовательские типы записей в основном цикле
Специфический раздел товаров
Рекомендации для васСпецифический раздел товаровOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.