Использование переменной PHP внутри do_shortcode () для WordPress - PullRequest
1 голос
/ 26 апреля 2020

сначала - извините за заголовок, точно не знаю, как назвать то, что мне нужно.

Вот что я хотел бы сделать:

1) Получить ID сообщения 2) Получить пользовательское поле из указанного идентификатора поста 3) Показать шорткод со значением пользовательского поля

Вот что у меня есть:

<?php
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'id-del-instructor', true);
wp_reset_query();
?>

С этим я могу получить и отобразить значение шорткода - хотя мне нужно сохранить его для последующего использования, а не отображать его.

Затем я нашел это для отображения шорткода с PHP:

<?php echo do_shortcode("[awsmteam id="XXX"]"); ?>

Я попытался объединить эти два кода но каждый раз, когда он ломает мой сайт.

В основном, где написано XXX, мне нужно значение из шорткода. Возможно, это что-то простое, но я зациклился и не могу понять, как это сделать.

Помогите? :) Большое спасибо!

РЕШЕНО с этим кодом - спасибо @Alon Eitan:

<?php
    global $wp_query;
    $postid = $wp_query->post->ID;
    $meta =  get_post_meta($postid, 'id-del-instructor', true);
    wp_reset_query();
    echo do_shortcode('[awsmteam id="' . $meta . '"]');
?>

1 Ответ

1 голос
/ 26 апреля 2020

Если вы делаете это внутри шаблона страницы, вы можете просто сделать.

    $meta =  get_post_meta(get_the_ID(), 'id-del-instructor', true);
    echo do_shortcode('[awsmteam id="' . $meta . '"]');

вместо вызова глобального $ wp_query и go через эти другие шаги.

...