WordPress同一类别中的下一篇/上一篇帖子不起作用

时间:2019-08-03 作者:amir rasabeh

我使用以下代码获取同一类别中的下一个/上一个链接

在localhost中,它工作得很好,但在我的Cpanel主机中工作得不好以下代码:首先,获取当前的id帖子和类别,然后按日期保留帖子

在WordPress中,我按时间定期发布文章。

我有20篇帖子,我想在所有20篇帖子中显示next/prev按钮,但只在4篇帖子中显示

    <?php 
    $post_id = $posts->ID; // current post id
    $cat = get_the_category(); 
    $current_cat_id = $cat[0]->cat_ID; // current category id

    $args = array(\'category\'=>$current_cat_id,\'orderby\'=>\'post_date\',\'order\'=> \'DESC\');
    $posts = get_posts($args);
    // get ids of posts retrieved from get_posts
    $ids = array();
    foreach ($posts as $thepost) {
        $ids[] = $thepost->ID;
    }
    // get and echo previous and next post in the same category
    $thisindex = array_search($post->ID, $ids);
    $previd = $ids[$thisindex-1];
    $nextid = $ids[$thisindex+1];

    if (!empty($previd)){
    ?>
    <a class="ls-right w3-btn prev"el="prev" href="<?php echo get_permalink($previd) ?>">PreLink</a>
    <?php
    }
    if (!empty($nextid)){
    ?>
    <a  class="ls-left w3-btn " href="<?php echo get_permalink($nextid) ?>">NextLink</a>
    <?php
    }

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

我使用以下代码在同一帖子类别中显示下一个/上一个链接,并对我正常工作。

<?php


 get_template_part( \'content\', get_post_format() );

 // Previous/next post navigation.
 previous_post_link(\'%link\', \'Before\', true );
 next_post_link( \'%link\', \'Next\', true );

 ?>
对于CSS样式化的“%link”元素,我在函数中使用此代码。php文件。

  /////Next/Prev post style

  add_filter(\'next_post_link\', \'next_post_link_attributes\');
  add_filter(\'previous_post_link\', \'previous_post_link_attributes\');

   function next_post_link_attributes($output) {/// Styling next link

     $injection = \'class="ls-left w3-btn"\';
     return str_replace(\'<a href=\', \'<a \'.$injection.\' href=\', $output);

    }

  function previous_post_link_attributes($output) {/// Styling previous link

   $injection = \'class="ls-right w3-btn prev"\';
   return str_replace(\'<a href=\', \'<a \'.$injection.\' href=\', $output);

   }
Top code: 我使用两种不同的功能“previous_post_link_attributes“和”next_post_link_attributes“因为我想为nex/pre链接添加不同的CSS样式

如果要将相同样式添加到下一个/前一个链接,可以使用一种方法:

add_filter(\'next_post_link\', \'post_link_attributes\');
add_filter(\'previous_post_link\', \'post_link_attributes\');

function post_link_attributes($output) {
$injection = \'class="my-class"\';
return str_replace(\'<a href=\', \'<a \'.$injection.\' href=\', $output);
}
有关下一个/预链接的更多信息-->wpcodex ,masternsblog ,wp-stack

相关推荐

Show pagination in WP_Query

我正在编写一个foodblog,并试图在特定页面中显示收藏夹帖子列表,但我对分页有一些问题。我在前面的问题中尝试了不同的解决方案,但都没有解决问题。非常感谢 <?php $my_favs = get_user_meta(get_current_user_id(), \'user_favs\', true); $args = array( \'post_type\' => array(\'recipe\', \'post