Intereting Posts
Как просмотреть все миниатюры, созданные WP, в Media Manager? Как сделать акцию только для действий? Как фильтровать термины из пользовательской таксономии по значению usermeta на всех экранах и шаблонах Пользователь электронной почты не изменяется (кэшируется?) До следующей загрузки страницы (frontend) WooCommerce создает новый продукт и добавляет в корзину на форме submit Внутреннее присоединение переопределяет get_field плагина расширенного пользовательского поля Показать add_meta_box, выбрав определенную категорию добавить мета-поле, используя функцию.php Когда методы перенаправления wp безопасны для соединения? Сайт WordPress, запущенный на локальном сервере XAMPP, перенаправляет на страницу XAMPP Создайте собственный URL-адрес для архива блога Как создать родительскую страницу для author.php? Получить URL-адрес выбранного URL-адреса щелчка Усовершенствования плагина «ограничить вход в систему» Как удалить раздел Customizer и переместить Control прямо на панель с помощью детской темы

Значение Shortcode плагина в сообщении

Тема была выведена с функцией get_post_meta(get_the_ID(), 'some_value', true); когда я пытаюсь с die(print_r()); функции есть некоторый массив, содержащий значения, такие как

 [item_ticket_tailor] => Array ( [0] => [custom_event id="3106" ][custom_ticket id="3220" show_price="true"] ) 

Вопрос: Как я могу получить значение get_post_meta() с get_post_meta()

Solutions Collecting From Web of "Значение Shortcode плагина в сообщении"

shortcode_parse_atts

Принимает строку атрибутов shortcode и возвращает ассоциативный массив пар ключ / значение.

 // UNABLE TO TEST THIS // $value = get_post_meta(get_the_ID(), 'some_value', true); // $sc = $value [ 'item_ticket_tailor' ][ 0 ]; // TEST DATA - assuming the data is a string $sc = '[custom_event id="3106" ][custom_ticket id="3220" show_price="true"]'; // pad some elements for a better parse $sc = str_replace("[", " [ ", $sc); $sc = str_replace("]", " ] ", $sc); // convert the string shortcode to an array $array = shortcode_parse_atts($sc); // the last id is the winner, so custom_event id won't show here // only custom_ticket id echo $array[ 'id' ]; // 3220 

ВАРИАНТ

 $sc = '[custom_event id="3106" ][custom_ticket id="3220" show_price="true"]'; // split up the shortcodes $sc = str_replace("]", " ", $sc); $sc = str_replace("[", "[", $sc); $shorts = array_filter(explode('[', $sc)); $custom_event_id = false; // loop through each one foreach($shorts as $short) { // get the individual attributes of the shortcode $atts = shortcode_parse_atts($short); // if the first item in the parsed array is `custom_ticket` then get the id if($atts[ 0 ] === 'custom_ticket') { $custom_event_id = $atts [ 'id' ]; break; } } echo $custom_event_id; // 3220