对自定义帖子类型

时间:2016-07-18 09:20:52

标签: wordpress permalinks

我正在使用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相同。更改帖子类型的名称解决了它。

2 个答案:

答案 0 :(得分:1)

使用自定义永久链接结构
https://codex.wordpress.org/Using_Permalinks

答案 1 :(得分:0)

这些解决方案可能会解决几个问题:

    wordpress根文件夹中的
  1. .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>
    
  2. 现在将文件权限恢复为644并刷新页面以查看链接。

    1.2。 sudo a2enmod重写然后 sudo systemctl restart apache2 并立即检查链接。

    1. 编辑编辑 /etc/apache2/sites-available/000-default.conf 如果您尚未配置虚拟主机并添加突出显示的虚拟主机

      <Directory /var/www/html/wordpress directory>
      **AllowOverride All**<br>
      **Require all granted**
      </Directory> 
      
    2. 如果您已配置虚拟主机,则需要编辑/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