您的当前位置:首页 > 知识博客 > wordpress建站

一个函数就搞定 WordPress 后台文章列表自定义栏目开发

时间:2024-05-19

WordPress 后台文章列表自定义栏目是指在 WordPress 后台文章列表页面,给文章列表表哥添加一些栏目来显示数据,比如文章的浏览数,是否设置了 SEO 信息等,所以学会快速开发 WordPress 后台文章列表自定义栏目开发是 WordPress 二次开发的必备的技能。

WordPress 后台文章列表自定义栏目开发有点烦

如果我们使⽤ WordPress 原⽣的代码给后台⽂章列表页⾯添加一列的话,需要使用两个接口:

使用 manage_{$post_type}_posts_columns 接口添加栏目表头

add_filter('manage_post_posts_columns', function($columns){
$columns['views'] = '浏览';
return $columns;
});

通过 manage_{$post_type}_posts_custom_column 接口显示栏目数据

add_action('manage_post_posts_custom_column' , function ($column, $post_id){
if($column  == 'views'){
echo (int)get_post_meta($post_id , 'views' , true);
}
}, 10, 2 );

相对前面两个的开发算简单,但是需要知道这两个接口。

使用 WPAJAM BASIC 创建自定义文章列表栏目

如果和上面一样,需压增加一列来显示文章的浏览数,这种只是简单从 post meta 种去取数据,WPJAM Basic 只需要一行就搞定:

wpjam_register_posts_column('views', ['title'=> '浏览']);

如果复杂一点的例子,获取的数据需要自己处理一下怎么处理呢?

我们继续使用一个函数就搞定 WordPress 设置页面开发里面创建的「WPJAM SEO」插件来演示,怎么在文章栏目显示设置的 SEO 标题,关键字和描述。

直接上代码:

add_action('plugins_loaded', function(){	// 所有插件都已经加载
if(!did_action('wpjam_loaded')){ // 确保已加载 WPJAM Basic 插件
return;
}

wpjam_register_posts_column('seo', [
'title' => 'SEO设置',
'column_callback' => function($post_id){
$value = '';

foreach(['title'=>'SEO标题', 'description'=>'SEO描述', 'keywords'=>'SEO关键字'] as $key => $title){
$value .= '<strong>'.$title.'</strong>:';

if($seo_value = get_post_meta(get_the_ID(), 'seo_'.$key, true)){
$value .= "\n".$seo_value."\n\n";
}else{
$value .= "未设置\n";
}
}

return wpautop($value);
}
]);
});

首先还是先确保 WPJAM Basic 已加载,这方面一个函数就搞定 WordPress 设置页面开发中已经做了详细的介绍,这里就不再赘述了。

wpjam_register_posts_column

这个就是标题中说的那个牛逼的函数,是的,我们只用了 wpjam_register_posts_column 这一个函数就在 WordPress 后台搞定自定义文章列表栏目:

  • title:这个参数定义自定义文章列表栏目的表头。

  • column_callback:定义怎么获取数据,如果不定义这个参数,则直接从 post meta 获取数据。。

所以上面代码就是在文章列表页增加「SEO设置」栏目:




欢迎咨询/Welcome to inquire
tel/vx:18842938855
qq:1685522781
email:1685522781@qq.com

Copyright © 2019-2024 javascript.hk


Whatsapp