web-dev-qa-db-ja.com

特定のページテンプレートを管理者だけに見えるようにする方法

クライアント用のサイトを作成すると、クライアントが編集または削除できないページがいくつかあります。これらのページは特定のページテンプレートに依存しています。

しかし、私はこれらのテンプレートが新しいページを作成するときにクライアントに利用可能にしたくありません。新しいページを作成するときに、これらの特定のページテンプレートをページ属性ドロップダウンから隠す方法はありますか?

ありがとう

2
INT

カスタムページテンプレートとして定義するのではなく、代わりの方法があります。

ページ固有のテンプレートを使用します。プロフィールページの場合は、スラッグprofileを使用してテーマにpage-profile.phpを作成するか、page-21.phpを使用できます。ここで21はそのページ/投稿のIDです。

3
Tom J Nowell

申し訳ありませんが、これは(もはや)不可能です(page_templateフィルタはWP_Themeクラスの導入により削除されたようです)。

メタボックス内のテンプレートを呼び出すget_templates_dropdown()関数はget_page_templates()を呼び出します。これにはこのビルダー関数が含まれています。

wp_get_theme()->get_page_templates()

そして、この関数はどんな種類のフィルタやフックもなしで来ます。

0
kaiser