我需要在变量中保存这一行:
<?php echo do_shortcode('[ajax_load_more container_type="div" post_type="ps_resources" posts_per_page="6" pause="true" scroll="false" button_label="Load More"]'); ?>
基本上是这样的:
var loadMore = '<?php echo do_shortcode('[ajax_load_more container_type="div" post_type="ps_resources" posts_per_page="6" pause="true" scroll="false" button_label="Load More"]'); ?>';
这可能吗?我试图逃避双引号,但我没有运气。
答案 0 :(得分:1)
有几种方法可以解决这个问题。
这些最简单的方法是使用反引号(模板文字),尽管您可能需要将其编译为ES5才能在旧浏览器上运行。
var loadMore = `<?php echo do_shortcode('[ajax_load_more container_type="div" post_type="ps_resources" posts_per_page="6" pause="true" scroll="false" button_label="Load More"]'); ?>`;
第二种方法是使用\
var loadMore = '<?php echo do_shortcode(\'[ajax_load_more container_type="div" post_type="ps_resources" posts_per_page="6" pause="true" scroll="false" button_label="Load More"]\'); ?>';
第三种方法是连接字符串:
var loadMore = '<?php echo do_shortcode('+"'"+'[ajax_load_more container_type="div" post_type="ps_resources" posts_per_page="6" pause="true" scroll="false" button_label="Load More"]'+"'"+'); ?>';
答案 1 :(得分:-1)
你可以这样做:
var loadMore = '<?php echo do_shortcode('[ajax_load_more container_type="div" post_type="ps_resources" posts_per_page="6" pause="true" scroll="false" button_label="Load More"]'); ?>';
一旦你点击<?php
你在PHP上下文中,并且它不知道js引用,你就不必担心来自js的引用。您需要担心的一件事是,如果该函数的输出中有任何单引号,那么我会这样做:
var loadMore = '<?php echo str_replace("'", "\'", do_shortcode('[ajax_load_more container_type="div" post_type="ps_resources" posts_per_page="6" pause="true" scroll="false" button_label="Load More"]')); ?>';
答案 2 :(得分:-2)
是的,您可以使用`
var loadMore = `"' TEST'"`;
console.log(loadMore); // "' TEST'"
请记住,在`
内,您可以根据需要使用"
或'
。
所以对于你的例子,你可以这样做:
var loadMore = `'<?php echo do_shortcode('[ajax_load_more container_type="div" post_type="ps_resources" posts_per_page="6" pause="true" scroll="false" button_label="Load More"]'); ?>'`;