functions.php ファイルに何かを入れるのは嫌いなので、既存の WP フックにフックして、カスタム ポスト タイプ (およびタクソノミー) を登録/構成したいと考えました。どこかで「テンプレートリダイレクト」が良いと読んでいましたが、管理ページにいるときはそのフックが起動されないため、かなり役に立たないようです。
どんな助けでも大歓迎です。
functions.php ファイルに何かを入れるのは嫌いなので、既存の WP フックにフックして、カスタム ポスト タイプ (およびタクソノミー) を登録/構成したいと考えました。どこかで「テンプレートリダイレクト」が良いと読んでいましたが、管理ページにいるときはそのフックが起動されないため、かなり役に立たないようです。
どんな助けでも大歓迎です。
init
フックが使えます。
「本」という投稿タイプを登録する例。
function codex_custom_init() {
$args = array( 'public' => true, 'label' => 'Books' );
register_post_type( 'book', $args );
}
add_action( 'init', 'codex_custom_init' );
参考:コーデックス。
私は自分の未解決の質問を検討していましたが、これを閉じていなかったことを思い出しました。マーティの答えは役に立ちましたが、実際には別の解決策を示していました。振り返ってみると、どのフックを試したかはわかりませんが、明らかなフックの種類は「init」であり、現在それを使用しており、機能します。
これが私の流れです:
'admin'イベントがプラグインで発生すると、次の関数が発生します。
function add_hooks () {
// fire a hook that a configuration file can pick up
do_action ( 'lg_custom_types_definition');
// now fire hooks to register custom types
do_action ( 'lg_custom_type_cpt_registration' ); // register
do_action ( 'lg_custom_types_registered_post_types');
do_action ( 'lg_custom_type_tax_registration' ); // register
do_action ( 'lg_custom_types_registered_taxonomies');
}
このアプローチにより、完全に分離されたアプローチが得られます。つまり、「custom_types」プラグインを有効にでき、「capability」がインストールされます。次に、機能が追加したイベントにフックする構成プラグインを作成します。
お役に立てれば。
functions.php 内のインクルード ファイルを使用して、すべてのカスタム作業を含めることができます。
<?php
// functions.php
include('inc/custom-functions.php');
?>
カスタム投稿タイプを作成するための非常にシンプルなページを作成しました。カスタム フィールドに必要なオプションを入力すると、wordpress で生成するために必要なコードが吐き出されます。
ここにあります:http://martin-gardner.co.uk/wordpress-custom-post-type-generator/
例えば:
カスタム投稿タイプと register_post_type @ の詳細を読む
http://codex.wordpress.org/Function_Reference/register_post_type
少し役立つことを願っています;)
マーティ