【发布时间】:2015-06-22 07:01:29
【问题描述】:
我正在尝试在自定义背景中添加对 CSS3 属性 background-size、background-clip 和 background-origin 的支持。为此,我修改了 full-background-manager 插件(一个非常简单的插件,可以为每页设置自定义背景)来设置这些属性。
它们似乎在管理界面中被正确设置和存储,但是在生成设置它们的样式标签时,新值被忽略;唯一受支持的属性似乎是 http://codex.wordpress.org/Custom_Backgrounds
中提到的属性自定义背景由 Wordpress 本身生成,而不是主题。我知道主题必须通过声明自身兼容并设置默认值来启用它
add_theme_support( 'custom-background', $defaults );
and Wordpress will generate the custom-background css code
<style type="text/css" id="custom-background-css">
body.custom-background { background-color: #bdd96e; }
</style>
而且插件本身似乎使用
add_filter( 'theme_mod_background_image', array( $this, 'fbm_background_image' ), 25 );
设置/覆盖默认 css 属性,例如“theme_mod_background_image”,但它只打印支持/覆盖变量的 css。换句话说,Wordpress 不知道 theme_mod_background_size,所以它不能覆盖它来打印它。
有没有办法将这些属性添加到 Wordpress 本身?我已经阅读了 admin/custom-background.php 的代码,但是我没有看到对支持的属性列表的任何引用。它们是否在一些隐藏的包含中?在数据库本身?如果我要设置它们,wordpress 会生成 CSS 吗?
我希望我已经正确解释了。我没有找到任何关于它的信息。大多数插件使用 jQuery 在 javascript 中设置这些值,而不是使用正确的 CSS 属性。如果没有,关于最新版 wordpress 内部工作原理的教程可能会作为调查线索有用。
提前致谢
【问题讨论】: