基本的Wordpress主题在定制器中显示此编辑按钮:
我也想将其添加到自己的主题中。根据这篇文章, 打开选择性刷新是必要的。
我试图通过我的自定义部分来做到这一点。仔细看看add_theme_support(‘customize-selective-refresh-widgets’);和selective_refresh-> add_partial(), 因为我认为这些是我唯一需要添加的内容:
function toorgmot_customize_register($wp_customize){
add_theme_support( 'customize-selective-refresh-widgets' );
$wp_customize->add_section('toorgmot-welcome-message-section', array(
'title' => 'Welcome Message'
));
$wp_customize->add_setting('toorgmot-welcome-message-text', array(
'default' => 'Hallo en welkom!'
));
$wp_customize->add_control( new WP_Customize_Control($wp_customize, 'toorgmot-welcome-message-control', array(
'label' => 'Text', 'section'=> 'toorgmot-welcome-message-section', 'settings' => 'toorgmot-welcome-message-text'
)));
$wp_customize->selective_refresh->add_partial( 'toorgmot-welcome-message-text', array(
'selector' => '.welcome-message', 'render_callback' => function() {
echo get_theme_mod('toorgmot-welcome-message-text');
}, ));
}
add_action('customize_register', 'toorgmot_customize_register');
它不会返回错误。多余的部分可以在定制器内部进行编辑, 就像我想要的那样。但是, 选择性刷新不起作用, 并且编辑按钮也不会显示。
#1
你需要添加代码:
$setting = $wp_customize->get_setting( 'toorgmot-welcome-message-text' );
$setting->transport = 'postMessage';
要不就:
$wp_customize->get_setting( 'toorgmot-welcome-message-text' )->transport = 'postMessage';
#2
在<head>标记内, 在<body>之后, 在</ body>之前的wp_footer()之后, 调用wp_head()。就这样
<!DOCTYPE html>
<html>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php wp_head(); ?>
</head>
<body>
<?php wp_head(); ?>
和
<?php wp_footer(); ?>
</body>
</html>
评论前必须登录!
注册