上一篇和下一篇帖子链接不起作用

时间:2014-08-08 作者:hambos22

单件。我尝试在循环中添加的phpprevious_post_linknext_post_link. 但当视图是站点的源时,不会渲染任何内容。我添加了previous_post_link 内部h4 标记以便更好地查看。通常我会加进去pagination-bottom. 为什么会这样?

这是我的密码

    <?php if (have_posts()) : ?>
    <?php while ( have_posts() ) : the_post(); ?>
        <div class="single-post-wrap col-8 push-2">
            <div class="single-post-feat-img">
                <figure>
                    <?php the_post_thumbnail(\'news-thumb-single-post\') ?>
                </figure>
            </div>
            <article>
                <h4><?php echo get_the_title(); ?></h4>
                <h6><?php echo get_the_date(); ?></h6>
                <hr>
                <p><?php the_content(); ?></p>
                <h4><?php previous_post_link(\'%link\', \'Pre Post\', TRUE); ?></h4>
                <hr>
            </article>
            <div class="pagination-bottom">
                <div class="pre-post">
                <a href=""><i class="fa fa-angle-left"></i>Προηγούμενο</a>
                </div>
                <div class="next-post"><a href="">Επόμενο<i class="fa fa-angle-right"></i></a>
                </div>
            </div>
        </div>   
    <?php endwhile; ?>
<?php endif; ?>

3 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

EDIT

指的是previous questions 我回答说,您正在使用自定义分类法,因此这很可能是您的问题。然后必须设置taxonomy 相应的参数。查看我的原始答案

ORIGINAL ANSWER

这里有一些东西需要检查

你的next_post_link. 您是否默认遗漏了?

是否使用默认类别或自定义分类法。当$in_same_term 参数设置为true时taxonomy 参数默认设置为category. 如果使用自定义分类法,则必须设置taxonomy 自定义分类的参数

如果这些都符合要求,请尝试使用214主题的导航,看看会发生什么。

function twentyfourteen_post_nav() {
    // Don\'t print empty markup if there\'s nowhere to navigate.
    $previous = ( is_attachment() ) ? get_post( get_post()->post_parent ) : get_adjacent_post( false, \'\', true );
    $next     = get_adjacent_post( false, \'\', false );

    if ( ! $next && ! $previous ) {
        return;
    }

    ?>
    <nav class="navigation post-navigation" role="navigation">
        <h1 class="screen-reader-text"><?php _e( \'Post navigation\', \'twentyfourteen\' ); ?></h1>
        <div class="nav-links">
            <?php
            if ( is_attachment() ) :
                previous_post_link( \'%link\', __( \'<span class="meta-nav">Published In</span>%title\', \'twentyfourteen\' ) );
            else :
                previous_post_link( \'%link\', __( \'<span class="meta-nav">Previous Post</span>%title\', \'twentyfourteen\' ) );
                next_post_link( \'%link\', __( \'<span class="meta-nav">Next Post</span>%title\', \'twentyfourteen\' ) );
            endif;
            ?>
        </div><!-- .nav-links -->
    </nav><!-- .navigation -->
    <?php
}
只需使用twentyfourteen_post_nav() 在你的单曲里。php

EDIT 2

我对你的代码做了一些修改。这是变化

不要使用echo get_the_title()echo get_the_date(). 只需使用返回的函数即可the_title()the_date

我已删除<h4><?php previous_post_link(\'<p id="next-link">%link</p>\', \'Next Post\', TRUE); ?></h4> 从您的内部<article> 标签

我已经把里面的东西都搬走了<div class="pagination-bottom"></div> 并将其替换为214导航功能

经过测试,这对我来说非常有效。现在您只需修改我在ORIGINAL ANSWER 满足您的需求。这是你的单曲。php在我测试时进行了修改,并且可以正常工作。希望这对你也有用

<?php get_header(); ?>
<div class="wrapper">
    <section class="container-12">
    <?php if (have_posts()) : ?>
    <?php while ( have_posts() ) : the_post(); ?>
        <div class="single-post-wrap col-8 push-2">
            <div class="single-post-feat-img">
                <figure>
                    <?php the_post_thumbnail(\'news-thumb-single-post\') ?>
                </figure>
            </div>
            <article>
                <h4><?php the_title(); ?></h4>
                <h6><?php the_date(); ?></h6>
                <hr>
                <p><?php the_content(); ?></p>

                <hr>
            </article>
            <div class="pagination-bottom">
              <?php twentyfourteen_post_nav(); ?>
            </div>
        </div>

    <?php endwhile; ?>
<?php endif; ?>
    </section>
    <div class="clear"></div>
    <div class="push"></div>
</div>
<?php get_footer(); ?>

EDIT3

你的代码似乎与你的问题无关,Wordpress似乎没有得到下一篇或上一篇文章,这就是为什么你的链接没有显示出来。调试问题的步骤。在每一步之后,检查您的问题是否仍然存在

将debug设置为true并检查是否有任何错误。另请阅读Debugging Wordpress

通过按Ctrl键和F5键清除浏览器缓存。此外,如果您安装了任何缓存插件,请清除它们的缓存

逐个禁用所有插件。停用特定插件后,请刷新站点并检查问题是否仍然存在

如果失败,请切换到bundled themes 大概十四岁吧。再次测试站点

如果问题仍然存在,Wordpress核心文件可能已损坏。如果您怀疑,请备份完整的数据库,然后重新安装wordpress。Wordpress 3.9.2刚刚发布,所以进行升级

EDIT 4

根据您的评论,

我重新安装了wordpress核心文件,我禁用了所有插件,我切换到了214个,但什么都没有。然后我部署了另一个wordpress安装。这不是妈妈的错。我肯定是数据库的错。因为对于一个全新的wordpress数据库,上一个和下一个功能可以完美地工作

这显然不是代码的问题。这似乎是一个永久性的问题,或者正如你所说的,可能是一个DB问题。下载并安装WP_DBManager, 修复并优化数据库,看看问题是否得到解决。

EDIT 5

我想隧道的另一边可能有亮光。中的用户this post 有同样的问题,但这些答案都不起作用,考虑到这些解决方案已经过尝试和测试,这相当令人困惑。

从用户对自己问题的回答来看,似乎找到了罪魁祸首。他正在使用批量创建者创建帖子,这导致他的分页失败。看看他的答案here

EDIT 6 RESOLVED

根据OP的评论,这个问题是由重复的帖子引起的。

SO网友:Philip Newcomer

中的第三个参数previous_post_link() 函数调用设置为true, 这将把所有结果限制在与当前职位类别相同的职位上。尝试将第三个参数设置为false (或将其完全移除),看看这是否会产生影响。

如果第三个参数是有意设置的,请确保您实际拥有与当前帖子相同类别的帖子。如果使用自定义分类法,则需要将自定义分类法名称指定为第五个参数:

previous_post_link( \'%link\', \'Pre Post\', TRUE, \'\', \'my_custom_taxonomy\' );

SO网友:Brad Dalton

用这个替换所有分页代码,并更改类以匹配CSS,或者您可以搜索二十个十二主题样式的代码中包含的类。css文件。

<nav class="nav-single">
<span class="nav-previous"><?php previous_post_link( \'%link\', \'<span class="meta-nav">\' . _x( \'&larr;\', \'Previous post link\', \'twentytwelve\' ) . \'</span> %title\' ); ?></span>
<span class="nav-next"><?php next_post_link( \'%link\', \'%title <span class="meta-nav">\' . _x( \'&rarr;\', \'Next post link\', \'twentytwelve\' ) . \'</span>\' ); ?></span>
</nav><!-- .nav-single -->

Basic CSS

.nav-previous {
    float: left;
    width: 50%;
}

.nav-next {
    float: right;
    text-align: right;
    width: 50%;
}
资料来源:Twenty Twelve

结束

相关推荐

Wordpress loop is not working

有人能告诉我为什么wordpress的博客会反复循环标题和横幅吗?似乎不仅仅是循环帖子,而是循环整个页面。此代码在我的内容中。php文件。任何帮助都将不胜感激。以下是我的博客链接:http://testing.printlabelandmail.com/blog/<?php /** * The default template for displaying content. */ get_header(); ?> <!-- Start T