首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建ShortCode

如何创建ShortCode
EN

WordPress Development用户
提问于 2022-07-18 05:19:52
回答 1查看 48关注 0票数 0

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

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2022-07-18 06:13:53

您需要使用钩子为自定义post类型分别创建manage_{$post_type}posts_columns和manage{$post_type}_posts_custom_column的自定义列和数据。

{$post_type}是自定义post类型的名称。

我创建了公共函数来添加列和它们的数据。您可以使用下面的函数添加列及其数据。

代码语言:javascript
复制
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类型替换。

代码语言:javascript
复制
# 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).'';
});

下面是一个短代码,您可以在这里管理您的短代码输出:

代码语言:javascript
复制
# 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;
}

请在您的插件中使用上述代码。请检查一下,并让我知道这是否适合你。

票数 2
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/407768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档