我在php包含文件中有以下代码:
function pass_the_var() {
$video_embed_code = jkaw_oembed_code();
return array(
\'embedCode\' => $video_embed_code
);
}
在同一文件的前面部分,我还将脚本排入队列:
wp_register_script(\'jkaw-js\', get_template_directory_uri() . \'/lib/js/jkaw.js\', false, \'1.0\', true);
wp_enqueue_script( \'jkaw-js\' );
wp_localize_script( \'jkaw-js\', \'phpVars\', pass_the_var() );
我正在自定义帖子类型“portfolio”上使用此代码。
wp_localize_script
成功返回数组并在上填充$video\\u embed\\u code变量
single-portfolio.php
和上
taxonomy-portfolio-cat.php
.
然而,在front-page.php
模板(我使用一个带有自己的wp\\u查询的静态首页来列出所有“公文包”帖子),$video\\u embed\\u代码作为空字符串返回。
single-portfolio.php
, taxonomy-portfolio-cat.php
和front-page.php
所有呼叫
get_template_part( \'content\', \'portfolio\' );
包含if。。其他的陈述
if ( !is_single() ) { ?>
<a class="wrapper" style="width:100%; padding-bottom: <?php echo $thumb[\'padding\']; ?>%" href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<div class="inner">
<img class="ll" data-original="<?php echo $thumb[\'src\']; ?>" />
</div>
</a>
<?php } else {
// code for a single post
} ?>
如果我打电话
pass_the_var()
内部
if(!is_single)
语句返回正确的代码,但由于某种原因,当通过
wp_localize_script
在…上
front-page.php
它失败了。
我想这与循环和事物被激发的顺序有关,但我无法找出它失败的原因以及如何解决问题。如有任何建议,我们将不胜感激,谢谢。