5

独自のカスタム投稿フォーマットを作成するにはどうすればよいですか?

または、カスタム投稿タイプの make を次のような関数で機能させるにはどうすればよいですか

get_post_format();

たとえば、「アコーディオン」タイプのカスタム投稿タイプがあり、ループ内のコンテンツ要素として使用できるようにしたいのですが、それが存在する場合のみ...

get_template_part( 'content', get_post_format() );

だから私は次のような関数を探しています

get_custom_post_format();

Wordpressには存在しません。

誰かが似たようなことを試しましたか?

4

2 に答える 2

9

カスタム投稿フォーマットまたはカスタム投稿タイプの作成方法を尋ねているかどうかわからないので、両方に対する回答を提供しました.

カスタム投稿フォーマットを作成できるかどうかを尋ねている場合...

...では、答えはノーです。WordPress codex のPost Formatsからの以下の引用を参照してください。

投稿フォーマット機能は、この機能をサポートするすべてのテーマで使用できるフォーマットの標準化されたリストを提供します。テーマは、リストのすべての形式をサポートする必要はありません。テーマやプラグインでさえ、新しいフォーマットを導入することはできません。このリストの標準化により、多数のテーマ間の互換性と、外部のブログ ツールが一貫した方法でこの機能にアクセスするための手段の両方が提供されます。

カスタム投稿タイプを作成する方法を尋ねている場合:

独自のカスタム投稿タイプを作成 (登録) する最も基本的な例は、次のコードをテーマ内の functions.php ファイルに追加することです。

function register_recipes_post_type() {
    $args = array( 'public' => true, 'label' => 'Recipes' );
    register_post_type( 'recipe', $args );
}
add_action( 'init', 'register_recipes_post_type' );

上記のコードは、アクションが WordPress コアによってトリガーさregister_recipes_post_typeれたときに実行される関数をフックします。init

このコードを追加したら、wp-admin に移動すると、左側に「レシピ」という新しいメニューが表示されます。これが新しいカスタム投稿タイプです。新しいレシピを追加し、タイトルとコンテンツを付けて公開し、プレビューしようとすると、404 エラーが発生することに気付くでしょう。新しいカスタム投稿タイプを作成した後、wp-admin の [設定] > [パーマリンク] に移動する必要があります。そのページにアクセスするだけで、新しいカスタム投稿タイプが含まれるようにパーマリンクが修正されます。作成したばかりで、404 ではなく動作することがわかります。

ここで、single-recipe.php という名前の新しいファイルを作成し、その中にいくつかのコードを入れる場合は、それが機能することを確認する目的で「test」を入れてください。作成したら、作成したばかりのレシピのプレビューをもう一度更新します'test' という単語だけが表示されていることがわかるはずです。get_template_part( 'content', get_post_format() );そのファイルを使用して、そのカスタム投稿タイプの単一のエントリ (投稿) を表示するために表示される完全にカスタムのテンプレートを作成できます。または、元の投稿で述べたように、single.php に a が含まれている場合は content-recipe.php を使用できます。

明らかに、カスタム投稿タイプはおそらくレシピ用ではなく、レシピのインスタンスとレシピを希望どおりに更新するだけです。

投稿タイプのアーカイブなどのために作成できる他の投稿タイプ固有のテンプレートもあります。ただし、開始するには上記で十分です。

投稿タイプを登録するときに渡すことができる他の引数もあります。完全なリストはこちらで確認できます: http://codex.wordpress.org/Function_Reference/register_post_type

これが役立つことを願っています。幸運を!=)

于 2013-08-04T13:32:44.187 に答える