wordpress块简码插件

注册了一个自定义块类型的文章,支持分类,并在后台文章列表中显示shortcode,目的是为了方便调用。代码如下:

<?php
/*
Plugin Name: 块简码插件
Description: 注册一个自定义块类型的文章,支持分类,并在后台文章列表中显示shortcode。
Version: 1.0
Text Domain: block_shortcode
Author: 殷江碧
*/
// 注册块类型文章
function register_block_shortcode_post_type() {
$labels = array(
'name' => _x('块简码', '文章类型通用名称', 'your-text-domain'),
'singular_name' => _x('块简码', '文章类型单数名称', 'your-text-domain'),
'menu_name' => _x('块简码', '后台菜单', 'your-text-domain'),
'name_admin_bar' => _x('块简码', '在管理工具栏上添加新项目', 'your-text-domain'),
'add_new' => _x('添加新块简码', '文章', 'your-text-domain'),
'add_new_item' => __('添加新块简码', 'your-text-domain'),
'new_item' => __('新块简码', 'your-text-domain'),
'edit_item' => __('编辑块简码', 'your-text-domain'),
'view_item' => __('查看块简码', 'your-text-domain'),
'all_items' => __('所有块简码', 'your-text-domain'),
'search_items' => __('搜索块简码', 'your-text-domain'),
'parent_item_colon' => __('父级块简码:', 'your-text-domain'),
'not_found' => __('未找到块简码。', 'your-text-domain'),
'not_found_in_trash' => __('回收站中未找到块简码。', 'your-text-domain')
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array('slug' => 'block-shortcode'),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => null,
'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'),
'taxonomies' => array('block-shortcode-category'),
'show_in_rest' => true, // 添加 show_in_rest 参数
);
register_post_type('block-shortcode', $args);
}
add_action('init', 'register_block_shortcode_post_type');
// 注册块简码分类
function register_block_shortcode_category_taxonomy() {
$labels = array(
'name' => _x('块简码分类', '分类法通用名称', 'your-text-domain'),
'singular_name' => _x('块简码分类', '分类法单数名称', 'your-text-domain'),
'search_items' => __('搜索块简码分类', 'your-text-domain'),
'all_items' => __('所有块简码分类', 'your-text-domain'),
'parent_item' => __('父级块简码分类', 'your-text-domain'),
'parent_item_colon' => __('父级块简码分类:', 'your-text-domain'),
'edit_item' => __('编辑块简码分类', 'your-text-domain'),
'update_item' => __('更新块简码分类', 'your-text-domain'),
'add_new_item' => __('添加新块简码分类', 'your-text-domain'),
'new_item_name' => __('新块简码分类名称', 'your-text-domain'),
'menu_name' => __('块简码分类', 'your-text-domain'),
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array('slug' => 'block-shortcode-category'),
'show_in_rest' => true, // 添加 show_in_rest 参数
);
register_taxonomy('block-shortcode-category', array('block-shortcode'), $args);
}
add_action('init', 'register_block_shortcode_category_taxonomy');
// 添加块简码短代码
function block_shortcode_callback($atts) {
$atts = shortcode_atts(
array(
'id' => '',
),
$atts,
'block_shortcode'
);
$post_id = isset($atts['id']) ? intval($atts['id']) : 0;
$output = '';
if ($post_id > 0) {
$output = get_post_field('post_content', $post_id);
}
return $output;
}
add_shortcode('block_shortcode', 'block_shortcode_callback');
// 在后台列中显示短代码
function display_shortcode_in_admin_column($column, $post_id) {
if ($column == 'shortcode') {
$shortcode = '[block_shortcode id=' . $post_id . ']';
echo esc_html($shortcode);
}
}
add_action('manage_block-shortcode_posts_custom_column', 'display_shortcode_in_admin_column', 10, 2);
// 添加短代码列到后台
function add_shortcode_column_to_admin($columns) {
$columns['shortcode'] = __('短代码', 'your-text-domain');
return $columns;
}
add_filter('manage_block-shortcode_posts_columns', 'add_shortcode_column_to_admin');
<?php
/*
Plugin Name: 块简码插件
Description: 注册一个自定义块类型的文章,支持分类,并在后台文章列表中显示shortcode。
Version: 1.0
Text Domain: block_shortcode
Author: 殷江碧
*/

