私はカスタムページテンプレートを持っています、それで私のthemesフォルダの.php
ファイルは最初にこれを持っています
/*
* Template Name: MyTemplate
*/
これで、WPバックエンドで、新しいページを作成してこのテンプレートを選択し、作成されたページがこのテンプレートを使用するようにすることができます。
このテンプレートを使用してページ数を制限する方法たとえば、このテンプレートを使用して単一ページを許可するだけの場合はどうすればよいですか。あるいは、それを使用する可能性のある3ページしか許可されていない場合もあります。どうすればこれを達成できますか?
最初にデータベースクエリを使用して、既にテンプレートを使用しているページ数を数えることで、これにアプローチできます。
$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
フィルタでページテンプレートを削除します。