Динамически вставляйте идентификатор продукта WooCommerce в шорткод - PullRequest
0 голосов
/ 18 января 2019

Настройка

У меня есть магазин WooCommerce с Elementor.

Я использую шаблон страницы одного продукта Elementor для создания страницы продукта для каждого продукта.

Я хочу использовать этот плагин для отображения элемента часто покупаемых вместе (FBT) на каждой странице продукта.

Чтобы отобразить элемент FBT, создатель плагина предоставляет следующий шорткод: [premmerce_get_bundles_by_main_product_id id="X"], где X - идентификатор продукта WooCommerce.


Выпуск

X не является динамическим.

Если в шорткоде указать идентификатор продукта, например, product 2, в шаблоне страницы продукта Elementor отобразятся продукты FBT продукта 2 для каждого из моих продуктов.


Вопрос

Можно ли сделать X динамическим?Предпочтительно, чтобы X автоматически устанавливалось на идентификатор продукта, какую страницу посещали.

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Вы можете попытаться расширить шорткод:

function so_extend_frequent_bought_shortcode() {
    global $product;
    $id = $product->get_id();

    return do_shortcode( '[premmerce_get_bundles_by_main_product_id id="' . $id . '"]');
}
add_shortcode( 'my_new_shortcode', 'so_extend_frequent_bought_shortcode' );

Теперь вам просто нужно поставить [my_new_shortcode] в ваших сообщениях.Если вы не можете редактировать файл functions.php, используйте плагин Code Snippets

0 голосов
/ 18 января 2019

Вы можете использовать динамические данные в коротких кодах, только если вы выводите короткий код следующим образом:

global $product;
$id = $product->get_id();

echo do_shortcode( '[premmerce_get_bundles_by_main_product_id id="' . $id . '"]');

см. https://developer.wordpress.org/reference/functions/do_shortcode/

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