我已在现有项目上创建了一个名为templates
在我放置所有自定义模板文件的主题根目录中Template Name: BlahBlahBlah
在文件的顶部。
这一更改打破了我在代码中获取文件名的位置:get_post_meta( $post_id, \'_wp_page_template\', true );
.
我这样修复它:basename(get_post_meta( $post_id, \'_wp_page_template\', true ));
.
我的问题是,如果我在WordPress中做了这样的更改而破坏了某些东西。有人知道吗?
最合适的回答,由SO网友:cybmeta 整理而成
由于WP 3.4页面模板可以存储在主题根文件夹或直接子目录中,所以这没有问题。但重命名页面模板(包括将文件移动到其他目录)将取消分配当前使用它的所有页面的页面模板。
要重新分配页面模板,只需编辑页面,然后重新选择所需的模板。
关于get_post_meta( $post_id, \'_wp_page_template\', true );
, 如果模板文件位于“mytheme/sub-dir/templae file.php”下,则_wp_page_template
值应为“sub dir/template fie.php”。使用basename
只保留“template fie.php”;您可能有理由只需要文件名,但它不是_wp_page_template
, 所以它没有坏。