【问题标题】:WordPress Archive Links not workingWordPress存档链接不起作用
【发布时间】:2015-05-13 06:00:56
【问题描述】:

被投入一个项目来修复 WordPress 网站上的存档链接。是别人的代码,比较乱。

问题:存档小部件在侧栏中显示正常,但链接本身不起作用。单击链接(例如 www.site.com/2015/03/)不会对帖子、页面加载进行排序,但只会对最近的帖子进行排序(尽管网址发生了变化)。

我的尝试:

  1. 已删除 .htaccess 文件
  2. 在设置中再次保存永久链接
  3. 关闭所有插件
  4. 替换了所有 WP 核心文件
  5. 更改了主题 - 注意:适用于 TwentyFifteen 主题

根据我的尝试,唯一有效的方法是更改​​主题。但这不是一个选择。我可以做些什么来帮助筛选代码,是否有任何故障排除提示?

感谢您的帮助!

修改 没有archive.php 页面。有一个自定义 blog.php 页面,这是它使用的循环。

 <?php 
                $temp = $wp_query; $wp_query= null;
    $wp_query = new WP_Query(); $wp_query->query('cat=' . get_cat_ID("Blog") . '&showposts=5' . '&paged='.$paged);
    while ($wp_query->have_posts()) : $wp_query->the_post();
                    ?>
                    <div id="post-<?php echo get_the_ID(); ?>" <?php echo post_class(); ?>>
                        <div class="eachPost">
                                <div class="postTitle"><a href="<?php the_permalink(); ?>" title="Title"><?php the_title(); ?></a></div>
                           <div class="postMeta">
                               by <?php the_author(); ?> on <?php the_time('F jS, Y'); ?>
                           </div>
                           <div class="entry">
                           <?php 
global $more;    // Declare global $more (before the loop).
$more = 0;       // Set (inside the loop) to display content above the more tag.
the_content('Read the rest of this entry &#10142;');
?>


                            </div><!-- entry -->
                        </div><!-- eachPost -->
                        <div class="postMetaComments">
                            <div class="postComments">
                                <?php comments_popup_link('No Comments ', '1 Comment ', '% Comments '); ?>
                            </div>
                            <div class="clear-both"></div>
                        </div>  <!-- postMetaComments -->
                    </div><!-- /#post-<?php echo get_the_ID(); ?> -->
    <?php endwhile; ?>

【问题讨论】:

  • 检查您的主题的 index.php 或 archive.php(如果存在)以查看查询是否是硬编码的。没有看到任何代码,没有什么可以说的。
  • 感谢@Kaloyan,存档正在通过侧边栏小部件包含在内。这就是他们输出帖子的方式,这就是您检查查询是否是硬编码的意思吗?

标签: wordpress


【解决方案1】:

以下可能被视为故障排除的第一步。您提到没有archive.php 文件。如果也没有 date.php 文件,请将粘贴在问题中的代码复制到主题文件夹中名为 date.php 的新文件中。将第一个 标记中的所有内容替换为:

while (have_posts()) : the_post();

根据您问题中的 cmets,我假设您知道在循环之前和之后再次包含 sn-ps。例如

get_header();

// Loop goes here

get_footer();

我曾经安装了一个 SEO 插件并检查了“禁用基于日期的存档”。我怀疑这将是您的场景中的问题,因为更改为 TwentyFifteen 主题可以解决问题。

【讨论】:

  • 谢谢!那固定的东西。我基本上复制了我的博客页面,在你的第一步交换,一切都很好。
  • 感谢您提供有关检查 Yoast SEO 是否已设置为“禁用基于日期的存档”的提示。已经为此跌倒了几次...
猜你喜欢
  • 1970-01-01
  • 2022-12-21
  • 2011-05-18
  • 2013-08-14
  • 2015-07-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多