我正在建立自己的wordperss主题, 并且在WordPress Customizer上启动主题选项时, 遇到了一些麻烦。
基本上, 我试图创建一个textarea以及我已阅读的内容, 我需要创建一个扩展类, 然后在WordPress的add_control函数下调用它。
我已经尝试过了, 并且在定制器模式下都可以正常工作, 但是一旦我进入网站的任何其他部分, 我就会收到此错误:
致命错误:找不到类”
WP_Customize_Control”
正如我所说的, 它在自定义程序中可以100%自用, 但是其他任何页面(包括admin)我都会收到此消息。
这是课程:
class ublxlportfolio_textarea extends WP_Customize_Control {
public $type = 'textarea';
public function render_content() {
?>
<
label>
<
span class="customize-control-title">
<
?php echo esc_html( $this->
label );
?>
<
/span>
<
textarea rows="5" style="width:100%;
" <
?php $this->
link();
?>
>
<
?php echo esc_textarea( $this->
value() );
?>
<
/textarea>
<
/label>
<
?php
}
}
我需要将其包装在条件标签中吗?如果是这样, 那会是什么?
我做错了吗?
#1为了澄清@Robert的正确答案:
【致命错误(找不到类” WP_Customize_Control” )】WP_Customize_Control类仅在手动使用主题定制器时才加载。因此, 你需要在绑定到” customize_register” 操作的函数中定义你的类。
例子:
add_action( 'customize_register', 'my_customize_register' );
function my_customize_register($wp_customize) {//class definition must be within my_customie_register function
class ublxlportfolio_textarea extends WP_Customize_Control { ... }//other stuff
}
#2在类定义之前, 需要以下行:
include_once ABSPATH . 'wp-includes/class-wp-customize-control.php';
我遇到了同样的问题, 并从Google登陆了, 希望对你有所帮助!
#3发现该类需要进入register函数内!
推荐阅读
- 在Chrome和Chrome上预先登录WordPress主题(avada)时出错
- 加载资源失败(服务器响应,状态为404 Not Found)
- WordPress自定义帖子中面临错误
- WP排除多个页面模板
- 在相关的Post WordPress中排除草稿发布
- 错误WordPress jQuery表单错误说未引用函数()
- esc_attr()和sanitize_text_field()之间的确切区别
- 来自wordpress主题的functions.php文件错误
- #yyds干货盘点#Pandas数据清洗实用指南