Это относится только к плагину Store Locator, но не do_shortcode
в целом.
apply_filters
может быть приемлемым решением для других плагинов, но это не работает для Store Locator;вы увидите только пустое пространство и некоторые элементы управления.Это потому, что он ищет этот шорткод в теле страницы / поста, чтобы определить, стоит ли включать все его ссылки js вверху страницы.И без этих ссылок ничего не получится.См. Функцию sl_head_scripts
в sl-functions.php.
Чтобы изменить это поведение, просто измените эту функцию в соответствии с заголовком страницы.В моем случае я хотел, чтобы это было только на странице "магазина", поэтому я закомментировал весь тест $on_sl_page
и заменил его следующим:
$on_sl_page = ( strpos($pagename, 'shop') === 0 );
Затем я вызвал его измоя страница с apply_filters, как указано в другом ответе:
echo apply_filters( 'the_content','[STORE-LOCATOR]');
И это, кажется, работает отлично.