Как отобразить поля ACF из профиля пользователя в результатах поиска, которые назначены только идентификатору текущего пользователя - PullRequest
0 голосов
/ 09 июня 2019

Я настраиваю сайт так, чтобы после входа в систему он видел только те 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 ?>

Таким образом, если идентификатор пользователя равен 4, то при поиске должны отображаться только поля ACF, которые используются с результатами идентификатора пользователя 4. Я ожидаю увидеть только эти поля на странице поиска для этого пользователя, а не все поля пользователей, так как содержимое не должно быть доступно для просмотра кому-либо, кроме текущего пользователя.

ОБНОВЛЕНИЕ

Обновление, поскольку администратор может назначать значения только на страницах профиля пользователя, каждый ACF используется под идентификатором администратора (равным 1), поэтому каждый раз при поиске он перетаскивает каждый идентификатор, который использует 1, когда на самом деле Мне нужно только изменить идентификатор в соответствии с профилем пользователя, которому он соответствует

/* 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
            ) );
    }

Мне нужно обойти эту проблему, так как администратор может сохранить профиль, как если бы другой пользователь сохранял, могут ли идентификаторы изменить пользовательские меты для правильной работы поиска

1 Ответ

0 голосов
/ 09 июня 2019

Здравствуйте, вот решение, которое работает для меня;

$author_id = get_post_field( 'post_author', $event->ID );

Теперь $ event - это объект события из менеджера событий. Обратите внимание, что это также может быть переменная $ post

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...