php - 如何从 wordpress 中的小部件(侧边栏)控制标题图像背景
问题描述
这是我的目标:
我想通过我用 WordPress 创建的小部件通过小部件部分的后端控制标题图像(我在侧边栏下添加了一个图像)。
这是我的代码:
<?php
add_action( 'widgets_init', 'theme_slug_widgets_init' );
function theme_slug_widgets_init() {
register_sidebar( array(
'name' => __( 'Main Sidebar', 'theme-slug' ),
'id' => 'sidebar-1',
'description' => __( 'Widgets in this area will be shown on all posts and pages.', 'theme-slug' ),
'before_widget' => '<div>',
'after_widget' => '</div>',
) );
}
?>
在模板中,我将以这种方式调用 sidbar:
<?php dynamic_sidebar( 'sidebar-1' ); ?>
到目前为止一切都很好,但是如果我想做一些不同的事情怎么办,比如:
<header style="background-image: url(<?php dynamic_sidebar( 'sidebar-1' ); ?>)"></header>
这种方法的问题是 dynamic_sidebar 函数会<div>
用一些额外的标记调用整个,但我的想法是只调用动态侧边栏中的图像。
有没有办法做到这一点?
解决方案
我建议您使用 Wordpress自定义 API
您可以在自定义程序中添加一个设置,然后您可以在任何地方调用:
// Header Image.
$wp_customize->add_setting('header_image', array( // header_image is your preferred name
'default' => '',
'transport' => 'refresh',
));
$wp_customize->add_control( new WP_Customize_Media_Control( $wp_customize, 'header_image', array(
'label' => __( 'header_image', 'your_theme' ),
'section' => 'your_section', // read more on what sections exist and how to implement them
'mime_type' => 'image',
)));
称之为:
$image_id = get_theme_mod( 'header_image', '' ); // get the image id
$image = wp_get_attachment_image_src( $image_id, 'full' ); // gets the image source
推荐阅读
- python - 能够在 Local 中提取正确的 DF dtype,但是如果我在 GCP Dataproc(源输入文件)中尝试相同的方法,则面临问题
- reactjs - 使用 Stacknavigator 反应原生自定义组件
- reactjs - React Typescript:配置路由器以允许基于用户名的 URL 而不会与其他路由冲突
- spring-cloud-dataflow - 如何配置组合任务运行器
- import - 对于 Discourse,是否有可以从文本文件(如 csv 文件)读取的导入程序?
- mongodb - 使用 MongoDB 缝合是否也会收取 MongoDB Atlas 的费用?
- c# - 重构为一行语句 bool 值
- python - 正则表达式提取日期和特定字符串
- listview - Flutter/Dart 问题使用回调删除列表视图项
- android - Microsoft Bot 服务中的自定义数据错误