我有一个网站,其分类法名为“db_themen”,具有不同的值。我网站上的帖子被分配给“db_themen”中的这些分类值。
在我的网站上,用户可以在他的前端用户配置文件中选择他感兴趣的“db_themen”并保存此输入。这是通过“分类法”类型的 ACF 字段(字段名称:“meine_themen”)来实现的,该字段链接到分类法“db_themen”。
根据他的输入,只有分配给相同分类法的帖子才应该显示在该用户的前端档案(Elementor 档案循环网格)上。
我尝试在我的functions.php 中编写一些代码,但我完全是一个初学者。此代码唯一做的就是隐藏后端中的所有帖子条目:
function abfrage_meine_themen($query) {
if ($query->is_main_query() && is_user_logged_in()) {
$ausgewaehlte_themen = get_field('meine_themen', 'user_' . get_current_user_id());
if ($ausgewaehlte_themen) {
$tax_query = array(
array(
'taxonomy' => 'db_themen',
'field' => 'slug',
'terms' => $ausgewaehlte_themen,
),
);
$query->set('tax_query', $tax_query);
}
}
}
add_action('pre_get_posts', 'abfrage_meine_themen');
有人可以告诉我我的错误在哪里吗?我确信有几个🙂
function abfrage_meine_themen($query) {
if ($query->is_main_query() && is_user_logged_in()) {
$ausgewaehlte_themen = get_field('meine_themen', 'user_' . get_current_user_id());
if ($ausgewaehlte_themen) {
$ausgewaehlte_themen = explode(',', $ausgewaehlte_themen);
$tax_query = array(
array(
'taxonomy' => 'db_themen',
'field' => 'slug',
'terms' => $ausgewaehlte_themen,
),
);
$query->set('tax_query', $tax_query);
}
}
}
add_action('pre_get_posts', 'abfrage_meine_themen');