web-dev-qa-db-ja.com

子テーマの機能にフィルタを追加してカスタム投稿IDを取得する方法

子テーマの機能にコードを追加してカスタム投稿IDを取得する方法。次のコードは通常の投稿ではうまく機能しますが、カスタム投稿タイプでは理解できません。

add_filter( 'manage_posts_columns', 'revealid_add_id_column', 5 );
add_action( 'manage_posts_custom_column', 'revealid_id_column_content', 5, 2 );

function revealid_add_id_column( $columns ) {
   $columns['revealid_id'] = 'ID';
   return $columns;
}

function revealid_id_column_content( $column, $id ) {
   if( 'revealid_id' == $column ) {
   echo $id;
 }
}
1
anandmongol
add_action( 'manage_posts_custom_column', 'id_data' );
add_filter( 'manage_posts_columns', 'id_column'  );
function id_column( $defaults ) {
    $defaults['id'] = 'ID';
    return $defaults;
}
function id_data( $column_name ) {
    global $post;
    switch ( $column_name ) {
    case 'id':
        echo $post->ID;
    }
}
1
Sonali

カスタム投稿タイプには、対応するフィルタ manage_{$post_type}_posts_columnsmanage_{$post_type}_posts_custom_column があります。ここで{$post_type}カスタム投稿名です( $post_typeregister_post_type変数)。

あなたがコメントで言ったように、私はあなたのカスタム投稿タイプがestate_propertyと呼ばれると思います。

そう:

add_filter( 'manage_estate_property_posts_columns', 'revealid_add_id_column', 5 );
add_action( 'manage_estate_property_posts_custom_column', 'revealid_id_column_content', 5, 2 );

function revealid_add_id_column( $columns ) {
   $columns['revealid_id'] = 'ID';
   return $columns;
}

function revealid_id_column_content( $column, $id ) {
   if( 'revealid_id' == $column ) {
   echo $id;
 }
}

これはあなたのカスタム投稿タイプにのみ有効です。複数のカスタムタイプをサポートしたい場合は、 manage_posts_custom_column のドキュメントを読んでください。

WordPress Codexから :カスタム投稿タイプに'hierarchical' => trueがある場合、正しいアクションフックは manage_pages_custom_columnです。 .

0
Laxmana