【发布时间】:2026-01-14 00:55:01
【问题描述】:
我有一个 query 到 fetch 所有来自自定义帖子类型 device 的帖子,我想每页显示 3 个帖子。使用next 和previous 链接,我可以导航到另外3 个帖子可以看到的下一页。它与默认的 permalink 完美配合,即
//the default permalink of wordpress
http:mywebsite/?p=123
我需要将其更改为 Post name 用于 SEO 目的,如下所示:
http:mywebsite/sample-post/
然后突然出现问题。
我搜索并阅读了更多博客/文章,但找不到任何有用的建议。我被这个问题困住了,这让我很头疼。
顺便说一句,我使用了这个查询:
<?php
if (have_posts()) : {
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts('showposts=3&post_type=advice'.'&paged='.$paged);} ?>
<ul class="adviceLandingPage">
<?php while(have_posts()) : the_post(); ?>
<li>
<span><?php the_title(); ?></span>
<span><?php $excerpt = get_the_excerpt(); echo string_limit_words($excerpt,20); ?></span>
</li>
<?php endwhile; ?>
<li class="navigation">
<?php posts_nav_link(); ?>
</li>
</u>
<?php endif; ?>
感谢您的任何建议。
编辑:
当我导航到下一页时,我假设会看到接下来的 3 个帖子,这是错误 Page not found。
这是将永久链接更改为 %postname% 后的 .htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /bryan/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /bryan/index.php [L]
</IfModule>
# END WordPress
【问题讨论】:
-
您能否提供更多信息,例如发生的错误是什么,或者您能否发布指向该网站的链接以便我们查看问题?
-
当我浏览下一页时,错误是这个
page not found -
我们真的没有足够的时间继续下去。问题似乎与循环无关,因此包含的代码无济于事。一些有助于解决问题的想法 - 导航中是否生成了正确的 url?您使用的是自定义主题吗?
-
只有当我将永久链接更改为
Post name但我使用默认永久链接时才会出现问题,导航到下一页没有问题。 -
想要解决这个问题非常困难,一个 WP 网站有很多因素。此链接可能会有所帮助theme-fusion.com/knowledgebase/…
标签: php apache .htaccess wordpress