// 注册块类型文章
function register_block_shortcode_post_type() {
    $labels = array(
        'name'               => _x('块简码', '文章类型通用名称', 'your-text-domain'),
        'singular_name'      => _x('块简码', '文章类型单数名称', 'your-text-domain'),
        'menu_name'          => _x('块简码', '后台菜单', 'your-text-domain'),
        'name_admin_bar'     => _x('块简码', '在管理工具栏上添加新项目', 'your-text-domain'),
        'add_new'            => _x('添加新块简码', '文章', 'your-text-domain'),
        'add_new_item'       => __('添加新块简码', 'your-text-domain'),
        'new_item'           => __('新块简码', 'your-text-domain'),
        'edit_item'          => __('编辑块简码', 'your-text-domain'),
        'view_item'          => __('查看块简码', 'your-text-domain'),
        'all_items'          => __('所有块简码', 'your-text-domain'),
        'search_items'       => __('搜索块简码', 'your-text-domain'),
        'parent_item_colon'  => __('父级块简码:', 'your-text-domain'),
        'not_found'          => __('未找到块简码。', 'your-text-domain'),
        'not_found_in_trash' => __('回收站中未找到块简码。', 'your-text-domain')
    );

    $args = array(
        'labels'             => $labels,
        'public'             => true,
        'publicly_queryable' => true,
        'show_ui'            => true,
        'show_in_menu'       => true,
        'query_var'          => true,
        'rewrite'            => array('slug' => 'block-shortcode'),
        'capability_type'    => 'post',
        'has_archive'        => true,
        'hierarchical'       => false,
        'menu_position'      => null,
        'supports'           => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'),
        'taxonomies'         => array('block-shortcode-category'),
        'show_in_rest'       => true, // 添加 show_in_rest 参数
    );

    register_post_type('block-shortcode', $args);
}
add_action('init', 'register_block_shortcode_post_type');

// 注册块简码分类
function register_block_shortcode_category_taxonomy() {
    $labels = array(
        'name'              => _x('块简码分类', '分类法通用名称', 'your-text-domain'),
        'singular_name'     => _x('块简码分类', '分类法单数名称', 'your-text-domain'),
        'search_items'      => __('搜索块简码分类', 'your-text-domain'),
        'all_items'         => __('所有块简码分类', 'your-text-domain'),
        'parent_item'       => __('父级块简码分类', 'your-text-domain'),
        'parent_item_colon' => __('父级块简码分类:', 'your-text-domain'),
        'edit_item'         => __('编辑块简码分类', 'your-text-domain'),
        'update_item'       => __('更新块简码分类', 'your-text-domain'),
        'add_new_item'      => __('添加新块简码分类', 'your-text-domain'),
        'new_item_name'     => __('新块简码分类名称', 'your-text-domain'),
        'menu_name'         => __('块简码分类', 'your-text-domain'),
    );

    $args = array(
        'hierarchical'      => true,
        'labels'            => $labels,
        'show_ui'           => true,
        'show_admin_column' => true,
        'query_var'         => true,
        'rewrite'           => array('slug' => 'block-shortcode-category'),
        'show_in_rest'      => true, // 添加 show_in_rest 参数
    );

    register_taxonomy('block-shortcode-category', array('block-shortcode'), $args);
}
add_action('init', 'register_block_shortcode_category_taxonomy');

// 添加块简码短代码
function block_shortcode_callback($atts) {
    $atts = shortcode_atts(
        array(
            'id' => '',
        ),
        $atts,
        'block_shortcode'
    );

    $post_id = isset($atts['id']) ? intval($atts['id']) : 0;

    $output = '';

    if ($post_id > 0) {
        $output = get_post_field('post_content', $post_id);
    }

    return $output;
}
add_shortcode('block_shortcode', 'block_shortcode_callback');

// 在后台列中显示短代码
function display_shortcode_in_admin_column($column, $post_id) {
    if ($column == 'shortcode') {
        $shortcode = '[block_shortcode id=' . $post_id . ']';
        echo esc_html($shortcode);
    }
}
add_action('manage_block-shortcode_posts_custom_column', 'display_shortcode_in_admin_column', 10, 2);

