限制使用特定模板的页面数量?

时间:2015-07-03 作者:Foo Bar

我有一个自定义页面模板,所以.php “我的主题”文件夹中的文件

/*
 * Template Name: MyTemplate
 */
现在,我可以在WP后端创建新页面并选择此模板,以便创建的页面使用此模板。

如何限制使用此模板的页数?例如,如果我只想允许一个页面使用此模板?或者如果只有三页可以使用它。我怎样才能做到这一点?

1 个回复
SO网友:Jami Gibbs

您可以通过首先使用数据库查询来计算已经使用该模板的页面数来实现此目的:

$query = "SELECT COUNT(*) as total
    FROM prefix_posts as p JOIN prefix_postmeta as m ON p.ID = m.post_id
    WHERE p.\'post_type\' = \'page\'
    AND p.\'post_status\' = \'publish\'
    AND m.\'meta_key\'    = \'_wp_page_template\'
    AND m.\'meta_value\'  = \'page-your-template-name.php\'";
然后检查是否已达到计数限制,并使用theme_page_templates 过滤器:

结束

相关推荐

Custom templates vs page-slug

我目前一直在使用slug来设置页面模板,使用普通的层次结构例如,如果我想更改的页面模板http://www.example.com/about-us, 我会编辑关于我们的页面。php如果客户端要去更改页面slug,它将不再加载正确的模板。在WordPress后端使用“自定义模板”下拉列表是否更好?就这一点而言,最佳做法是什么?非常感谢