当前位置:奉上博客 » 站长之家 » 正文

wordpress教程:怎么给WordPress文章添加内容来源地址和名称

调用代码

<?php echo mo_get_post_from(); ?>

核心代码

/*
* post meta from 添加文章来源自定义字段
* ====================================================
*/
// 创建字段信息
$postmeta_from = array(
array(
"name" => "fromname",
"std" => "",
"title" => __('来源名', 'orui').':'
),
array(
"name" => "fromurl",
"std" => "",
"title" => __('来源网址', 'orui').':'
)
);
// 函数连接到指定action(动作)
add_action('admin_menu', '_postmeta_from_create');
add_action('save_post', '_postmeta_from_save');
//创建自定义字段输入框
function _postmeta_from() {
global $post, $postmeta_from;
foreach($postmeta_from as $meta_box) {
$meta_box_value = get_post_meta($post->ID, $meta_box['name'].'_value', true);
if($meta_box_value == "")
$meta_box_value = $meta_box['std'];
echo'<p>'.$meta_box['title'].'</p>';
echo '&lt;p><input type="text" value="'.$meta_box_value.'" name="'.$meta_box['name'].'_value"></p>';
}
echo '&lt;input type="hidden" name="post_newmetaboxes_noncename" id="post_newmetaboxes_noncename" value="'.wp_create_nonce( plugin_basename(__FILE__) ).'" />';
}
//创建自定义字段模块
function _postmeta_from_create() {
global $theme_name;
if ( function_exists('add_meta_box') ) {
add_meta_box( 'new-meta-boxes', __('来源', 'haoui'), '_postmeta_from', 'post', 'normal', 'high' );
}
}
// 保存数据
function _postmeta_from_save( $post_id ) {
global $postmeta_from;
if ( !wp_verify_nonce( $_POST['post_newmetaboxes_noncename'], plugin_basename(__FILE__) ))
return;
if ( !current_user_can( 'edit_posts', $post_id ))
return;
foreach($postmeta_from as $meta_box) {
$data = $_POST[$meta_box['name'].'_value'];
if(get_post_meta($post_id, $meta_box['name'].'_value') == "")
add_post_meta($post_id, $meta_box['name'].'_value', $data, true);
elseif($data != get_post_meta($post_id, $meta_box['name'].'_value', true))
update_post_meta($post_id, $meta_box['name'].'_value', $data);
elseif($data == "")
delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true));
}
}
// 调用函数
function mo_get_post_from($pid='', $prevtext='来源:'){
if( !$pid ){
$pid = get_the_ID();
}
$fromname = trim(get_post_meta($pid, "fromname_value", true));
$fromurl = trim(get_post_meta($pid, "fromurl_value", true));
$from = '';
if( $fromname ){
if( $fromurl ){
$from = '<a href="'.$fromurl.'" target="_blank" rel="external nofollow">'.$fromname.'</a>';
}else{
$from = $fromname;
}
$from = ($prevtext).$from;
}
return $from;
}

相关文章