如何将这段footer.php代码更改为在重新加载时调用随机图像?

时间:2013-07-25 作者:musenut

这来自footer.php 我想修改wordpress主题的文件。我希望在刷新时加载五个图像中的一个,而不是1.jpg 每一次。

<script type="text/javascript">

<?php

if((is_archive()) || (is_author()) || (is_category()) || (is_home()) || (is_single()) || (is_tag()) || ($posttype == \'post\')  ) {
        $name = "news-and-information";
}else{
        $name = $wp_query->post->post_name;
}

?>

$(document).ready(function(){

        var imgPath = \'/wp-content/themes/nexus/img/page-headers/<?php echo $name; ?>/1.jpg\';

        $(\'.subheader-wrapper\').css(\'background-image\', (\'url("\'+imgPath+\'")\'));

});
</script>

2 个回复
SO网友:s_ha_dum

该主题不应使用$ 别名为WordPress loadsjQuery in"No Conflict" mode.registering 和enqueuing 正确地编写脚本,而不仅仅是将代码塞进页脚但是,所有其他条件都相同,如果您的图像以数字命名,则更改此项:

var imgPath = \'/wp-content/themes/nexus/img/page-headers/<?php echo $name; ?>/1.jpg\';
对此:

var imgPath = <?php echo site_url(); ?>/wp-content/themes/nexus/img/page-headers/<?php echo $name; ?>/<?php echo rand(1,5); ?>.jpg\';
它应该能回显图像1.jpg 通过5.jpg 随机

SO网友:gmazzap

简单的方法。具有no js 完全

模板中的某个地方有一个html标记,可能是div, 使用“subheader包装器”类。

因此,将图像以数字形式命名为@s\\u ha\\u dum所说的名称,然后将html从

<div class="subheader-wrapper" ....
在中:

<?php
if( ! is_singular() || ($posttype == \'post\')  ) {
    $name = "news-and-information";
} else {
    global $wp_query;
    $name = $wp_query->post->post_name;
} 
var img = get_template_directory_uri() . \'/img/page-headers/\' . $name . rand(1,5) . \'.jpg\';
?>
<div class="subheader-wrapper" style="background-image:url(<?php echo $imgpath; ?>)" ...
我用过get_template_directory_uri() 而不是像您这样的相对url,因为使用硬编码的相对url和激活的永久链接很可能找不到图像。

结束

相关推荐

避免POST循环中的函数名称重复(WP_FOOTER脚本)

假设我创建了一个插件,将内容(用作短代码)注入到帖子中。我正在尝试将每个帖子的代码推到页面底部。这很好,但是,当您在一个存档页面上有多篇文章使用同一短代码时,会出现明显的冲突,因为函数名会重复,并且只会输出一次页脚代码(activate\\u flex\\u slider)。<?php function your_function() { echo \'<p>This is inserted at the bottom</p>\'; }