很多博客会将阅读量、点评数或者好评数高的文章进行输出展示给大家。于是纯代码版本的阅读数和好评数功能就来了,主要使用了wordpress的get_post_meta()、delete_post_meta()、add_post_meta()、add_action()这几个函数。
其中add_action()函数用于好评提交的ajax功能,其它三个函数就是操作meta表的函数。
设置或更新阅读数
/**
* set_post_views()函数
* 功能:设置或更新阅读数量
* 在内容页面调用此函数
* 需要传入文章的id,也就是 $post->ID
* 返回文章阅读数
*/
function set_post_views( $postID ) {
$count_key = 'views';
$count = get_post_meta( $postID, $count_key, true );
if( $count=='' ) {
$count = 0;
delete_post_meta( $postID, $count_key );
add_post_meta( $postID, $count_key, '0' );
} else {
$count++;
update_post_meta( $postID, $count_key, $count );
}
return $count;
}
获取阅读数
/**
* get_post_views()函数
* 功能:获取阅读数量
* 在需要显示阅读数的位置,调用此函数
* 需要传入文章的id,也就是 $post->ID
* 返回文章阅读数
*/
function get_post_views( $postID ) {
$count_key = 'views';
$count = get_post_meta( $postID, $count_key, true );
if( $count=='' ) {
delete_post_meta( $postID, $count_key );
add_post_meta( $postID, $count_key, '0' );
return "0";
}
return $count;
}
设置或更新好评数
/**
* set_post_good()函数
* 功能:设置或更新好评数量
* 在内容页ajax调用此函数
* 返回文章好评数
*/
function set_post_good() {
$postID = $_POST['id'];
$count_key = 'good';
$count = get_post_meta( $postID, $count_key, true );
if( $count=='' ) {
$count = 0;
delete_post_meta( $postID, $count_key );
add_post_meta( $postID, $count_key, '0' );
} else {
$count++;
update_post_meta( $postID, $count_key, $count );
}
wp_die();
}
add_action( 'wp_ajax_set_post_good', 'set_post_good' );
add_action( 'wp_ajax_nopriv_set_post_good', 'set_post_good' );
//wordpress 中 ajax 提交需要用到 add_action() 函数
获取好评数
/**
* get_post_good()函数
* 功能:获取好评数
* 在需要显示好评数的位置,调用此函数
* 需要传入文章的id,也就是 $post->ID
* 返回文章好评数量
*/
function get_post_good( $postID ) {
$count_key = 'good';
$count = get_post_meta( $postID, $count_key, true );
if( $count=='' ) {
delete_post_meta( $postID, $count_key );
add_post_meta( $postID, $count_key, '0' );
return "0";
}
return $count;
}
1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505