wordpress 生成自定义 meta box

简介: 工具https://jeremyhixon.com/tool/wordpress-meta-box-generator/使用生成代码/** * Generated by the WordPress Meta Box generator * at http://jeremyhixon.

工具

https://jeremyhixon.com/tool/wordpress-meta-box-generator/

使用

wordpress meta box

生成代码

/**
 * Generated by the WordPress Meta Box generator
 * at http://jeremyhixon.com/tool/wordpress-meta-box-generator/
 */

function mymetabox_get_meta( $value ) {
    global $post;

    $field = get_post_meta( $post->ID, $value, true );
    if ( ! empty( $field ) ) {
        return is_array( $field ) ? stripslashes_deep( $field ) : stripslashes( wp_kses_decode_entities( $field ) );
    } else {
        return false;
    }
}

function mymetabox_add_meta_box() {
    add_meta_box(
        'mymetabox-mymetabox',
        __( 'mymetabox', 'mymetabox' ),
        'mymetabox_html',
        'post',
        'normal',
        'default'
    );
}
add_action( 'add_meta_boxes', 'mymetabox_add_meta_box' );

function mymetabox_html( $post) {
    wp_nonce_field( '_mymetabox_nonce', 'mymetabox_nonce' ); ?>

    <p>test customize meta box</p>

    <p>
        <label for="mymetabox_aa"><?php _e( 'aa', 'mymetabox' ); ?></label><br>
        <input type="text" name="mymetabox_aa" id="mymetabox_aa" value="<?php echo mymetabox_get_meta( 'mymetabox_aa' ); ?>">
    </p>    <p>
        <label for="mymetabox_bb"><?php _e( 'bb', 'mymetabox' ); ?></label><br>
        <textarea name="mymetabox_bb" id="mymetabox_bb" ><?php echo mymetabox_get_meta( 'mymetabox_bb' ); ?></textarea>
    
    </p>    <p>
        <label for="mymetabox_cc"><?php _e( 'cc', 'mymetabox' ); ?></label><br>
        <select name="mymetabox_cc" id="mymetabox_cc">
            <option <?php echo (mymetabox_get_meta( 'mymetabox_cc' ) === 'cc-1' ) ? 'selected' : '' ?>>cc-1</option>
            <option <?php echo (mymetabox_get_meta( 'mymetabox_cc' ) === 'cc-2' ) ? 'selected' : '' ?>>cc-2</option>
            <option <?php echo (mymetabox_get_meta( 'mymetabox_cc' ) === 'cc-3' ) ? 'selected' : '' ?>>cc-3</option>
        </select>
    </p>    <p>

        <input type="checkbox" name="mymetabox_dd" id="mymetabox_dd" value="dd" <?php echo ( mymetabox_get_meta( 'mymetabox_dd' ) === 'dd' ) ? 'checked' : ''; ?>>
        <label for="mymetabox_dd"><?php _e( 'dd', 'mymetabox' ); ?></label> </p>    <p>

        <input type="radio" name="mymetabox_ee" id="mymetabox_ee_0" value="ee-1" <?php echo ( mymetabox_get_meta( 'mymetabox_ee' ) === 'ee-1' ) ? 'checked' : ''; ?>>
<label for="mymetabox_ee_0">ee-1</label><br>

        <input type="radio" name="mymetabox_ee" id="mymetabox_ee_1" value="ee-2" <?php echo ( mymetabox_get_meta( 'mymetabox_ee' ) === 'ee-2' ) ? 'checked' : ''; ?>>
<label for="mymetabox_ee_1">ee-2</label><br>
    </p><?php
}

function mymetabox_save( $post_id ) {
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
    if ( ! isset( $_POST['mymetabox_nonce'] ) || ! wp_verify_nonce( $_POST['mymetabox_nonce'], '_mymetabox_nonce' ) ) return;
    if ( ! current_user_can( 'edit_post', $post_id ) ) return;

    if ( isset( $_POST['mymetabox_aa'] ) )
        update_post_meta( $post_id, 'mymetabox_aa', esc_attr( $_POST['mymetabox_aa'] ) );
    if ( isset( $_POST['mymetabox_bb'] ) )
        update_post_meta( $post_id, 'mymetabox_bb', esc_attr( $_POST['mymetabox_bb'] ) );
    if ( isset( $_POST['mymetabox_cc'] ) )
        update_post_meta( $post_id, 'mymetabox_cc', esc_attr( $_POST['mymetabox_cc'] ) );
    if ( isset( $_POST['mymetabox_dd'] ) )
        update_post_meta( $post_id, 'mymetabox_dd', esc_attr( $_POST['mymetabox_dd'] ) );
    else
        update_post_meta( $post_id, 'mymetabox_dd', null );
    if ( isset( $_POST['mymetabox_ee'] ) )
        update_post_meta( $post_id, 'mymetabox_ee', esc_attr( $_POST['mymetabox_ee'] ) );
}
add_action( 'save_post', 'mymetabox_save' );

/*
    Usage: mymetabox_get_meta( 'mymetabox_aa' )
    Usage: mymetabox_get_meta( 'mymetabox_bb' )
    Usage: mymetabox_get_meta( 'mymetabox_cc' )
    Usage: mymetabox_get_meta( 'mymetabox_dd' )
    Usage: mymetabox_get_meta( 'mymetabox_ee' )
*/
相关文章
|
6月前
自定义WordPress首页显示文章数
自定义WordPress首页显示文章数
25 1
|
7月前
|
前端开发
Wordpress自定义鼠标样式插件
使用此插件可一键自定义Wordpress前端鼠标指针样式。利用该插件,站长可以快速实现替换多种鼠标指针样式于网站前端。,该插件允许用户一键自定义网站前端的鼠标指针样式,提供多种图案选择。插件资源来源于网络并已开源,无商业性质。包含插件截图和使用教程:用户可从蓝奏云或GitHub下载插件zip文件,然后在WordPress中安装。
135 6
WordPress 的最佳设计和自定义页面布局生成器是什么吗?
WordPress 有很多设计和自定义页面布局生成器可供选择,它们都有不同的特点和优缺点,最佳的选择取决于您的需求和偏好。以下是一些常用和受欢迎的 WordPress 页面布局生成器:
|
搜索推荐 前端开发 PHP
wordpress建站如何自定义404页面
当在 WordPress 上创建自定义 404 页面比以往任何时候都更简单时,不要用错误页面来烦扰您的用户。这里有一些不同的方法。
wordpress自定义主题
wordpress自定义主题 找到 themes文件夹,位置app\public\wp-content\themes 新建一个目录存放主题文件,目录结构如下: 这里我们的目录名是:fictional-university-theme 目录结构就是这样的: fictional-university-theme index.php style.css screenshot.png (放入一张自己的图,命名为screenshot.png) 在style.css中定义主题相关信息,如下
134 0
wordpress自定义主题
|
关系型数据库 MySQL Linux
CentOS7.2基于LAMP搭建WordPress,并自定义Logo和名称
CentOS7.2基于LAMP搭建WordPress,并自定义Logo和名称
765 0
CentOS7.2基于LAMP搭建WordPress,并自定义Logo和名称
|
新零售 数据可视化
一文说透WordPress的自定义文章类型
本文可能是关于WordPress自定义文章类型讲的最详细的文章了
2497 0
|
前端开发 关系型数据库 PHP