原理根据不同的自定义栏目在single.php中生成不同的内容。

如上所述,原理是非常简单的。所以先直接贴一个简单的示例:
<?php  $custom_fields = get_post_custom_keys($post_id);
if (!in_array (‘copyright’, $custom_fields)) : ?>
<div class=”articlecopyright”>
<strong>©版权声明:</strong>本文为<a href=”http://sandogeek.com“ >山洞怪人</a>原创文章,转载时请注明出处!
</div>
<?php else: ?>
<?php $custom = get_post_custom($post_id);
$custom_value = $custom[‘copyright’]; ?>
<div class=”articlecopyright”>
<strong>©版权声明:</strong> 本文为转载文章,源自互联网,由<a href=”http://sandogeek.com“ >山洞怪人</a>整编。
<br/>
<strong>原文地址:</strong> <a target=”_blank” rel=”nofollow” href=”<?php echo $custom_value[0] ?>” ><?php echo $custom_value[0] ?></a>
</div>
<?php endif; ?>


其实看懂这个已经可以自己diy了,如果懒得自己搞可以继续往下看。
还是直接先贴代码再解释吧,简单高效。
<?php
$custom_fields = get_post_custom_keys($post_id);
static $state=’’;
if (in_array (‘ban’, $custom_fields)) { $state=’jinzhizhuanzai’; }
if (in_array (‘ourl’, $custom_fields)) { $state=’zhuanzai’; }
?>

<div class=”panel articlecopyright context”>
<?php if ($state==’’) : ?>
<ul class=”copy_info”>
<!– 注意把相关的域名替换为自己的域名 –>
<li><strong>版权声明</strong>:原创文章,由<?php the_author_posts_link(); ?>发表,采用<a rel=”license” target=”_blank” href=”http://creativecommons.org/licenses/by-nc-sa/3.0/cn/">署名-非商业性引用-相同方式共享</a>授权。</li&gt;
<li><strong>转载请注明</strong>:<a href=”<?php the_permalink() ?>” rel=”bookmark” title=”本文固定链接 <?php the_permalink() ?>”><?php the_title(); ?> | <?php bloginfo(‘name’);?></a></li>
</ul>
<?php elseif($state==’jinzhizhuanzai’): ?>
<ul class=”copy_info”>
<!– 注意把相关的域名替换为自己的域名 –>
<li><strong>版权声明</strong>:原创文章,由<?php the_author_posts_link(); ?>发表。未经许可禁止转载或用于商业用途。<a href=”http://sandogeek.com/copyright_demaged“ target=”_blank” class=”copy_demage”>权益受损记录</a></li>
</ul>
<?php else: ?>
<!– 这段其实原本是是被写成了函数的,因为我想把其中的外链转换成goto内链 –>
<?php
global $post;
$category=get_the_category();
$title = get_post_meta($post->ID, ‘title’, true);
$ourl = get_post_meta($post->ID, ‘ourl’, true);
$information=’<ul class=”copy_info”><li><strong>版权声明</strong>:本文来源于网络,由’ . get_the_author_posts_link() . ‘整理发表在’ . ‘<a href=”‘.get_category_link($category[0]->term_id ).’”>’.$category[0]->cat_name.’</a>’ . ‘分类下。</li>’;
if($ourl && $title){
$second_li=’<li><strong>原文地址</strong>:<a target=”_blank” rel=”nofollow” href=”‘ . $ourl . ‘“>’.$title.’</a></li>’;
$information .= $second_li;
}elseif ($ourl) {
$second_li=’<li><strong>原文地址</strong>:<a target=”_blank” rel=”nofollow” href=”‘ . $ourl . ‘“>’.$ourl.’</a></li>’;
$information .= $second_li;
}
echo $information . ‘</ul>’;
?>
<?php endif; ?>
</div>

使用说明

把上述代码贴到single.php中你需要展示版权信息的地方(注意修改其中的域名为自己的域名,大家可以根据自己的需要增删内容) 不添加自定义栏目的状态下显示的是可自由转载的版权信息(参考本文底部)
添加ban自定义栏目(值随意)则会显示禁止转载的信息(参考此文底部,而且禁止了选中和右键) 添加ourl(值设置为转载文章的原文地址)则会显示转载的信息。如果只加这个自定义栏目,则原文地址显示该url。如果同时添加了title自定义栏目,则原文地址显示该自定义栏目的值(毕竟只显示url好像挺丑的,参考…,好像还没转载过,吓得我赶紧去转载了篇文章
huaji
huaji


如果用的主题跟我相同,css定义的部分可以参考:
.articlecopyright {
border-top: 1px solid #e2e2e2;
margin-top: -0.4em;
}
.articlecopyright .icon-copyright{
position: absolute;
color: rgb(59, 145, 255);
top: 50%; left: 6px;
margin-top: -10.5px;
padding: 0;
font-size: 3em;
}
.context .copy_info .copy_demage{
display: inline-block;
margin-left: 0.8em;
}
.context .copy_info li{
list-style: none;
margin-bottom: 0.1em;
}
.articlecopyright .copy_info{
margin: 0;
padding-left: 2.7em;
}
.panel {
background: #FFF;
margin-bottom: 1em;
padding: 10px 15px;
position: relative;
}

如果是其它主题我就帮不到你了。

补充一下禁止选中复制和右键,兼容Firefox和chrome的代码:
<?php if ($state==’jinzhizhuanzai’) {
echo ‘style=”user-select: none; -moz-user-select: none;-webkit-user-select: none;-o-user-select: none;” oncontextmenu=”return false;” onselectstart=”return false;”‘;} ?>

使用说明把这段代码添加到你希望无法复制的标签上。为了防止无法访问$state,所以要把之前那个定义$state的代码(前6行)放到这个标签的前面。主题与我相同的可参考:
<div class=”row”>
<?php the_post(); ?>
<article id=”post-box”
<?php if ($state==’jinzhizhuanzai’) {
echo ‘style=”user-select: none; -moz-user-select: none;-webkit-user-select: none;-o-user-select: none;” oncontextmenu=”return false;” onselectstart=”return false;”‘;} ?>
itemscope itemtype=”http://schema.org/Article“ <?php post_class( ‘span12’ ); ?>>
<div class=”panel”>
<header class=”panel-header”>