$response 中不起作用);"-6ren"> $response 中不起作用);"-我有一个基于 WP_Query 输出产品的 PHP 文件。 到目前为止一切正常! 但是现在我也想在返回中输出javascript。并且这未被识别/加载......对我来说,它看起来像 javascri-6ren">
gpt4 book ai didi

javascript - JS 在 "return array(' html' => $response 中不起作用);"

转载 作者:行者123 更新时间:2023-11-30 19:47:51 24 4
gpt4 key购买 nike

我有一个基于 WP_Query 输出产品的 PHP 文件。

到目前为止一切正常!

但是现在我也想在返回中输出javascript。并且这未被识别/加载......对我来说,它看起来像 javascript 不被识别为 javascript。如果我插入一个警报,这将被忽略。

...
if ( $posts_gf->have_posts() ) :
while ( $posts_gf->have_posts() ) : $posts_gf->the_post();
$response .= '
<script type="text/javascript">
alert("Hello! I am an alert box!");
</script>
<div class="item col-md-4">
Produkt
</div>
';
endwhile;
...

我想从包含在 functions.php 中的 js 加载轮播。如果我将轮播的相同代码直接粘贴到模板部分文件“content-glasfaser.php”中,它就可以工作。

the output

这里是轮播应该加载的文件的摘录(所有 js/css 文件都在加载/存在于页眉和页脚中):

    $products = self::$productDefinitions[$result['Standorttyp']];

$posts_gf = new WP_Query(array(
'post_type' => 'tarife',
'posts_per_page' => 6,
'post_status' => 'publish',
'post__in' => $products,
'orderby' => 'title',
'order' => 'ASC',
'tax_query' => array(
array(
'taxonomy' => 'tarif_kategorie',
'field' => 'slug',
'terms' => 'glasfaser',
),
),
));



$street = utf8_encode($result['Strasse']);
$houseNo = $result['Hausnummer'];
$postCode = $result['Plz'];
$city = $result['Ort'];


$response = '
<h3>inside return</h3>
<section class="regular slider">';

// Zeige die Glasfaser-Tarife

if ( $posts_gf->have_posts() ) :
while ( $posts_gf->have_posts() ) : $posts_gf->the_post();
$response .= '
<div class="item col-md-4">
Produkt
</div>
';
endwhile;
wp_reset_postdata();
else:
$response .= '';

endif;


return array('html' => $response);

}
}

编辑:对于旋转木马,我在我的 functions.php (wordpress) 中插入了 3 个文件

wp_enqueue_style( 'xxx-slider', get_stylesheet_directory_uri() . '/css/slick.css', array(), '20170925' );
wp_enqueue_style( 'xxx-slidertheme', get_stylesheet_directory_uri() . '/css/slick-theme.css', array(), '20170925' );
...
wp_enqueue_script( 'xxx-sliderjs', get_template_directory_uri() . '/js/slick.min.js', array(), '20190218', true );
  • 所有这些文件都在页眉/页脚中加载。
  • 轮播应该在已经加载的 php 中运行。
  • 脚本来自http://kenwheeler.github.io/slick/它在“已加载”文件中起作用。但不在 ajax(?) 内部。

最佳答案

我找到了一个解决方案:

How do I execute a javascript after Ajax load?

我已经把它插入到我的 js 中

$( document ).ajaxComplete(function( event,request, settings ) {
// carouselcode
});

关于javascript - JS 在 "return array(' html' => $response 中不起作用);",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54781367/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com