クライアント用のサイトを作成すると、クライアントが編集または削除できないページがいくつかあります。これらのページは特定のページテンプレートに依存しています。
しかし、私はこれらのテンプレートが新しいページを作成するときにクライアントに利用可能にしたくありません。新しいページを作成するときに、これらの特定のページテンプレートをページ属性ドロップダウンから隠す方法はありますか?
ありがとう
カスタムページテンプレートとして定義するのではなく、代わりの方法があります。
ページ固有のテンプレートを使用します。プロフィールページの場合は、スラッグprofile
を使用してテーマにpage-profile.php
を作成するか、page-21.php
を使用できます。ここで21
はそのページ/投稿のIDです。
申し訳ありませんが、これは(もはや)不可能です(page_template
フィルタはWP_Theme
クラスの導入により削除されたようです)。
メタボックス内のテンプレートを呼び出すget_templates_dropdown()
関数はget_page_templates()
を呼び出します。これにはこのビルダー関数が含まれています。
wp_get_theme()->get_page_templates()
そして、この関数はどんな種類のフィルタやフックもなしで来ます。