0

プラグインディレクトリ内にテーマフォルダを登録して、ページなどの「標準」テーマを作成しようとしています。ユーザーは必要に応じて自分のテーマフォルダーでこれらを上書きできますが、少なくともユーザーには「スケルトン」があります。

機能を知りましたがregister_theme_directory()、期待通りに動作していないようです。

これが私のコードです:

add_filter('init', 'test_templates_dir');
function test_templates_dir(){
    $plugindir = dirname( __FILE__ );
    register_theme_directory($plugindir."/themefiles");
}

私の$plugindir."/themefiles"ディレクトリの中にはというファイルがtpl-directory.phpあり、そのテンプレートファイルの中には次のようなものがあります。

<?php
/*
 *Template name: Directory template
 */
?>

ただし、「新しい」ページを追加しているときに、これは使用可能なテンプレートのリストに表示されません。

私は何が間違っているのですか?誰か知っている?それとも、私が達成しようとしていることを行うためのより良い方法を誰かが知っていますか?「テンプレートファイルを手動で追加する」ためのフィルターやフックがないことを読みました(ただし、その方法で追加できれば、かなり満足しています!)。

どうもありがとう!

4

1 に答える 1

2

申し訳ありませんが、この関数は、ページテンプレートではなく、wpがそのフォルダでより多くのテーマを検索できるようにするためにのみ機能します。

どうやら現在アクティブなテーマにページテンプレートを追加する方法はありませんが、プラグイン内から特定のテンプレートをロードするために現在のタイプのコンテンツをキャッチするか、アクティブ化時に現在のテーマ内に新しいテンプレートファイルを追加することができます。

詳細については、次のスレッドを参照してください 。WP-プラグインディレクトリ内のファイルをカスタムページテンプレートとして使用しますか?

于 2012-09-25T23:56:49.527 に答える