Вместо того, чтобы отображать случайные записи, я хочу показывать сообщения с одинаковым тегом - PullRequest
0 голосов
/ 30 января 2020

Я использую WordPress версии 5.3.2, PHP 7.4. позвольте мне объяснить вам подробно. Исходный код, который я разместил выше, находится в моей функции. php. он использует этот шорткод «[random_post]» для отображения случайного заголовка записи везде, где я вставляю шорткод в мою тему.

В моем собственном случае я вставил шорткод после второго абзаца каждого поста в мой WordPress с другой функцией, и она работает.

Но мой вопрос заключается в том, чтобы вместо показа случайного поста я хотел, чтобы он отображал статью, связанную с исходным постом по тегу. А если его нет, оно должно быть пустым.

function sc_random_post($atts, $content = null){
    $html = '';
    $posts = get_posts('orderby=rand&numberposts=1');
    foreach($posts as $single_post){
        $html .= '<a href="' . get_the_permalink($single_post) . '" title="' . get_the_title($single_post) . '">' . get_the_title($single_post) . '</a>';
    }
    return $html;
}

add_shortcode('random_post', 'sc_random_post');

1 Ответ

0 голосов
/ 31 января 2020

Так что я считаю, что вы ищете сообщения, но вы бы хотели использовать параметр tag для вашего запроса.

Пример:

function getPostsByTag($tagSlug) {
    $args = ['tag' => $tagSlug];
    return get_post($args);
}

$cookingPosts = getPostsByTag('cooking');

Однако, в будущем, как правило, лучше указывать c, что вы ищете решение проблемы в конкретной среде и версии. Например, get_post может быть просто внутренней функцией вашего кода. Я предполагаю, что это вопрос WordPress от тега, но я не уверен, какую конкретно c версию WP вы используете или php в этом отношении.

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