我正在制作一个Wordpress模板, 我想在内置的Wordpress Customizer中有一些选项, 例如强调色, 自定义字体等, 然后将在整个模板中使用。但是, 这意味着我不能只编写静态CSS, 而必须以某种方式传递变量。我将如何去做呢?
#1在https://www.cssigniter.com/how-to-create-a-custom-color-scheme-for-your-wordpress-theme-using-the-customizer/中找到了答案。
这是最相关的代码:
function theme_enqueue_styles() {
wp_enqueue_style( 'theme-styles', get_stylesheet_uri() );
// This is where you enqueue your theme's main stylesheet
$custom_css = theme_get_customizer_css();
wp_add_inline_style( 'theme-styles', $custom_css );
}add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
例如, theme_get_customizer_css()是一个自定义函数, 该函数返回一串CSS, 该CSS直接覆盖主样式表中与颜色有关的任何代码。因为它是用PHP生成的, 所以get_theme_mod()可用于检查/插入任何定制程序设置。生成此CSS后, wp_add_inline_style()将其添加到主样式表中;如果一切都正确编码, 那么CSS的级联性质将使新添加的代码覆盖先前的代码, 而无需!important或类似的东西。
【更改基于WP_Customize的WordPress模板CSS】我只是想知道内联插入是否可以(或应该)是定制程序可能更改的唯一CSS声明, 而不是覆盖, 即在theme_get_customizer_css()中, 如果未设置任何定制程序选项, 则返回默认代码而不是电子表格中的默认代码开始。这样可以避免大量CSS重复, 依靠层叠层次结构来工作, 但是样式表本身也不完整, 所以也许有理由不这样做吗?如果有人有想法, 将喜欢输入。
推荐阅读
- Flink Table API & SQL 聚合性能调优
- 更改Hestia上的节顺序
- 可以通过覆盖Walker_Nav_menu来使用PHP更改wordpress定制的walker类的第一个(根)ul标签吗()
- 无法在”自定义”菜单中为站点标识logo选择图像
- 无法在WordPress中添加自定义页面
- 无法在WordPress编辑器中保存已编辑的主题PHP页面(管理面板)
- 我可以允许作者将自己的头像更改为自定义图片吗()
- Astra入门网站导入未通过,它弹出”未找到”,并永远保持导入网站继续进行
- 在WordPress中调用动态数据