WordPress 的 publish_post 钩子针对的是文章(帖子)类型,适用于 WordPress 站点的 post 类型的文章。如果想要发布页面时执行某些动作,对应钩子应该是 publish_page;如果你想发布某个自定义类型的文章,如课程类型course,那么对应钩子应该是 publish_course。针对你上面的代码,你可以如下修改:
//发布文章或提问奖励声望
function publish_article_prestige( $post_ID ){
global $wpdb;
$user_id = get_post($post_ID)->post_author;
$old_pretige = get_user_meta( $user_id,"shengwang",true);
$apply_pretige = 5;
$post_cat = get_the_category($post_ID)[0]->cat_ID;
if($post_cat == 2){
$publish_type = "publish_question";
} else {
$publish_type = "publish_post";
}
$date = date('Y-m-d H:i:s');
$new_pretige = $old_pretige+$apply_pretige;
$wpdb->insert('wp_prestige_log', array(
'user_id' => $user_id,
'post_id' => $post_ID,
'old' => $old_pretige,
'apply' => $apply_pretige,
'new' => $new_pretige,
'type' => $publish_type,
'time' => $date,
));
update_user_meta($user_id,'shengwang',$new_pretige);
}
add_action('publish_post','publish_article_prestige');
//发布课程(自定义文章类型)奖励声望
function publish_course_prestige( $post_ID ){
global $wpdb;
$post_type = get_post_type( $post_ID );
$user_id = get_post($post_ID)->post_author;
$old_pretige = get_user_meta( $user_id,"shengwang",true);
$apply_pretige = 10;
$publish_type = "publish_course";
$date = date('Y-m-d H:i:s');
$new_pretige = $old_pretige+$apply_pretige;
$wpdb->insert('wp_prestige_log', array(
'user_id' => $user_id,
'post_id' => $post_ID,
'old' => $old_pretige,
'apply' => $apply_pretige,
'new' => $new_pretige,
'type' => $publish_type,
'time' => $date,
));
update_user_meta($user_id,'shengwang',$new_pretige);
}
add_action('publish_course','publish_course_prestige');
WordPress日记主要承接WordPress主题定制开发、PSD转WordPress、WordPress仿站以及以WordPress为管理后端的小程序、APP,我们一直秉持“做一个项目,交一个朋友”的理念,希望您是我们下一个朋友。如果您有WordPress主题开发需求,可随时联系QQ:919985494
相关文章
宝塔面板设置wordpress主题网站伪静态的最简单的方法
最近网站更换了服务器,安装了宝塔面板,安装好以后发现安装管理…WordPress主题开发中最佳引用脚本js文件函数wp_enqueue_script
当我们在WordPress主题定制开发过程中,经常需要引入一…在WordPress中什么位置添加自定义CSS
当你在一个WordPress网站上工作的时候,有时你想添加自…如何在WordPress中禁用XML-RPC?
您是否搜索有关xmlrpc.php文件以及如何在WordPr…通过CSS让图片在DIV中上下左右居中显示
我们在做网站的时候经常会用到缩略图,比如产品列表,缩略图肯定…给WordPress菜单中UL下的某一个或某几个LI添加自定义类
我们有时候在定制WORDPRESS主题的时候,由于菜单样式的…