更改页面模板以在Wordpress中显示自定义帖子类型

时间:2018-02-18 20:19:09

标签: php wordpress custom-post-type genesis

我有很长时间以前由其他人开发的这个页面模板,它根据他们所在的类别在网格中显示我的所有帖子。

现在,我希望我的自定义帖子类型有这样的页面,但我无法让它工作。我试过替换

<?php if (have_posts()) : while (have_posts()) : the_post();?>

<?php $args = array('post_type'=>array('shopitems')); query_posts($args); if ( 
have_posts() ) : while ( have_posts() ) : the_post();?>`

这似乎是我看到的每个地方的首选答案。但对我来说,事实证明是空洞的。 在原始页面模板下方,我想更改此内容,以便加载“购物项目”。自定义帖子类型。

非常感谢任何正确方向的帮助或点头!

<?php get_header(); ?>
<div class="content-sidebar-wrap">
    <?php if (have_posts()) : while (have_posts()) : the_post();?>
  <?php $category_list= get_the_content(); ?>
<?php endwhile; endif; ?>
    <div id="content" class="post-category page">
    <?php $category_name=explode(',', $category_list);
     $catIDs="";
        foreach ($category_name as $cat_name) {
            $catIDs.= get_cat_ID(trim($cat_name)).",";
          } 
          $catIDs=trim($catIDs,","); 
          $i=0;
    ?>  
        <?php $thePosts= query_posts('cat='.$catIDs.'&post_status=publish&posts_per_page=-1'); ?>
        <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
     <?php if (has_post_thumbnail( $post->ID ) ) { ?>
        <?php // $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?>
        <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ) ); ?>
       <?php if($i%4==0) { ?>
       <div class="clear"></div>
       <?php } $i++; ?>
      <div class="thumb">
        <a href="<?php the_permalink(); ?>">
         <img alt="" src="<?php echo $image[0]; ?>" class="thumb-img"> 
         <span class="thumb-title">
            <?php 
            $second_name = get_field('second_name');
            if( $second_name && !empty($second_name))
                echo $second_name;
            else
            the_title(); 
            ?>
         </span> 
        </a>
      </div>
        <?php } endwhile; else: endif; ?>
    </div>
</div>
<?php get_footer(); ?>

1 个答案:

答案 0 :(得分:0)

Just you need to modify your query like below.

<?php 
$args = array(
           'post_type'=>'shopitems'
        );
 $query = new WP_Query($args);
if ($query->have_posts() ) : 
while ( $query->have_posts() ) : $query->the_post();
//do your code here

endwhile;

else:
  // No posts found
endif;


?>`