每个自定义 post 类型文件的自定义部分

Custom sections per custom post type file

所以我正在努力实现这一点:

我已经创建了自定义 post 类型,并且有一个自定义 post 类型我想要其中的可变部分。那个 post 类型是 "workarea"。该自定义 post 类型有四个 post(主页)。

在这些页面的底部,有一个相关的 post 部分。

其中每一个都应该显示不同的相关 post。但是,我使用 "single-workarea.php" 作为自定义 post 类型模板。所以没有办法(至少我知道)创建一个循环来显示不同的相关 posts,应该每页显示。

如果我编辑该循环,它适用于(显然)来自自定义 post 类型 "workarea" 的所有页面。

有没有办法在 post 类型 php 文件中创建 variable/custom 部分?

一个解决方案是我删除 post 类型,只创建带有模板名称的页面,例如 "workarea",但问题是,每当我的客户想要添加新 post 类型 "workarea",他必须来找我,这样我才能创建一个新的 php 文件。

希望我解释清楚了

提前致谢!

答案是根据我们在评论部分讨论的内容进行的。我们必须不断改进它,直到达到预期的结果。

如评论部分所述,我们应该可以通过自定义循环来实现。

如果您选中 WP_Query docs,它会向您显示所有可以根据 $args 数组

过滤搜索的方法

单-workarea.php

<?php 
    // get current post category,
    // assumes there is only ONE category assigned to the current post

    $category = get_the_category( get_the_ID() ); 

    $args = array(        
        'posts_per_page' => -1, // get all posts
        'orderby' => 'random', // randomly get posts
        'post_type' => ['food', 'staff', 'themes'], // search only these post types
        'post_status' => 'published', // only get published posts
        'cat' => $category[0]->term_id // search posts only with this category ID
     );
    $the_query = new WP_Query( $args );

    while ( $the_query->have_posts() ) {
      $the_query->the_post();
      //echo related post data...
      echo '<a href="'. get_permalink() .'">' . get_the_title() . '</a>';
    }

    wp_reset_postdata();
?>

综合以上,你应该可以得到你所需要的,或者接近于它。

所以我用高级自定义字段分类字段解决了这个问题。

现在是循环:

<?php
        $relevant = get_field('relevante_posts_categorie');

        $postid = get_the_ID();
        $loop = new WP_Query( array(
            'post_type' => 'actueel',
            'posts_per_page' => 3,
            'category__in' => $relevant,
            'post__not_in'=> array($postid),
          )
        );
        ?>
        <?php while ( $loop->have_posts() ) : $loop->the_post(); ?>
          <a href="<?php the_permalink();?>">
            <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3 relevant__item">
              <div class="thumbnail__wrapper">
                <div class="thumbnail" style="background-image:url('<?php the_field('thumbnail');?>');"></div>
              </div>
              <div class="title">
                <h4><?php the_title();?></h4>
              </div>
            </div>
          </a>
        <?php endwhile; wp_reset_query(); ?>

分类字段得到类别 I select。现在可以自定义我要显示的 post。剩下要做的唯一一件事就是创建多个查询循环,我在其中定义自定义 post 类型。

感谢您的帮助。