为WordPress文章后台新增字段面板

为WordPress文章后台新增字段面板

今天在群里看到有人问怎么实现自定义外链缩略图的功能,当时说了下,对方完全不懂,还说用了好多插件都没用,今天教大家实现这类功能。

首先在你的主题目录下的function.php文件中(有些是单独的function_admin.php),新增如下函数:

$postmeta_thumblink = array(
 array(
 "name" => "thumblink",
 "std" => ""
 ));if( _hui('thumblink_s') ){
 add_action('admin_menu', 'hui_postmeta_thumblink_create');
 add_action('save_post', 'hui_postmeta_thumblink_save');}function hui_postmeta_thumblink() {
 global $post, $postmeta_thumblink;
 foreach($postmeta_thumblink as $meta_box) {
 $meta_box_value = get_post_meta($post->ID, $meta_box['name'], true);
 if($meta_box_value == "")
 $meta_box_value = $meta_box['std'];
 echo'<p>'.(isset($meta_box['title']) ? $meta_box['title'] : '').'</p>';
 echo '<p><input type="text" style="width:98%" value="'.$meta_box_value.'" name="'.$meta_box['name'].'"></p>';
 }
 
 echo '<input type="hidden" name="post_newmetaboxes_noncename" id="post_newmetaboxes_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';}function hui_postmeta_thumblink_create() {
 global $theme_name;
 if ( function_exists('add_meta_box') ) {
 add_meta_box( 'postmeta_thumblink_boxes', __('外链缩略图地址', 'haoui'), 'hui_postmeta_thumblink', 'post', 'normal', 'high' );
 }}function hui_postmeta_thumblink_save( $post_id ) {
 global $postmeta_thumblink;
 
 if ( !wp_verify_nonce( isset($_POST['post_newmetaboxes_noncename'])?$_POST['post_newmetaboxes_noncename']:'', plugin_basename(__FILE__) ))
 return;
 
 if ( !current_user_can( 'edit_posts', $post_id ))
 return;
 
 foreach($postmeta_thumblink as $meta_box) {
 $data = $_POST[$meta_box['name']];
 if(get_post_meta($post_id, $meta_box['name']) == "")
 add_post_meta($post_id, $meta_box['name'], $data, true);
 elseif($data != get_post_meta($post_id, $meta_box['name'], true))
 update_post_meta($post_id, $meta_box['name'], $data);
 elseif($data == "")
 delete_post_meta($post_id, $meta_box['name'], get_post_meta($post_id, $meta_box['name'], true));
 }}

然后去后台写文章页面看看是否存在外链缩略图面板,如下图:

WordPress纯代码实现外链缩略图

WordPress纯代码实现自定义面板字段

如何在文章前端调用呢?

echo "外链缩略图地址:".get_post_meta($post->ID, "thumblink", true);

其中thumblink为外链缩略图的name,注意对比上面的代码。

WordPress纯代码实现外链缩略图字段

这里只是展示了如何输出缩略图地址,只需要将缩略图地址输出在你主题的相应位置即可。


WordPress

分享到 :
相关推荐