我想在 wordpress 循环内的元素上使用 Bootstrap 弹出窗口。我有一个 javascript 函数,理想情况下应该提取帖子的标题,将其存储在变量中并返回变量......但是,php 块被存储为一个字符串。我在这里和其他地方看到了许多线程,解决方案是将 php 块放入其中,<?php ?>
但这在这里不起作用。
弹出窗口显示:<?php echo the_title(); ?>
我的脚本执行得太早了吗?
我在 .js 文件中的代码与 wp_enque_script() 一起使用:
jQuery(document).ready(function($){
share = function() {
var title = "<?php echo the_title(); ?>";
return title;
}
$('.share').popover({
content: share(),
placement: 'bottom'
});
});
编辑
我wp_localize_script()
按照其中一个答案的建议使用,但变量返回null
函数.php
wp_enqueue_script( 'scripts', get_template_directory_uri() . '/js/scripts.js', array(), '', true );
wp_localize_script('scripts', 'script_vars', array(
'title' => the_title(),
'url' => the_permalink()
)
);
脚本.js
jQuery(document).ready(function($){
share = function() {
var title = script_vars.title;
return title;
}
$('.share').popover({
content: share(),
placement: 'bottom'
});
});
此外,the_title()
并在每个页面上的标记the_permalink()
后回显<body>