// 添加短代码列到后台
function add_shortcode_column_to_admin($columns) {
    $columns['shortcode'] = __('短代码', 'your-text-domain');
    return $columns;
}
add_filter('manage_block-shortcode_posts_columns', 'add_shortcode_column_to_admin');
<?php /* Plugin Name: 块简码插件 Description: 注册一个自定义块类型的文章,支持分类,并在后台文章列表中显示shortcode。 Version: 1.0 Text Domain: block_shortcode Author: 殷江碧 */ // 注册块类型文章 function register_block_shortcode_post_type() { $labels = array( 'name' => _x('块简码', '文章类型通用名称', 'your-text-domain'), 'singular_name' => _x('块简码', '文章类型单数名称', 'your-text-domain'), 'menu_name' => _x('块简码', '后台菜单', 'your-text-domain'), 'name_admin_bar' => _x('块简码', '在管理工具栏上添加新项目', 'your-text-domain'), 'add_new' => _x('添加新块简码', '文章', 'your-text-domain'), 'add_new_item' => __('添加新块简码', 'your-text-domain'), 'new_item' => __('新块简码', 'your-text-domain'), 'edit_item' => __('编辑块简码', 'your-text-domain'), 'view_item' => __('查看块简码', 'your-text-domain'), 'all_items' => __('所有块简码', 'your-text-domain'), 'search_items' => __('搜索块简码', 'your-text-domain'), 'parent_item_colon' => __('父级块简码:', 'your-text-domain'), 'not_found' => __('未找到块简码。', 'your-text-domain'), 'not_found_in_trash' => __('回收站中未找到块简码。', 'your-text-domain') ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array('slug' => 'block-shortcode'), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'), 'taxonomies' => array('block-shortcode-category'), 'show_in_rest' => true, // 添加 show_in_rest 参数 ); register_post_type('block-shortcode', $args); } add_action('init', 'register_block_shortcode_post_type'); // 注册块简码分类 function register_block_shortcode_category_taxonomy() { $labels = array( 'name' => _x('块简码分类', '分类法通用名称', 'your-text-domain'), 'singular_name' => _x('块简码分类', '分类法单数名称', 'your-text-domain'), 'search_items' => __('搜索块简码分类', 'your-text-domain'), 'all_items' => __('所有块简码分类', 'your-text-domain'), 'parent_item' => __('父级块简码分类', 'your-text-domain'), 'parent_item_colon' => __('父级块简码分类:', 'your-text-domain'), 'edit_item' => __('编辑块简码分类', 'your-text-domain'), 'update_item' => __('更新块简码分类', 'your-text-domain'), 'add_new_item' => __('添加新块简码分类', 'your-text-domain'), 'new_item_name' => __('新块简码分类名称', 'your-text-domain'), 'menu_name' => __('块简码分类', 'your-text-domain'), ); $args = array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array('slug' => 'block-shortcode-category'), 'show_in_rest' => true, // 添加 show_in_rest 参数 ); register_taxonomy('block-shortcode-category', array('block-shortcode'), $args); } add_action('init', 'register_block_shortcode_category_taxonomy'); // 添加块简码短代码 function block_shortcode_callback($atts) { $atts = shortcode_atts( array( 'id' => '', ), $atts, 'block_shortcode' ); $post_id = isset($atts['id']) ? intval($atts['id']) : 0; $output = ''; if ($post_id > 0) { $output = get_post_field('post_content', $post_id); } return $output; } add_shortcode('block_shortcode', 'block_shortcode_callback'); // 在后台列中显示短代码 function display_shortcode_in_admin_column($column, $post_id) { if ($column == 'shortcode') { $shortcode = '[block_shortcode id=' . $post_id . ']'; echo esc_html($shortcode); } } add_action('manage_block-shortcode_posts_custom_column', 'display_shortcode_in_admin_column', 10, 2); // 添加短代码列到后台 function add_shortcode_column_to_admin($columns) { $columns['shortcode'] = __('短代码', 'your-text-domain'); return $columns; } add_filter('manage_block-shortcode_posts_columns', 'add_shortcode_column_to_admin');
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
Death comes to all, but great achievements raise a monument which shall endure until the sun grows old.
死亡无人能免,但非凡的成就会树起一座纪念碑,它将一直立到太阳冷却之时
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容