我在学习插件开发。如何创建像图像一样的ShortCode?

发布于 2022-07-18 06:13:53
您需要使用钩子为自定义post类型分别创建manage_{$post_type}posts_columns和manage{$post_type}_posts_custom_column的自定义列和数据。
{$post_type}是自定义post类型的名称。
我创建了公共函数来添加列和它们的数据。您可以使用下面的函数添加列及其数据。
function cv_add_column_to_admin_dashboard($column_title, $post_type, $cb){
# Column
add_filter( 'manage_' . $post_type . '_posts_columns', function($columns) use ($column_title) {
$columns[ sanitize_title($column_title) ] = $column_title;
return $columns;
} );
# Column Content
add_action( 'manage_' . $post_type . '_posts_custom_column' , function( $column, $post_id ) use ($column_title, $cb) {
if(sanitize_title($column_title) === $column){
$cb($post_id);
}
}, 10, 2 );
}如何使用上述功能。使用下面的函数,我添加了两列“短代码”和“模板短代码”。“页面”是post类型,您可以用自定义的post类型替换。
# column for shortcode
cv_add_column_to_admin_dashboard(__('Shortcode'), 'page', function($post_id){
echo '';
echo '[logo_showcase id="'.$post_id.'"]';
echo '';
});
# column for template shortcode
cv_add_column_to_admin_dashboard(__('Template Shortcode'), 'page', function($post_id){
$code = '';
echo ''.htmlspecialchars($code).'';
});下面是一个短代码,您可以在这里管理您的短代码输出:
# shortcode
add_shortcode('logo_showcase','logo_showcase_callback');
function logo_showcase_callback($atts)
{
$html = '';
$atts = shortcode_atts( array(
'id' => '',
), $atts, 'default' );
$id = $atts['id'];
if(!empty($id))
{
$html .= get_the_title($id);
# change CUSTOM_FIELD with your custom field name
$CUSTOM_FIELD = get_post_meta($id,'CUSTOM_FIELD',true);
}
return $html;
}请在您的插件中使用上述代码。请检查一下,并让我知道这是否适合你。
https://wordpress.stackexchange.com/questions/407768
复制相似问题