我正在使用WP_query从自定义帖子类型中获取项目列表。我的代码如下:
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$loop = new WP_Query( array( 'post_type' => array('recepten'), 'posts_per_page' => 2, 'paged'=>$paged ));
如果我将固定链接设置设置为标准,我可以在此处查看带有帖子的第二页:/?page_id = 8&amp; paged = 2,但是当我将固定链接设置设置为“帖子名称”时,此页面给出我是404:/ recepten / page / 2 /
也许值得注意的是,我正在尝试使用Pagenavi插件来使分页工作(因为我似乎无法在没有插件的情况下使其工作)。虽然我认为网址也应该在不使用插件的情况下工作。
提前致谢!
额外(不太相关)的问题:是否可以将/ recepten / page / 2中的网址更改为/ recepten / 2?
编辑:我解决了这个问题。问题是帖子类型的名称与包含查询的页面的slug相同。更改帖子类型的名称解决了它。
答案 0 :(得分:1)
使用自定义永久链接结构
https://codex.wordpress.org/Using_Permalinks
答案 1 :(得分:0)
这些解决方案可能会解决几个问题:
.htaccess 文件没有启用写入问题或重写模块:
1.1。更改权限chmod 666 .htaccess ,然后更改永久链接设置并保存以查看更新的永久链接。打开 .htaccess 文件,将内容视为:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]<br>
RewriteCond %{REQUEST_FILENAME} !-f<br>
RewriteCond %{REQUEST_FILENAME} !-d<br>
RewriteRule . /index.php [L]<br>
</IfModule>
现在将文件权限恢复为644并刷新页面以查看链接。
1.2。 sudo a2enmod重写然后 sudo systemctl restart apache2 并立即检查链接。
编辑编辑 /etc/apache2/sites-available/000-default.conf 如果您尚未配置虚拟主机并添加突出显示的虚拟主机
<Directory /var/www/html/wordpress directory>
**AllowOverride All**<br>
**Require all granted**
</Directory>
如果您已配置虚拟主机,则需要编辑/etc/apache2/sites-available/you-configuration-filename.conf并添加已突出显示的虚拟主机
<Directory /var/www/html/wordpress directory>
**AllowOverride All**<br>
**Require all granted**
</Directory>
重启你的apache服务器
sudo systemctl restart apache2