如何通过对子主题函数添加过滤器来获取自定义帖子ID

时间:2017-02-22 作者:anandmongol

如何通过向子主题的函数添加代码来获取自定义帖子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;
 }
}

2 个回复
SO网友:Sonali
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;
    }
}
SO网友:Laxmana

对于自定义帖子类型,有相应的过滤器manage_{$post_type}_posts_columnsmanage_{$post_type}_posts_custom_column 哪里{$post_type} 是您的自定义帖子名称($post_type 变量输入register_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.

相关推荐

Div-Wrap with Functions.php in ChildTheme Using Shorcode!

我只想为一个简单样式的DIV包装器创建一个短代码。在WordPress的网站上,我想添加如下内容:[quotehead]Headline text[/quotehead] ...a normal blockquote from wordpress... 输出应为:<div class=\"block_header\">Headline text</div> 我的内部功能functions.php (在childtheme中)包含以下内容:/**