zoukankan      html  css  js  c++  java
  • wordpress 生成自定义 meta box

    工具

    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' )
    */
    
    
  • 相关阅读:
    SOD-80 LL34 DL-35 (2.7~75V)贴片稳压二极管【worldsing 笔记
    射频识别技术漫谈(7)——ID卡【worldsing笔记】
    射频识别技术漫谈(6)——通讯协议概述【worldsing笔记】
    射频识别技术漫谈(5)——防冲突【worldsing 笔记】
    Modbus Poll master-slave测试 Dtech USB转485(worldsing 笔记)
    超级MINI STLINK V2 官方固件自动升级 ST-Link 【worldsing 笔记】
    FreeModbus Slave For AVR源代码 精简版2 【worldsing 笔记】
    射频识别技术漫谈(4)——数据编码【worldsing 笔记】
    射频识别技术漫谈(3)——能量、调制【worldsing 笔记】
    FreeModbus Slave 改进的eMbPoll()【worldsing 笔记】
  • 原文地址:https://www.cnblogs.com/flowerszhong/p/6441930.html
Copyright © 2011-2022 走看看