避免将自定义帖子类型的缩略图拉到标题图像中

时间:2018-07-06 03:39:24

标签: wordpress thumbnails custom-post-type

我试图通过Google搜索解决方案并尝试使用PHP和JS,但是没有运气,所以我需要Wordpress专家的帮助。

一个客户的站点工作问题,我遇到的是自定义帖子类型。

其中一个模板将获取我最后一个海关职位类型的缩略图图像之一作为页面标题图像。
如果我删除模板中的自定义帖子类型循环,则功能图片将返回到默认的WP页面功能图片。 (<---这就是我想要的)

如何避免标题部分从自定义帖子类型缩略图中拉出?

Worpdress版本:4.8

——————这是标题图像显示方式的代码————-

footer.php

</div>
    <?php 
    if(is_category()):
        $cat_id=get_cat_id(single_cat_title('',false));
        $img=get_option("taxonomy_".$cat_id);
        $url=$img['img'];
        else:
        global $post;
        $post_id = $post->ID; 
        if(has_post_thumbnail($post_id)):
            $url=wp_get_attachment_url(get_post_thumbnail_id($post_id));
        else:
            $url=get_template_directory_uri().'/img/banner.jpg';
        endif;
    endif;
        ?>

<script>
    $(function() {
      $.vegas({
        src:'<?php echo $url;?>' , fade:500, 
      });
      $.vegas('overlay', {
        src:'<?php bloginfo('template_directory');?>/img/06.png'
      });
      $('.carousel').carousel()
    });
    </script>

这是模板自定义帖子类型循环

如果我删除此循环,则将显示标题的默认页面功能图片。

template.php

  <div id=”test”>
  <?php
  $args=array(‘post_type’=>’services’,’meta_key’=>’level’,’orderby’=>’meta_value_num’,’order’=>’ASC’);
  $query=new WP_Query($args);
  while($query->have_posts()): $query->the_post();
  ?>
   <a href=”<?php the_permalink();?>”>
    <div class=”col-md-4 col our-services-page”>
     <?php $font=get_post_meta(get_the_ID(),’_font_image’,false);?>
     <span class=”icn <?php echo $font;?>”></span>
      <div id=”overly”>
         <?php the_post_thumbnail(‘medium’); ?>
         <?php echo get_field(‘excerpt’, get_the_ID());?>
     </div>
    <h3><?php the_title();?></h3>
   </div>
  </a>
  <?php
  endwhile;
  ?>
  </div>

这是我尝试但不起作用的

  1. 我使用jquery来定位该页面ID和img元素来替换图像,我将其添加到模板的末尾,只是尝试先进行测试,但不能正常工作,但是可以在chrome控制台上正常工作。

  2. 我将ifer语句更改为footer.php,但所有标题图片都不会显示。

    if(is_category()):
    $cat_id=get_cat_id(single_cat_title('',false));
    $img=get_option("taxonomy_".$cat_id);
    $url=$img['img'];
    else:
    global $post;
    $post_id = $post->ID; 
    if(has_post_thumbnail($post_id)):        
    $url=wp_get_attachment_url(get_post_thumbnail_id($post_id));
    
    /*code I add target page id*/
    elseif(is_page(886)):
    $url=get_template_directory_uri().'/img/banner.jpg';
    /* end of code I add*/
    
    else:
    $url=get_template_directory_uri().'/img/banner.jpg';
    endif;
    endif;
    ?>
    

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

感谢@Sally CJ的帮助,我添加了

<?php wp_reset_query(); ?>

在endwhile循环之后,我的问题消失了。 可以检查documentation here.