Используйте переменную настраиваемого поля в качестве значения аргумента шорткода в Woocommerce

В Woocommerce я использую плагин Штрих-коды и QR-коды YITH WooCommerce, и я хотел бы использовать настраиваемое поле в качестве значения аргумента в этом шорткоде. Вот сопутствующая документация.

Вот чего хотелось бы (whereCUSTOMFILEDVALUEis the value of the custom field):

[yith_render_barcode value = "CUSTOMFILEDVALUE" protocol = "CODE39"]

Можно ли включить значение настраиваемого поля в такой короткий код? Как это можно сделать?

Любая помощь будет оценена по достоинству.

Это в редакторе внутреннего содержимого или в шаблоне?

ngearing 20.06.2018 00:29

в редакторе HTML ВНУТРИ ПЛАГИНА

Francisco Bravo 20.06.2018 01:20
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
183
1

Ответы 1

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

В этом коде я получаю идентификатор сообщения страниц, сообщений или пользовательских сообщений. Вы можете указать идентификатор сообщения, используя аргумент id шорткода, как в исходном шорткоде.

Код:

function custom_yith_render_barcode( $atts ) {
    // Shortcode attributes
    $atts = shortcode_atts( array(
        'id' => '0', // Product ID
        'hide_if_empty' => '1',
        'value' => '',
        'protocol' => 'EAN8',
    ), $atts, 'render_barcode' );

    global $post;

    if ( '0' === $atts['id'] && $post && is_object($post) )
        $id = $post->ID;
    elseif ( $atts['id'] > 0 )
        $id = $atts['id'];

    $hide     = $atts['hide_if_empty'];
    $value    = get_post_meta( $id, $atts['value'], true ) ? get_post_meta( $id, $atts['value'], true ) : $atts['value'];
    $protocol = $atts['protocol'];

    return do_shortcode( "[yith_render_barcode id='$id' hide_if_empty='$hide' value='$value' protocol='$protocol']" );
}
add_shortcode('render_barcode', 'custom_yith_render_barcode');

Код находится в файле function.php вашей активной дочерней темы (или активной темы). Должно сработать.


ПРИМЕНЕНИЕ -

Ниже meta_key необходимо заменить на мета-ключ вашего настраиваемого поля. Все остальные аргументы YITH Shortcode неизменны и доступны. Только аргумент value используется для передачи настраиваемого поля мета-ключ, что позволяет получить значение настраиваемого поля во встроенном шорткоде YITH.

1) На странице Wordpress или в редакторе сообщений:

[render_barcode value = "meta_key" protocol = "CODE39"]

2) В PHP-коде:

echo do_shortcode( "[render_barcode value='meta_key' protocol='CODE39']" );

Другие вопросы по теме