我正在建立一个网站,一旦用户登录,他们将只看到管理员在后端填写的ACF。我在页面上填充了ACF,这很容易。我现在在尝试使这些字段可搜索时需要帮助,但结果只显示已登录用户的信息。更糟糕的是,这解释了我目前使用的是什么。
我在下面设置了ACF字段并可以工作。关于显示ACF字段的搜索,我正在使用Relevanssi插件显示这些字段,但现在似乎无法仅显示与当前登录用户相关的结果。
https://stackoverflow.com/questions/36787391/add-acf-fields-to-search-results-page-wordpress
我还尝试了上面的链接,但是,我会再试一次。
$author_id = get_the_author_meta('ID');
$test = the_field('test', 'user_' . $author_id);
$test2 = the_field('test2', 'user_' . $author_id);
$test3 = the_field('test3', 'user_' . $author_id);
$url = wp_get_attachment_url( $current_user->test2 );
$url2 = wp_get_attachment_url( $current_user->test3 );
echo $current_user->test
echo $current_user->test2
echo $current_user->test3 ?>
因此,如果用户ID为4,则搜索时仅显示与用户ID 4结果一起使用的ACF字段。我希望只在该用户的搜索页面上看到这些字段,而不是所有用户字段,因为除了当前登录的用户之外,其他任何人都不能看到该内容。
更新
一个更新,由于管理员只能在用户个人资料页面中分配值,因此每个ACF都将在管理员的ID下使用(即1),因此每次搜索时,它实际上都会拖拽每个使用1的ID。我只需要根据匹配的用户个人资料更改ID
/* Replace with custom Author meta box */
function wpse39084_custom_author_metabox() {
add_meta_box( 'authordiv', __('Author'), 'wpse39084_custom_author_metabox_insdes','post');
}
add_action( 'add_meta_boxes', 'wpse39084_custom_author_metabox');
/* Include all users in post author dropdown*/
/* Mimics the default metabox http://core.trac.wordpress.org/browser/trunk/wp-admin/includes/meta-boxes.php#L514 */
function wpse39084_custom_author_metabox_insdes() {
global $user_ID;
global $post;
?>
<label class="screen-reader-text" for="post_author_override"><?php _e('Author'); ?></label>
<?php
wp_dropdown_users( array(
'name' => 'post_author_override',
'selected' => empty($post->ID) ? $user_ID : $post->post_author,
'include_selected' => true
) );
}
我需要解决此问题,因为管理员可以保存配置文件,就像其他用户正在保存一样,ID是否可以在usermeta中更改以使搜索正常进行
答案 0 :(得分:0)
您好,这是一个对我有用的解决方案;
$author_id = get_post_field( 'post_author', $event->ID );
现在$ event是事件管理器中的事件对象。请注意,这也可能是$ post变量
希望有帮助:)