Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP+;CSS:输出选项框架内容_Php_Css_Wordpress - Fatal编程技术网

PHP+;CSS:输出选项框架内容

PHP+;CSS:输出选项框架内容,php,css,wordpress,Php,Css,Wordpress,来自编码ub3r n00b的两个问题 首先,我使用的是Devin Price的Options Framework主题,我只是想知道,只有当用户上传了一幅图像或为此选择了一种颜色时,我才能从主题选项页面在header.php文件的部分输出背景属性 Myoptions.php: $options[] = array( 'name' => __('Background', 'options_framework_theme'), 'desc' => __('Add a ba

来自编码ub3r n00b的两个问题

首先,我使用的是Devin Price的Options Framework主题,我只是想知道,只有当用户上传了一幅图像或为此选择了一种颜色时,我才能从主题选项页面
header.php
文件的
部分输出背景属性

My
options.php

$options[] = array(
    'name' =>  __('Background', 'options_framework_theme'),
    'desc' => __('Add a background.', 'options_framework_theme'),
    'id' => 'background-one',
    'std' => $background_defaults,
    'type' => 'background' );
<style type="text/css">
<?php $background = of_get_option('background-one');
    echo 'body {';
        if ($background['color']) {   
        echo '
        background: ' .$background['color']. ';';
        }

        if ($background['image']) {
        echo '
        background: url('.$background['image']. ') ';
            echo ''.$background['repeat']. ' ';
            echo ''.$background['position']. ' ';
            echo ''.$background['attachment']. ';';
        } 
    echo '
    }';
?>
</style>
// Background Defaults
    $background_defaults = array(
        'color' => '',
        'image' => '',
        'repeat' => 'no-repeat',
        'position' => 'top left',
        'attachment' => 'fixed' );
我的
主题选项
页面:

My
header.php

$options[] = array(
    'name' =>  __('Background', 'options_framework_theme'),
    'desc' => __('Add a background.', 'options_framework_theme'),
    'id' => 'background-one',
    'std' => $background_defaults,
    'type' => 'background' );
<style type="text/css">
<?php $background = of_get_option('background-one');
    echo 'body {';
        if ($background['color']) {   
        echo '
        background: ' .$background['color']. ';';
        }

        if ($background['image']) {
        echo '
        background: url('.$background['image']. ') ';
            echo ''.$background['repeat']. ' ';
            echo ''.$background['position']. ' ';
            echo ''.$background['attachment']. ';';
        } 
    echo '
    }';
?>
</style>
// Background Defaults
    $background_defaults = array(
        'color' => '',
        'image' => '',
        'repeat' => 'no-repeat',
        'position' => 'top left',
        'attachment' => 'fixed' );
但是,如果用户没有通过主题选项页面选择颜色或图像作为背景,源代码将输出:

body {
}
如果用户没有选择背景,我如何删除上面的CSS

从我收集的信息来看,需要创建一个
if
语句,但我不知道如何正确地编写它,因为我对php相当陌生


其次,如何在框架中设置默认背景图像

My
options.php

$options[] = array(
    'name' =>  __('Background', 'options_framework_theme'),
    'desc' => __('Add a background.', 'options_framework_theme'),
    'id' => 'background-one',
    'std' => $background_defaults,
    'type' => 'background' );
<style type="text/css">
<?php $background = of_get_option('background-one');
    echo 'body {';
        if ($background['color']) {   
        echo '
        background: ' .$background['color']. ';';
        }

        if ($background['image']) {
        echo '
        background: url('.$background['image']. ') ';
            echo ''.$background['repeat']. ' ';
            echo ''.$background['position']. ' ';
            echo ''.$background['attachment']. ';';
        } 
    echo '
    }';
?>
</style>
// Background Defaults
    $background_defaults = array(
        'color' => '',
        'image' => '',
        'repeat' => 'no-repeat',
        'position' => 'top left',
        'attachment' => 'fixed' );

谢谢

只需将一些内容移动到if语句中,如下所示:

<?php 
    $background = of_get_option('background-one');
    if ($background['color'] || $background['image']) {
        echo '<style type="text/css" >';
        echo 'body {';
        if ($background['color']) {   
            echo '
            background: ' .$background['color']. ';';
        }

        if ($background['image']) {
            echo '
            background: url('.$background['image']. ') ';
            echo ''.$background['repeat']. ' ';
            echo ''.$background['position']. ' ';
            echo ''.$background['attachment']. ';';
        } 
        echo '
        }';
        echo '</style>';
    }
?>

只需将一些内容移动到if语句中,如下所示:

<?php 
    $background = of_get_option('background-one');
    if ($background['color'] || $background['image']) {
        echo '<style type="text/css" >';
        echo 'body {';
        if ($background['color']) {   
            echo '
            background: ' .$background['color']. ';';
        }

        if ($background['image']) {
            echo '
            background: url('.$background['image']. ') ';
            echo ''.$background['repeat']. ' ';
            echo ''.$background['position']. ' ';
            echo ''.$background['attachment']. ';';
        } 
        echo '
        }';
        echo '</style>';
    }
?>

这听起来不像是一个编程问题,而是Devin Price对选项框架主题的支持请求。请联系软件供应商以获取您的支持选项。只需移动
echo”主体{
到if语句中,这样它只在设置了所需的背景变量时输出。这听起来不像是编程问题,而是Devin Price对选项框架主题的支持请求。请与软件供应商联系以获取支持选项。只需移动
echo”正文{
在if语句中,这样它只在设置了所需的背景变量时输出。谢谢@cale_b,正是我想要的。第二部分有什么想法吗?太好了,最好的cale_b。谢谢@cale_b,正是我想要的。第二部分有什么想法吗?太好了,最好的cale_b。