关注互联网与Web前端技术,这里是我记录网上折腾与生活感悟的地方.

为WordPress增加“转载自”字段

写博客免不了有一些转载的东西。因此我起手修改现在正在使用的主题的时候,就通过自定义字段完成了在文章头部杂项部位添加一个“转载自”的项。但是这个功能一直没有使用过,直到现在才拿出来展示一下。

如图所示:

这个功能我使用了两个自定义字段:1.原作者,2.源地址。当这两个自定义字段为空时不显示“转载自”这一项,当“原作者”有内容的时候,就会显示出来。为此我给这两个自定义字段添加了后台面板,使操作方便了不少。如图:

添加到后台面板的方法如下:

1.将这串添加到single.php的<div class=”post-data”  id=”post-<?php the_ID(); ?>”> 后面。

 

2.将这串添加到single。php里面的杂项适当位置。

ID, 'authorship_value', true) ) { ?>转载自:

3.将下面的这些贴到function.php里面。

/***************
自定义字段输入框
***************/
$new_meta_boxes =
array(
"authorship" => array(
"name" => "authorship",
"std" => "",
"title" => "原作者:"),
"authorshiplink" => array(
"name" => "authorshiplink",
"std" => "",
"title" => "源地址:")
);
function new_meta_boxes() {
global $post, $new_meta_boxes;
foreach($new_meta_boxes 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'
';
// 自定义字段标题
echo'

‘.$meta_box[‘title’].’

‘;
// 自定义字段输入框
echo ‘
‘;
}
}
function create_meta_box() {
global $theme_name;
if ( function_exists(‘add_meta_box’) ) {
add_meta_box( ‘new-meta-boxes’, ‘本文自定义模块’, ‘new_meta_boxes’, ‘post’, ‘normal’, ‘high’ );
}
}
function save_postdata( $post_id ) {
global $post, $new_meta_boxes;
foreach($new_meta_boxes as $meta_box) {
if ( !wp_verify_nonce( $_POST[$meta_box[‘name’].’_noncename’], plugin_basename(__FILE__) )) {
return $post_id;
}
if ( ‘page’ == $_POST[‘post_type’] ) {
if ( !current_user_can( ‘edit_page’, $post_id ))
return $post_id;
}
else {
if ( !current_user_can( ‘edit_post’, $post_id ))
return $post_id;
}
$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));
}
}
add_action(‘admin_menu’, ‘create_meta_box’);
add_action(‘save_post’, ‘save_postdata’);
add_filter( ‘show_admin_bar’, ‘__return_false’ );

4.Enjoy

PS:我在目前使用的主题里面木有找到“<div class=”post-data”  id=”post-<?php the_ID(); ?>”>”这条代码。 找不到的童鞋。自己看着办,添加到适当位置哈。

有啥不懂的,欢淫交流

未经允许不得转载:Yusky » 为WordPress增加“转载自”字段

分享到:更多 ()

评论 24

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #9

    😉
    我用的也是这款Micro-M主题。
    博主改成功了么?

    Thisman6年前 (2011-10-15)回复
    • 改成功了吖。 不过我重装WP又删除了。懒的搞了

      Yusky6年前 (2011-10-17)回复
  2. #8

    这个到不错,可以用上。

    VeryMu6年前 (2011-08-14)回复
    • 那是必须的。

      Yusky6年前 (2011-08-14)回复
  3. #7

    好的很呀。呵呵 :gl:

    侯淇滨6年前 (2011-08-14)回复
    • 确实好用啊

      Yusky6年前 (2011-08-14)回复
  4. #6

    呵呵 ZB也有

    武汉网站推广6年前 (2011-08-14)回复
    • ZB也不错。 之前也用过ZB

      Yusky6年前 (2011-08-14)回复
  5. #5

    正好我也要添加这样的。谢谢!阿修罗更新新文章了,来看看对你有帮助么。

    广州SEO6年前 (2011-08-14)回复
    • 呵呵。添加个比较方方便

      Yusky6年前 (2011-08-14)回复
  6. #4

    你可以把第五行到第九行删掉~ 在你这上面木有用!

    寒意6年前 (2011-08-14)回复
    • ➡ 错了,是第六行到第九行~

      寒意6年前 (2011-08-14)回复
      • Thank. 已删除

        Yusky6年前 (2011-08-14)回复
    • 添加这个图片有神马用的?

      Yusky6年前 (2011-08-14)回复
      • 在我主题上有用,主页标题那的图片,这个连接的图片最优先。这里空就显示里面文章的特色图片和文章插入的图片,如果都木有就是默认图片。

        寒意6年前 (2011-08-14)回复
        • 额~~原来如此。明白了

          Yusky6年前 (2011-08-14)回复
  7. #3

    木有直线的鬼迹~ 这个我喜欢 😆

    寒意6年前 (2011-08-14)回复
    • 哈哈。那改个名字咯

      Yusky6年前 (2011-08-14)回复
  8. #2

    add_filter( ‘show_admin_bar’, ‘__return_false’ );
    这个是去掉 Admin bar的~ 多给你了一行~

    寒意6年前 (2011-08-14)回复
    • 额。这句有啥用的

      Yusky6年前 (2011-08-14)回复
      • 去掉登录用户头顶上的 管理员导航条 的。 ➡

        寒意6年前 (2011-08-14)回复
        • 额~~就这个啊

          Yusky6年前 (2011-08-14)回复
  9. #1

    这有用么?不懂。

    SOHO一族6年前 (2011-08-14)回复
    • 当然。经常避免不了转载一些文章。增加这个的话。方便很多

      Yusky6年前 (2011-08-14)回复