//show contribute meta data
function contribute_metadata( $content ){
if( is_single() ){
$DXC_options = get_option( 'DX-Contribute-options' );
$pid = get_the_ID();
$metas = get_post_meta( $pid, '_DX_Contribute', true );
if( $DXC_options['meta-on'] = 'on' && $metas ){
$avatar = get_avatar( $metas['email'], 25 );
$url = ($metas['site'] == 'true') ? '' : $metas['site'];
$user = $metas['user'];
$site = ( $url ) ? '<a href="'.$url.'" rel="external nofollow" target="_blank">'.$user.'</a>' : '<a rel="nofollow" style="color: #EF4372;">'.$user.'</a>';
$style = '<style type="text/css">#contribute-metadata{line-height:25px;margin:10px 0;} #contribute-metadata img{display:block;float:left;margin-right:5px;}</style>';
$meta_code = '<div id="contribute-metadata">'.$avatar.'<div id="contribute-site">'.$site.' 提交于'.get_the_time( 'Y-m-d H:i:s' ).'</div></div><div style="clear:both;"></div>';
if( $DXC_options[ 'metapo' ]=='head' ){
$content = $style.$meta_code.$content;
}
else $content .= $style.$meta_code;
}
}
return $content;
}
这一段是插件内的内容,他将自动在文章页面内重输出文章内容
但是我想在首页指定地方输出$user的内容怎么做到呢
步骤1
首先打开ajax-comment-pager文件夹里的ajax-comment-pager.php文件,这个文件就是整个插件的核心。我们可以看到细心的MG12对插件的每一个模块都做了注释。
我们要做的是先分析这个插件是怎么运行的,程序结构是怎样的。
下面解释一下各个模块的作用:
l10n:提供插件的本地化语言,在整合是可以忽略;
options:用于配置插件参数;
AJAX function:处理AJAX请求,并返回相应的结果,核心中的核心;
add to WordPress:加载插件运行所需的JS脚本和CSS样式文件。
到这里,插件的运行机制已经呼之欲出。
首先由add to WordPress加载所需的文件->在点击评论翻页时发出AJAX请求->AJAX function模块获取options里的参数,处理AJAX请求并返回结果->add to WordPress事先加载的脚本把AJAX function返回的结果插入到评论列表位置。
步骤2
在充分了解插件的结构以后,我们开始提取所需的代码,先把cpage_ajax和commentpager_head改名,我给这两个函数名同意加上了“bolo_”前缀。这一步是为了避免和原来的插件产生冲突,改名的方法推荐先复制原来的函数名,改名后用新函数名全部替换原函数名。
接下来把ajax-comment-pager.css和ajax-comment-pager.js复制到主题文件夹里。水平高一点的童鞋们,在这一步就可以整合css和js文件了,如果你不会整合这两个文件则需要在主题的header.php里加载这两个文件,并且在加载ajax-comment-pager.js前需要先输出以下代码:
<script type="text/javascript">//< ![CDATA[
var ajaxCommnetsPagerCommentsId = "thecomments" //thecomments是评论列表的ID,请根据自己的主题自行修改
var ajaxCommnetsPagerAjaxLoader = "Loading..."
//]]></script>
步骤3
把 AJAX function 模块的所有代码复制到主题的functions.php里,我们还需要修改一下。
我们的目的是直接把最适合我们主题的参数整合进去,所以options,callback method name 和 type 这几部分都可以删去,并充新补上$callback和$type这两个变量。
$callback是自定义评论样式的名字,一般是custom_comment,请自行查看主题配置。
$type是翻页是需要显示的内容,只显示评论则是&type=comment,只显示pingback则是&type=pings,两者都显示则留空。
在这里我设置为:
$callback = 'custom_comment'; //我的主题里评论样式名为custom_comment
$type = '&type=comment'; //只显示评论
步骤4
在打开comments.php,在合适的地方加上:
<span id="cp_post_id">< ?php echo $post->ID; ?></span>
如果你不知道什么地方是“合适的地方”,那就把这句代码加到任一个
前吧。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。