хотите добавить шорткод после определенного div на странице. Это возможно?
Это то, что у меня есть
if ($('.w2dc-field-output-block-categories .w2dc-label-primary a:contains("Analytics")').length > 0) {
$( '<div class = "relatedConsultants"><?php echo do_shortcode('[webdirectory-listings category = "105" directory = "1" perpage = "3" listings_view_grid_columns = "3" listings_view_type = "grid"]'); ?></div>').insertAfter( ".w2dc-field-output-block-categories" );
}
Итак, это находит раздел категорий внизу, и, если присутствует Analytics, он вставляет div и выполняет шорткод. Но я получаю сообщение об ошибке «Недействительный или неожиданный токен».
Без php jquery работает нормально, так как я могу заставить работать шорткод?
Спасибо, Стюарт
Здесь дан хороший ответ wordpress.stackexchange.com/questions/64010/…






Попробуй это
var short_code = "<?php echo do_shortcode('[webdirectory-listings category = "105" directory = "1" perpage = "3" listings_view_grid_columns = "3" listings_view_type = "grid"]'); ?>";
if ($('.w2dc-field-output-block-categories .w2dc-label-primary a:contains("Analytics")').length > 0) {
$( '<div class = "relatedConsultants">' + short_code + ' </div>').insertAfter( ".w2dc-field-output-block-categories" );
}
Вы не можете напрямую вставить php в свой javascript, это возможно только в том случае, если вы также напишете часть js в php. Похоже, ваш php был интерпретирован как javascript, поэтому вы получили неожиданную ошибку токена (
<?phpне является допустимым кодом js или чем-либо внутри этих тегов). Вам нужна функция на стороне сервера для рендеринга шорткода (например, вызов AJAX, который возвращает результатыdo_shortcodeв ваш js, чтобы вы могли включить его в DOM).