我正在尝试使用这一点点PHP来随机化我的标题+背景(同时仍然相互匹配)在Wordpress网站上。这是我到目前为止所提出的,但有些是如何显示不正确的。这是我开始的代码:
<?php
$bg = array(
'dinorun.css',
'potato.css',
'glorkian.css',
'somethingelse.css',
'anothersomething.css'
);
$randombg = mt_rand(0,4);
if (in_category('dino run')) { ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_directory'); ?>/dinorun.css">
<?php } elseif (in_category('potatoman')) { ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_directory'); ?>/potatoman.css">
<?php } elseif (in_category(array('glorkian','glork'))) { ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_directory'); ?>/glorkian.css">
<?php } else { ?>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_directory') . $bg[$randombg]; ?>" >
<?php } ?>
(编辑:格式化的代码使其更具可读性,虽然它仍然无法正常工作但也做了一些修复)
现在发生的事情是,当我转到“dino run”(或其中一个)类别中的特定页面时,这将正确显示所有内容,但不知何故,在一个未分类的页面上,例如主页,它实际上只会显示potatoman css。我实际上并没有对这些css更改表示赞赏,但我到目前为止我一直在测试我的php函数并检查我的头部以查看我的代码是否存在。
答案 0 :(得分:1)
应该是
<link rel="stylesheet" href="<?php bloginfo('stylesheet_directory') . '/' . $bg[$randombg]; ?>" />
而不是
<link rel="stylesheet" href="<?php bloginfo('stylesheet_directory') . $bg[$randombg]; ?>"
所以有两件事:
/
。link
标记。正如旁注。
我认为它应该是mt_rand(0, 4);
,因为你的数组中有(而不是4个)5个CSS文件。
答案 1 :(得分:0)
你在stylesheetdirectory之后和hfef中的randombg
之前缺少斜线答案 2 :(得分:0)
我猜你的bloginfo函数回声样式表路径然后你应该这样做
代码bloginfo( 'stylesheet_directory'); echo $ bg [$ randombg];