我在开发自定义主题时遇到了一个奇怪的错误。
编辑完自定义帖子类型单一视图的模板后,我继续处理页面的模板文件,我发现Wordpress实际上是指向索引的。php模板文件而不是页面。php在我的主题中用于生成页面外观。
我尝试在“阅读”设置中更改网站主页和博客主页的设置。我尝试刷新permalinks结构(通常使用%postname%)。我还尝试恢复到标准/=post\\u id结构。在这种情况下,效果很好。。。但是任何带有%postname%的东西都不起作用。
我禁用了插件,但没有任何更改。它只是拒绝与漂亮的permalinks合作。Actually permalinks work fine for my custom post type and it won\'t throw 404 errors. But for every single page and post will try to fetch index.php rather than single.php and page.php (or subsequent templates for pages). 我检查了自定义帖子类型的配置。。。但与页面没有可能的冲突(url重写与任何标准wordpress字符串完全不同)。
我检查了我的。htaccess与我的大多数安装一样是非常标准的:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
更新
我决定把一切都扔掉,作为一个测试开发站点,重新开始一个干净的安装。转储了整个数据库,销毁了安装文件。清除安装并启用wp\\u debug=true。开始时,我注意到仪表板上有一个错误:
ERROR: The themes directory is either empty or doesn’t exist. Please check your installation.
我想这是因为我将wp content文件夹重命名为“content”
我以前在使用此代码的其他安装上也这样做过(当然,“mydomain”是wpconfig中的实际域…)
define(\'WP_CONTENT_FOLDERNAME\', \'content\' );
define(\'WP_CONTENT_DIR\', ABSPATH . WP_CONTENT_FOLDERNAME );
define(\'WP_CONTENT_URL\', \'http://mydomain.com/\' . WP_CONTENT_FOLDERNAME );
define(\'WP_PLUGIN_DIR\', WP_CONTENT_DIR . \'/plugins\' );
define(\'WP_PLUGIN_URL\', WP_CONTENT_URL . \'/plugins\' );
在仔细检查并重新加载页面后,错误字符串不知何故消失了。我能够正确安装主题(因此Wordpress必须知道其文件夹的位置…)
但是,URL永久链接问题仍然存在(希望获取index.php,而不是页面的page.php模板或帖子的single.php)。这让我疯狂,因为这是一个全新的安装。
更新2
现在我正在测试TwentyEleven/Ten,它仍然抛出相同的错误。。。所以我必须排除插件和我的自定义主题。。。这可能与我的服务器配置、htaccess或wpconfig有关。。。但我真的想知道。。。因为这是在同一台服务器上运行的,我有半打wordpress站点以类似的方式配置
更新3
更改和更新wp配置后。php文件好几次我都能正常工作。。。但由于某种原因,它又不断地破裂。。。单个博客帖子和页面被重定向到索引。php(博客主页)或保存博客主页的页面模板(如果在wordpress admin的“阅读”设置中设置)。自定义帖子类型、存档和bbpress论坛页面(单个帖子和存档)、分类法。。。它们都很好用。只是页面和帖子。我仔细检查了php配置和服务器变量,一切正常