Не понимаю, что означает wfm_fw
Получается, что теперь конструктор должен будет принимать аргументы?
add_action( 'widgets_init', 'wfm_first_widget' );
function wfm_first_widget(){
register_widget( 'WFM_Widget' );
}
class WFM_Widget extends WP_Widget{
function __construct(){
/*parent::__construct(
// ID, name, args (description)
'wfm_fw',
'Мой первый виджет',
array( 'description' => 'Описание виджета' )
);*/
$args = array(
'name' => 'Мой первый виджет',
'description' => 'Описание виджета',
'classname' => 'wfm-test'
);
parent::__construct('wfm_fw', '', $args);
}
function widget(){
}
function form($instance){
extract($instance);
?>
<p>
<label for="<?php echo $this->get_field_id('title') ?>">Заголовок:</label>
<input type="text" name="<?php echo $this->get_field_name('title') ?>" id="<?php echo $this->get_field_id('title') ?>" value="<?php if( isset($title) ) echo esc_attr( $title ); ?>" class="widefat">
</p>
<?php
}
}
Из определения конструктора класса WP_Widget: https://developer.wordpress.org/reference/classes/wp_widget/__construct/
Описание первого параметра.
Parameters #Parameters
$id_base (string) (Optional) Base ID for the widget, lowercase and unique. If left empty, a portion of the widget's class name will be used Has to be unique.
Т.е по идее это просто уникальный ID виджета. Если поле не заполнять то сгенерируется ID на основе названия класса.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости