如何在我的主页上指定类别帖子

时间:2018-11-13 作者:matthias screed

我的主页显示所有帖子,如下所示:enter image description here

我显示在一个网格中,该网格仅显示其中的3个:

<div class="Jobs">
            <?php

                if(have_posts()) {
                    $nbpostes = count(the_post());
                    while ($nbpostes < 3) :
                        the_post();
                            echo\'<div class="info_Job">\';
                                echo \'<h2>\'.get_the_title().\'</h2>\';
                                echo get_the_post_thumbnail().\'</div>\';
                                $nbpostes++;
                    endwhile;

                }
            ?>
        </div>
我想知道,当我们点击图片时,如何将每篇帖子作为链接链接到另一个网站?以及如何定义要显示的帖子类型,例如:enter image description here

如果有人能帮忙,谢谢。

1 个回复
最合适的回答,由SO网友:rudtek 整理而成

您确实应该使用自定义贴子来完成您想做的事情,但要回答您的问题,这里有一个解决方案(将其放在functions.php文件中):

add_shortcode( \'job-posts\', \'rt_list_posts_by_category\' );
function rt_list_posts_by_category($atts) {

  $a = shortcode_atts( array(
        \'link1\' => \'#\',
        \'link2\' => \'#\',
        \'link3\' => \'#\',
    ), $atts );

  // arguments for function rt_list_posts_by_category

  $taxonomy = \'jobs\';

  // WP Query
  $args = array(
    \'category_name\' => $taxonomy,
    \'post_type\' => \'post\',
    \'posts_per_page\' => 3,
  );
  $query = new WP_Query( $args );

  $i=1;
  if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); 
      if ($i==1) {
           $link= $a[\'link1\'];
         }elseif($i==2) {
           $link= $a[\'link2\'];
         }else{
           $link= $a[\'link3\'];      
         };?>
      <div class="info_Job"><a href="<?php echo $link; ?>">
        <h2><?php the_title();?></h2>
        <?php the_post_thumbnail();?></a>
      </div>
    <?php $i++;
    endwhile;   
    wp_reset_postdata();
  ?>
  <?php else: ?>
    <h2>No posts found</h2>
  <?php endif;
}
现在,在您想列出jobs类别中最近3篇帖子的页面上,只需输入以下短代码:

[job-posts link1="1" link2="2" link3="3"]
有几个注意事项。

这是你的开始,而不是成品。输出上根本没有安全性。

对于上面的每个链接,请将报价中的内容替换为您希望为3个工作中的每个工作提供的链接。如果你想得到第一份工作,请访问www.example。com将1替换为http://www.example.com...like 因此(请注意,在这种情况下需要添加http://www.cn,否则它将链接到您网站上的一个页面):

[job-posts link1="http://www.example.com" link2="2" link3="3"]
它将直接将用户带到该链接进行第一篇文章,(没有添加空白)

我没有做任何检查,以防也没有缩略图。如果需要的话,可以添加。

结束

相关推荐

Grouping posts by date

我正在尝试按日期将我在索引页上的帖子分组。例如:日期11号岗位2号岗位3号岗位日期21号岗位2号岗位3号岗位出于某种原因,我总是在每个日期下发帖子。这是我的密码,我想不出哪里出了问题<?php $args = array(\'posts_per_page\' => -1, \'orderby\' => \'date\' ); $myQuery = new WP_Query($args); $date = \'\'; if ( $myQuery->ha