Как отобразить Html в шорткоде для конкретной страницы c - это страница магазина Woocommerce - PullRequest
0 голосов
/ 09 июля 2020

Как отображать Html в шорткоде для определенной страницы c - страница является страницей магазина Woocommerce Я добавляю короткий код в виджет и не показывает необходимость показывать только для определенных c страниц

вот код [rj_mysh]

function rj_mysh_shortcode() {
if(is_page(11762)) {
    $html = '<a href="example.com/script.php?id="></a>;
    return $html;
  }
}
add_shortcode('rj_mysh', 'rj_mysh_shortcode');

Ответы [ 2 ]

0 голосов
/ 09 июля 2020

Прежде всего, мы НЕ будем вводить html через функцию. php file, никогда! (Если вы это сделаете, я убью малыша Йоду!). Если вы хотите иметь реальный контроль, лучший способ - это:

Правильный способ сделать это - вставить нашу пользовательскую «функцию» в page-shop.php файл.

В вашей теме файла, у вас должен быть файл с именем page-shop.php, при его открытии под заголовком (где угодно, адаптируйте его к дизайну) добавьте следующее:

<?php
/**
* You can remplace the first line by the following line if you
* want it to apply only on shop page that are not categories: 
* if ( is_shop() && !is_product_category() ) {
*
*
* Check if it's a shop page, and if it is do stuff...
*/
if ( is_shop() ): ?>

<div>My custom html goes here</div>

<?php endif; ?>

Надеюсь, что это поможет

0 голосов
/ 09 июля 2020

Код выглядит так, как будто он будет отображаться только на странице id = 11762.

Если он находится в виджете, он может не знать, что он на странице 11762, поэтому он не отображается.

Похоже, вы хотите, чтобы этот элемент отображался только в области виджетов на странице 11762. Это немного сложно.

Решения:

  • Изменить страницу макет, чтобы он включал шорткод (самый простой)
  • Настройте собственный шаблон страницы , который включает область виджетов. Используйте этот шаблон для этой страницы и поместите туда свой виджет. Это будет похоже на обычный шаблон страницы, только с другой областью виджетов.
...