我正在努力解决这个问题。我基本上只是想在外部链接的末尾添加一个图像(external.png)。我将图像放在我的wordpress主题中存储的名为img的目录中。如果我对图像的src是直接的,它可以工作,但我宁愿使用:
<?php bloginfo('template_directory') ?>
当把它放到after()没有用时我尝试了这个:
$(document).ready(function() {
var templateDir = "<?php bloginfo('template_directory') ?>";
$('a').filter(function() {
return this.hostname && this.hostname !== location.hostname;
}).after('<img src="' + templateDir + '/img/external.png" />');
});
但这也不起作用。有任何想法吗?提前谢谢!
答案 0 :(得分:0)
在wordpress中,将php变量插入javascript的正确方法是wp_localize_script()
。在你的Functions.php(或插件,无论如何)。
<?php
$data = array( 'some_string' => __( 'Some string to translate' ) );
wp_localize_script( 'some_handle', 'object_name', $data );
?>
调用时,wp_localize_script()
创建一个全局JS对象,然后您可以在运行时检索变量(在客户端 - 使用Firebug检查JS dom以确保发生这种情况)。
<script>
alert(object_name.some_string); // alerts 'Some string to translate'
</script>
关键是,您必须在服务器上定义PHP变量,然后才能在客户端使用它们。
或者,您可以使用ajax解决问题。 But the former solution is the preferred method in WP。
干杯