我有一个简单的Wordpress Custimizer部分正在添加。该部分显示并呈现控件,如果您在页面加载消失之前单击它,或者在页面加载消失之前停止加载(这使我相信它与JavaScript相关),则可以看到。我搞不懂为什么?
<#>UPDATE -预览加载和预览的JavaScript加载后,该部分就会消失。
以下是上述三种操作的视频:https://drive.google.com/file/d/16lJqbwCMDUanFlp1C1WsVHcTeyAS6MLu/view
下面是负责修改自定义程序的类:
customizer = $wp_customize;
$this->theme_mods = $theme_mods;
$this->settings = new Kickstarter_Customizer_Settings( $this->customizer );
$this->controls = new Kickstarter_Customizer_Controls( $this->customizer );
$this->sections = new Kickstarter_Customizer_Sections( $this->customizer );
}
public function init() {
add_action( 'customize_register', [ $this, 'kickstarter_customizer' ] );
}
/**
* Adds Kickstarter theme customizer settings
*
* @since 1.0.0
* @return void
*/
public function kickstarter_customizer() {
$this->settings->init();
$this->sections->init();
$this->controls->init();
}
}
Settings类:
customizer = $customizer;
}
/**
* Register the kickstarter theme settings
*
* @since 1.0.0
* @return void
*/
public function init() {
/*
* Theme Settings Section Settings
*/
// Theme Layout Choice
$this->customizer->add_setting( 'kickstarter_theme_layout', [
'default' => 0,
'sanitize_callback' => 'absint',
'transport' => 'refresh'
] );
// Mobile Menu Layout Choice
$this->customizer->add_setting( 'kickstarter_mobile_menu_layout', [
'default' => 0,
'sanitize_callback' => 'absint',
'transport' => 'refresh'
] );
// Header Layout Choice
$this->customizer->add_setting( 'kickstarter_header_layout', [
'default' => 0,
'sanitize_callback' => 'absint',
'transport' => 'refresh'
] );
}
各科课程:
customizer = $customizer;
}
/**
* Register the kickstarter customizer sections
*
* @since 1.0.0
* @return void
*/
public function init() {
//Add Kickstarter customizer sections
$this->customizer->add_section( 'kickstarter_theme_settings', [
'title' => __( 'Theme Settings', 'ogz_kickstarter' ),
'priority' => 1,
] );
}
}
controls类:
customizer = $customizer;
}
/**
* Registers the Kickstarter Customizer controls
*
* @since 1.0.0
* @return void
*/
public function init() {
// Theme Layout Select Control
$this->customizer->add_control( 'kickstarter_theme_layout', [
'type' => 'select',
'priority' => 5,
'section' => 'kickstarter_theme_settings',
'label' => __( 'Theme Layout Style', 'ogz_kickstarter' ),
'choices' => [
__( 'Boxed Layout', 'ogz_kickstarter' ),
__( 'Full Width Layout', 'ogz_kickstarter' ),
],
] );
// Mobile Menu Layout Select Control
$this->customizer->add_control( 'kickstarter_mobile_menu_layout', [
'type' => 'select',
'priority' => 10,
'section' => 'kickstarter_theme_settings', // Required, core or custom.
'label' => __( 'Mobile Menu Layout Style', 'ogz_kickstarter' ),
'choices' => [
__( 'Slide Down', 'ogz_kickstarter' ),
__( 'Slide Up', 'ogz_kickstarter' ),
__( 'Slide In From Left', 'ogz_kickstarter' ),
__( 'Slide In From Right', 'ogz_kickstarter' ),
__( 'Off Canvas Menu - Slide In From Left', 'ogz_kickstarter' ),
__( 'Off Canvas Menu - Slide In From Right', 'ogz_kickstarter' ),
],
] );
// Header Layout Select Control
$this->customizer->add_control( 'kickstarter_header_layout', [
'type' => 'select',
'label' => __( 'Header Layout', 'ogz_kickstarter' ),
'section' => 'kickstarter_theme_settings', // Required, core or custom.
'priority' => 5,
'choices' => [
__( 'Left Logo With Right Side Navigation', 'ogz_kickstarter' ),
__( 'Centered Logo With Bottom Navigation', 'ogz_kickstarter' ),
__( 'Sidebar Like Header Layout', 'ogz_kickstarter' ),
__( 'Half Screen Hero With Bottom Navigation', 'ogz_kickstarter' ),
__( 'Full Screen Hero', 'ogz_kickstarter' ),
],
] );
}
}
有人有什么想法或建议吗?我很感激。
发布于 2018-06-08 22:42:52
自定义程序和自定义程序预览之间存在冲突的Javascript。您的解决方案是取消股票jquery的注册。
发布于 2022-08-08 09:00:03
这可能是与带有wordpress的jQuery和主题的jQuery本身的冲突。尝试注销WP的一个,在functions.php
中添加:
add_action('wp_enqueue_scripts', 'no_more_jquery');
function no_more_jquery(){
wp_deregister_script('jquery');
}
https://wordpress.stackexchange.com/questions/305607
复制相似问题