クライアント用のPodcastソリューションでカスタム投稿タイプ+分類法を使用しています。コメントの設定(設定>>ディスカッション)は「コメントを許可する」に設定されています。 [投稿]タブで投稿を追加/編集すると、コメントはデフォルトで有効になります。
ただし、カスタム投稿タイプ(Podcast)で投稿を追加/編集すると、コメントはデフォルトで無効になります。
ユーザーは各投稿のコメントを手動で有効にすることができますが、これは明らかに理想的ではありません。考えですか?
更新:functions.phpの関連コード
function create_my_post_types() {
register_post_type( 'podcast',
array(
'labels' => array(
'name' => __( 'Podcast' ),
'singular_name' => __( 'Podcast' ),
'new_item' => __( 'New Episode' ),
'add_new_item' => __( 'Add New Episode' )
),
'public' => true,
'hierarchical' => true,
'menu_icon' => get_stylesheet_directory_uri() . '/assets/podcast-icon.png', // 16px16
'menu_position' => 9,
'supports' => array( 'title', 'editor', 'comments', 'post-templates'),
'register_meta_box_cb' => 'add_podcast_metaboxes' // This registers the metabox that we'll add later.
)
);
}
わかりました - それで私はこれを解決しました。これが問題のようです。
カスタム投稿タイプでは、コメントはデフォルトで無効になっています。これは起こります あなたがそれらを全体的な設定で可能にしたとしても
それを修正するために、私がしなければならなかったのは以下のことだけでした:
カスタム投稿タイプの場合、この設定をちょっとキックスタートする必要があるようです。作成したcustom-post-typesの新しい投稿はすべて、デフォルトでボックスが有効になります。既存の投稿は以前の設定を保持します。トラックバックを許可しても同じだと思います。うまくいけば、これは誰かに役立ちます...
これがデフォルトの状態です。カスタム投稿タイプを作成する場所の "Supports"行を変更する必要があります。
この行の意味:
//または同じように始まる何か類似のもの
'supports' => array('title','editor','author','excerpt','revisions'),
この行へ:
'supports' => array('title','editor','author','excerpt','comments','revisions'),
お役に立てれば。
歓声、サジベ。
追加された機能(内部機能ファイル):
function default_comments_on( $data ) {
if( $data['post_type'] == 'your_custom_post_name' ) {
$data['comment_status'] = 1;
}
return $data;
}
add_filter( 'wp_insert_post_data', 'default_comments_on' );
以下の提案のどれも私のために働きませんでした。 Sagive SEOの機能はほとんど私のために働きました。私はデータベースを調べて、comment_statusの唯一の値がopenとclosedであることを見つけました。その関数は値として1を挿入しました。私は機能を修正しました、そしてそれは今完璧に働くようです。これが誰かに役立つことを願っています。
function default_comments_on( $data ) {
if( $data['post_type'] == 'your_custom_post_type_name' ) {
$data['comment_status'] = 'open';
}
return $data;
}
add_filter( 'wp_insert_post_data', 'default_comments_on' );
ただランダムにスタブを取っていますが、register_post_type()
呼び出しでsupports配列パラメータに "comments"を追加する必要がありますか?