通过主题控制面板修改CSS

时间:2011-03-21 作者:Downloadtaky

大家好,我正试图为我的第一个Wordpress模板创建一个高级控制面板,但我无法添加我需要的功能。我试图添加的功能是可以通过管理面板选择DIV的位置(左侧和底部)。(为我糟糕的英语向我道歉)

这是我函数中的代码。php

$shortname = appacqua
array( "name" => "Point on the map",
    "type" => "section"),
array( "type" => "open"),
array(  "name" => "Have I to activate zona 1?",
        "desc" => "Select if you want to show the first zone",
        "id" => $shortname."_zona1c",
        "type" => "checkbox",
        "std" => "false"),
array( "name" => "Zona 1",
    "desc" => "Choose the position",
    "id" => $shortname."_zona1x",
    "type" => "text",
    "std" => "Left:???"),
array( "type" => "close"),
我可以在我的管理面板中看到“box”,如果我回显$shortname,我对复选框没有任何问题。“\\u zona1x”它显示了数字,我唯一的问题是当我尝试将此添加到我的样式中时。css:

.zona1{width:27px;height:27px;background:url(icone/1.png) no-repeat;position:absolute;bottom:0;left:<?php echo $appacqua_zona1x;?>px;}
它不起作用。。。如果我使用Google Chrome来显示元素,它会给我类似的东西:

width: 27px;
height: 27px;
background: url(icone/1.png) no-repeat;
position: absolute;
bottom: 0;
left: <?php echo $appacqua_zona1x;?>px;
我做错了什么?非常感谢你的帮助。

你知道有没有一种方法可以在控制面板(比如iFrame或类似的东西)中创建修改的预览。

假设我是一个“白手起家的程序员”:P所以请写“慢慢来”(lol),对我好一点,非常感谢!

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

从外观上看,在css中添加php是行不通的。您需要写入css文件本身或将其直接转储到html中,正如Jeremy在我写这篇文章时所说:)

每次进行任何更改时都要编写一个新的CSS文件,这可能会对系统造成负担,但如果您没有对实时站点进行大量动态更改,则效果会很好,例如,twentyten weaver主题就是这样做的。

要做到这一点,一个简单的方法是实际转动你的。css文件转换为。php文件,上面是以下内容,后面是php/css。

header(\'Content-Type: text/css\');
另一种方法是将其写入html的标题中,许多插件都会这样做,修改标记可能会很烦人,因为它在语义上并不独立,但也很容易。

通常,这是使用选项API完成的:http://codex.wordpress.org/Options_API

下面是一个在后端使用add\\u选项作为背景色的示例(例如,它放在header.php中)。

body {
  background-color: <?php echo get_option(\'background_color\'); ?>;
对于预览,可以挂接到默认的preview\\u post\\u链接并使用iframe,下面是一个示例。

 <iframe src="<?php echo clean_url(apply_filters(\'preview_post_link\', add_query_arg(\'preview\', \'true\', get_permalink($post->ID)))); ?>" width="100%" height="600" ></iframe>

Please remember there are performance issues when writing dynamic styles and you should do more research into this topic depending on the context.

SO网友:Jeremy Boyd

风格。css文件不是php文件,因此无法执行php代码。如果要包含这些样式,您需要构建一个动态css生成器,并将其包含在主题的标题中,或者在样式标记中包含这些样式。

我已经看到了这两种方式,我认为这两种方式都可以接受。

css生成器可以由用户缓存,因此性能更好。

结束