我在Wordpress(多站点)中的模板上遇到了一些问题。我已经在子主题文件夹(template-test.php)的根目录中创建了一个文件。

<?php
/**
* Template Name: Test template
*
*/
?> 

<?php get_header(); ?>

<?php get_footer(); ?>


该模板未显示在模板下拉列表中创建新页面或编辑现有页面。下拉菜单中唯一的内容是“默认模板”。

到目前为止,我已经尝试过:
-禁用并启用主题
-刷新永久链接
-检查文件的权限
-检查style.css是否在模板文件夹的根目录中(是)

我在另一个Wordpress安装中尝试了相同的文件,它工作正常。

评论

检查主题根是否有index.php

我遇到了同样的问题,并尝试了您提到的所有内容。您有解决方案吗?

就我而言,我什至在主题编辑器中都看不到该文件。 @汤姆你解决了吗?

我发生了同样的事情(v5.4.2)。它不起作用,然后起作用。我刚刚添加了“ *模板帖子类型:帖子,页面,产品”行,该行似乎可以解决该问题,但是当我删除它时,它仍然有效...一个谜吗?可能是某种缓存问题?

#1 楼

只是在Wordpress 4.9中,存在以下错误:https://core.trac.wordpress.org/ticket/42573导致模板文件每小时仅重新扫描一次。

要修复(直到他们发布了新的WP版本(已对此进行了更改)),请在该故障单上下载补丁,然后将补丁从该补丁更改为wp-includes/class-wp-theme.php

评论


您还可以将此代码添加到您的functions.php中,或将其添加为插件来停止缓存,而不是编辑核心文件:gist.github.com/westonruter/6c2ca0e5a4da233bf4bd88a1871dd950

– Bradley4
17年11月22日在21:47

另一个简单的解决方案是在论坛上@ ocean90指出的style.css文件中修改主题版本。

–r1987
17年11月27日在18:53

@ r1987 style.css更新成功了!

–达里
17年11月29日在23:31

对我来说style.css损坏了,所以只要更新文件就可以了

–点头
18年6月18日在16:02

#2 楼

确保您的主主题中有index.php。主主题必须具有index.php。我遇到了同样的问题,情况就是如此。
检查者:

function testate(){
    global $wp_themes;
    $tema = wp_get_theme();
    echo '<pre>';
    print_r($tema);
    die;
}

add_action('init', 'testate' );


#3 楼

Wordpress 4.9中有一个错误。

我发现此临时插件非常简单。我计划在他们修复该错误后立即将其卸载,但同时效果很好!

插件:https://github.com/connorlacombe/WP-Clear-File-Cache

#4 楼

我在WordPress Multisite上的网站上也遇到了这个问题,并且可以按照以下步骤进行修复:


转到http://example.com/wp-admin/network/ themes.php(用您的URL替换example.com)。
单击引起问题的主题下的“编辑”链接。
在右侧栏中单击未显示的模板文件的名称。 。例如,它可能会说“事件页面模板(template_events.php)”。
不对文件进行任何编辑,然后单击蓝色的“更新文件”按钮。
刷新页面的编辑屏幕,其中您正在尝试设置模板,它现在应该显示在下拉菜单中。

如果这样做不起作用,建议您访问http://vanseodesign.com/wordpress / wp-page-templates-dropdown /。还有其他一些可能的解决方案。

祝你好运。

#5 楼

可以通过在加载模板下拉菜单前从wp_themes全局变量取消设置模板来停用模板。

在页面上运行以下代码以查看显示的模板:

global $wp_themes;
$tema = wp_get_themes();
print_r($tema["child-theme folder name"]["Template Files"]);


如果未显示模板,则父主题可能已将其从数组中取消设置。

如果在前端运行此代码,它可能会显示,因为父主题可能只会在加载管理编辑器页面时取消设置。

下载父主题,然后在文件中搜索$wp_themeswp_get_themes();来找到该代码的位置。

希望他们为您提供了一种使用过滤器阻止它的方法,如果没有,您可能必须在子主题中重新添加文件。
这可能会有所帮助:http://www.wpexplorer.com/wordpress-page-templates-plugin/

#6 楼

修复页面模板未在下拉菜单中显示
请激活以下插件进行修复(而不是更改wordpress核心文件)

下面是下载链接
https://drive.google .com / file / d / 1ycHQGdc_vQtvtfBaznJp1KRsEbcoRwxB / view?usp = sharing

评论


切勿从这样的链接安装插件!无法信任。始终从受信任的来源(如Wordpress插件存储库)安装插件。

– Jasonlfunk
18/12/17在12:12

#7 楼

您是否从主题根目录中意外移动了style.css文件?

如果是这样,可能是这样-重新创建主题style.css以重新启用模板下拉菜单。