एक अन्य तरीका जो मैंने कस्टम विजेट के लिए एक वर्ग को जोड़ने के लिए पाया है, वह आपके निर्माण कार्य की ' क्लासनाम ' कुंजी का उपयोग करना है जैसे:
class My_Widget_Class extends WP_Widget {
// Prior PHP5 use the children class name for the constructor…
// function My_Widget_Class()
function __construct() {
$widget_ops = array(
'classname' => 'my-class-name',
'description' => __("Widget for the sake of Mankind",'themedomain'),
);
$control_ops = array(
'id_base' => 'my-widget-class-widget'
);
//some more code after...
// Call parent constructor you may substitute the 1st argument by $control_ops['id_base'] and remove the 4th.
parent::__construct(@func_get_arg(0),@func_get_arg(1),$widget_ops,$control_ops);
}
}
और करने के लिए उपयोग डिफ़ॉल्ट 'सुनिश्चित हो before_widget या यदि आप का उपयोग अपने विषय में' register_sidebar()
function.php में, तो वह ऐसा कार्य करें:
//This is just an example.
register_sidebar(array(
'name'=> 'Sidebar',
'id' => 'sidebar-default',
'class' => '',//I never found where this is used...
'description' => 'A sidebar for Mankind',
'before_widget' => '<aside id="%1$s" class="widget %2$s">',//This is the important code!!
'after_widget' => '</aside>',
'before_title' => '<h3>',
'after_title' => '</h3>',
));
फिर आपके विजेट के हर उदाहरण पर, आपके पास इस तरह से 'विजेट मेरा वर्ग-नाम' होगा:
<aside class="widget my-class-name" id="my-widget-class-widget-N"><!-- where N is a number -->
<h3>WIDGET TITLE</h3>
<p>WIDGET CONTENT</p>
</aside>
आप पहले पैरेंट कंस्ट्रक्टर को भी बुला सकते हैं और फिर जो चाहें क्लास का नाम जोड़ सकते हैं:
class My_Widget_Class extends WP_Widget {
// Better defining the parent argument list …
function __construct($id_base, $name, $widget_options = array(), $control_options = array())
{ parent::__construct($id_base, $name, $widget_options, $control_options);
// Change the class name after
$this->widget_options['classname'].= ' some-extra';
}
}