我希望能够在我的 Wordpress 站点中创建一些用户,其中 每个用户 per default 在发布新帖子时发布到不同的指定类别。
我试图弄清楚如何做到这一点,但既没有找到明显的 php 片段也没有找到可以帮助我解决这个问题的插件。
你对此有什么想法或解决方案吗?
两个例子:
当“Frida”登录并发布帖子时,我希望将其发布到“化妆与生活”,而无需她选择该类别。 所以用户Frida的默认分类是“彩妆生活”
当“Michael”发布帖子时,我希望将其发布到“Car and fun”类别,而无需他选择。 所以用户 Michael 的默认类别是“Car and fun”
它是否存在某种我可以用于此的分类法 php 片段,或者与用户 ID 和帖子类别 ID 相关的东西?
例如,我可以使用这样的 php 片段吗?
“Frida”是用户 ID 2, “迈克尔”是用户 ID 3, “妆容生活”是catID 3, “车与乐”是catID 9
If userID = "2", then post category is catID = "3"
If userID = "3", then post category is catID = "9"
etc
我在 StackOverflow 和 Google 中都进行了搜索,但没有找到解决方案。我可能会使用错误的搜索查询/措辞。
这是我最接近的解决方案,但我真的不明白要调整什么才能让它像我想要的那样工作。我既不精通 php 也不精通 WP 的代码。 https://wordpress.stackexchange.com/questions/89057/set-default-category-to-username
那里的代码:
add_action('admin_init','set_user_default_cat_wpa89057');
function set_user_default_cat_wpa89057(){
global $current_user;
if ( isset($current_user) ) {
update_option( 'default_category', $current_user->user_login);
}
}
我也找到了这个:
function hf_Function(){
$user_ID = get_current_user_id();
if ($user_ID == 0) {
// The user ID is 0, therefore the current user is not logged in
return; // escape this function, without making any changes
}
// Run your SQL queries here (using WordPress DB class)
global $wpdb;
// $wpdb->query($sql);
}
add_action('init', 'hf_Function');
我怎样才能最好地使用这些,或者得到我想要的工作?
我可能完全在这里屠杀代码,但我在做些什么吗?
知道编码的人,我应该如何编写这段代码才能按预期工作,我应该把它放在哪里?
add_action('admin_init','set_user_default_cat_wpa89057');
function set_user_default_cat_wpa89057(){
$user_ID = get_current_user_id();
if ($user_ID == 0) {
// The user ID is 0, therefore the current user is not logged in
return; // escape this function, without making any changes
}
if ($user_ID == 2) {
update_option( 'default_category', '3';
}
if ($user_ID == 3) {
update_option( 'default_category', '9';
}
}
谢谢你的帮助。这超出了我的知识范围,但至少我尝试理解:-)
附加代码(添加到评论中,但没有以易于阅读的方式显示):
function set_default_category_for_users( $default_category, $post ) {
$user_id = get_current_user_id();
if ( $user_id === 3 ) {
return 7;
} elseif ( $user_id === 2 ) {
return 5;
} else {
return $default_category;
}
}
add_filter( 'default_category', 'set_default_category_for_users', 10, 2 );