1

functions.php ファイルに何かを入れるのは嫌いなので、既存の WP フックにフックして、カスタム ポスト タイプ (およびタクソノミー) を登録/構成したいと考えました。どこかで「テンプレートリダイレクト」が良いと読んでいましたが、管理ページにいるときはそのフックが起動されないため、かなり役に立たないようです。

どんな助けでも大歓迎です。

4

3 に答える 3

2

initフックが使えます。

「本」という投稿タイプを登録する例。

function codex_custom_init() {
    $args = array( 'public' => true, 'label' => 'Books' );
    register_post_type( 'book', $args );
}
add_action( 'init', 'codex_custom_init' );

参考:コーデックス。

于 2012-07-07T21:47:02.140 に答える
0

私は自分の未解決の質問を検討していましたが、これを閉じていなかったことを思い出しました。マーティの答えは役に立ちましたが、実際には別の解決策を示していました。振り返ってみると、どのフックを試したかはわかりませんが、明らかなフックの種類は「init」であり、現在それを使用しており、機能します。

これが私の流れです:

  • 私のプラグインは「plugins_loaded」イベントでロードされます
  • 基本的な初期化を行ってから、「admin」フックにフックします
  • '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」がインストールされます。次に、機能が追加したイベントにフックする構成プラグインを作成します。

お役に立てれば。

于 2012-07-07T21:15:23.517 に答える
-1

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

少し役立つことを願っています;)

マーティ

于 2012-06-19T13:15:21.497 に答える