Wordpress 自定义帖子类型和自定义分类

Posted

技术标签:

【中文标题】Wordpress 自定义帖子类型和自定义分类【英文标题】:Wordpress Custom Post Type and Custom Taxonomy 【发布时间】:2013-08-03 14:50:08 【问题描述】:

我在自定义帖子类型和自定义分类方面遇到问题。我创建了一个名为“gallery”的自定义帖子类型和名为“gallery_type”的分类法。我创建了一个名为 Gallery 的页面,我在其中加载了来自画廊的所有帖子。然后我创建了“花园”和“房屋”分类术语,并为每个“花园”和“房屋”分配了 3-3 个帖子。我将分类术语“花园”和“房子”作为子菜单链接到我现在的父母画廊。我想以各自的术语显示这些帖子。但它没有加载。我能做些什么 ?? 我的代码是:'

$tax = 'gallery_type';
$terms = get_the_terms($post->ID, $tax);
if($terms)
foreach($terms as $term)
$single = $term->name;
?>

    <?php
    $args = array('post_type'=>'galleries',
    'posts_per_page'=> -1,
    'tax_query'=>array(
    array('taxonomy'=>'gallery_type',
    'terms'=> $single)
    ),
    'order_by'=>'post_date');
    $query = new WP_Query($args);
    if($query->have_posts())
    while($query->have_posts()):
    $query->the_post();
    $post_id = $post->ID;
    ?>
    <li class="thumb <?php echo $post_id; ?>" onclick="changeContent(<?php echo $post_id; ?>);">
    <?php if(has_post_thumbnail())
    the_post_thumbnail('gallery-thumb');
    ?>

    <?php
    endwhile;
    wp_reset_query();
    
    else
    _e('No image found in gallery');
    
    '

Any fix???

【问题讨论】:

【参考方案1】:

尝试在分类术语的名称上使用 slug。

$tax = 'gallery_type';
$terms = get_the_terms($post->ID, $tax);
if($terms)
foreach($terms as $term)
$single = $term->slug;

// Also instead of this query for the taxonomy, as you are on the taxonomy page, you should use $single = $wp_query->query_vars['taxonomy_name']; <- This is the slug of the current viewed taxonomy

?>

    <?php
    $args = array('post_type'=>'galleries',
    'posts_per_page'=> -1,
    'tax_query'=>array(
    array('taxonomy'=>'gallery_type','field' => 'slug',
    'terms'=> $single)
    ),
    'order_by'=>'post_date');
    $query = new WP_Query($args);
    if($query->have_posts())
    while($query->have_posts()):
    $query->the_post();
    $post_id = $post->ID;
    ?>
    <li class="thumb <?php echo $post_id; ?>" onclick="changeContent(<?php echo $post_id; ?>);">
    <?php if(has_post_thumbnail())
    the_post_thumbnail('gallery-thumb');
    ?>

    <?php
    endwhile;
    wp_reset_query();
    
    else
    _e('No image found in gallery');
    

【讨论】:

以上是关于Wordpress 自定义帖子类型和自定义分类的主要内容,如果未能解决你的问题,请参考以下文章

如何为自定义帖子和分类法制作 Wordpress 存档页面?

Gatsby:在自定义帖子类型上使用 GraphQL 查询和自定义分类

Wordpress - 从自定义帖子类型中删除子菜单

未找到具有自定义分页 404 的自定义分类和自定义帖子类型

sql 用于禁用现有WordPress页面,帖子和自定义帖子类型的注释,引用和pingback的SQL命令。默认的WordPress

Wordpress注册自定义Post类型和自定义分类法