【问题标题】:Wordpress Custom Post Types and fieldsWordpress 自定义帖子类型和字段
【发布时间】:2014-03-02 15:12:58
【问题描述】:

我有两种自定义帖子类型……

书籍和书籍作者。

我想……

在其各自的作者页面上列出作者的所有书籍。

如果我有 10 本书斯蒂芬金的书。我想在 STEPHEN KING 页面上列出所有(而且只有他的)。我很难弄清楚如何查询帖子来做到这一点。

有什么建议吗?如果有帮助,我正在使用高级自定义字段插件,但不知道如何查询和显示此帖子信息。

我目前使用以下代码显示我的所有版本,但如何在其特定作者页面上获取特定版本?

<?php
     $args=array(
     'post_type' => 'book',
     'post_status' => 'publish',
     'posts_per_page' => 12,
     'caller_get_posts'=> 1,
     'orderby'=> 'date',
     'order' => 'DESC'
     );
     $my_query = null;
     $my_query = new WP_Query($args);
     if( $my_query->have_posts() ) {
     echo '';
     $i = 0;
     while ($my_query->have_posts()) : $my_query->the_post();
     if($i % 6 == 0) { ?>
<div class="row">    
<?php
}
?>

<img src="<?php the_field('cover_image'); ?>" /><br />
<?php the_field('author_name'); ?><br />
<?php the_title(); ?><br />

</div>

<?php    
if($i % 6 == 0) { ?> 

<?php
}

$i++;
endwhile;
 } 
wp_reset_query();
?>

【问题讨论】:

    标签: wordpress custom-post-type advanced-custom-fields


    【解决方案1】:

    我做了类似的事情,但是......

    这里的主要问题是,您如何对这些书进行分类?您是否为此创建了分类法?这些分类法实际上是作者的名字?我的意思是,你是如何确定一本书属于某个作者的?

    【讨论】:

    • 作者的名字在 Wordpress 中被设置为类别。我使用它们来过滤每个作者页面上的常规新闻/博客文章。也许我们可以将这些类别附加到每本书中,以便将它们放在每个作者的页面上?
    【解决方案2】:

    这就是诀窍。然后您可以按类别查询。在这种情况下,类别必须与作者页面 slug 相同。您将使用该数据来查询帖子。

    在我的例子中,我所做的是创建一个函数,一旦创建了作者页面,就会创建一个具有相同名称和 slug 的分类。所以你不需要手动创建这两个具有相同名称和 slug 的东西。比如:

    <?php$myposts = get_posts(array(    'showposts' => -1,     'post_type' => 'books',     'tax_query' => array(        array(        'taxonomy' => 'author_book',         'field' => 'slug',         'terms' => array(AUTHOR_SLUG));    )));
    

    注意 AUTHOR_SLUG 可能是一个数组,例如 "pete","paul"。

    "author_book" 只是分类学的标签。在你的情况下必须只是“category_cat”

    你可以在你的循环中使用这些参数。

    【讨论】:

    • 这看起来更好,但仍然不确定。我所有的作者页面都是动态生成的自定义帖子。我如何知道我在哪个帖子上以引入正确的类别 BOOK 以匹配?也就是说,我不能为 100 个作者创建 100 个模板来命名他们独特的 slug/类别。我怎么知道我在斯蒂芬金的页面上并且只需要引入斯蒂芬金的书?
    • 只需使用 post slug 作为类别 slug。创建一个模板 single-author.php,在那里回显 post slug。该 slug 是您需要在查询中用作类别术语的那个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-17
    • 2018-01-29
    • 2013-08-03
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多