通过函数.php将样式嵌入到标题中

时间:2015-03-13 作者:Nsokyi

我正在尝试将以下挂钩添加到我的函数中。php文件。CSS样式在我查看源代码时显示出来,但它也显示随机背景图像生成器的php代码。我如何让这一行中的php在钩子中工作?

谢谢

add_action(\'wp_head\',\'hook_css\');
function hook_css()
{
    $output="
        <style>
            body {
                background-repeat: no-repeat;
                background-attachment: fixed;
                background-size: 100% 100%;
                background: url(\'../images/backgrounds/bg<?php echo rand(1,4)?>.jpg\') no-repeat top center;
            }
    </style>";
    echo $output;
}

2 个回复
最合适的回答,由SO网友:jzatt 整理而成

您没有正确地转义PHP。在本部分中$output="... <?php您可以这样做:

add_action(\'wp_head\',\'hook_css\');
function hook_css()
{
?> <!-- Closing the PHP here -->
    <style>
        body {
        background-repeat: no-repeat;
        background-attachment: fixed;
        background-size: 100% 100%;
        background: url(\'../images/backgrounds/bg<?php echo rand(1,4); ?>.jpg\') no-repeat top center;
        }
    </style>
<?php //Opening the PHP tag again
}
或者如果你喜欢你用$output 变量-确保围绕rand()函数正确转义。像这样:...backgrounds/bg". rand(1,4) .".jpg

SO网友:Abhik

更好的方法是使用背景图像的完整URL。否则,图像可能不会显示在子页面或帖子上。

<?php
add_action(\'wp_head\',\'hook_css\');
function hook_css()
{
    $output="
        <style>
            body {
                background-repeat: no-repeat;
                background-attachment: fixed;
                background-size: 100% 100%;
                background: url(\'" . get_stylesheet_directory_uri() . "/images/bg" . rand(1,4) . ".jpg\') no-repeat top center;
            }
    </style>";
    echo $output;
}

结束

相关推荐

Hooks for Links Box

Possible Duplicate:Getting archive pages in WP's AJAX internal link finder? 新的有挂钩吗internal links box 创建于WP 3.1? 我正在尝试在插件中修改它。