我正在为广告客户的节目名称创建一个WordPress小部件。
当我尝试激活插件时出现错误
插件在激活期间生成3个意外输出字符。如果您发现“已发送标头”消息,联合供稿问题或其他问题,请尝试停用或移除此插件。
我做了这些事情:
1-在PHP打开或关闭标记之前或之后删除空格
2-将编码更改为UTF8-BOM
<?php
class adsMain extends WP_Widget {
public function __construct() {
parent::__construct(
'adsMain',
__( 'تبلیغات', 'text' ),
array(
'classname' => 'adsMain',
'description' => __( 'برای ایجاد تبلیغات جدید این کادر را به مکان دلخواه خود بکشید.', 'text' )
)
);
}
/**
* Front-end display of widget.
*
* @see WP_Widget::widget()
*
* @param array $args Widget arguments.
* @param array $instance Saved values from database.
*/
public function widget( $args, $instance ) {
extract( $args );
$advertiser = apply_filters( 'widget_title', $instance['advertiser'] );
echo $advertiser;
}
/**
* Sanitize widget form values as they are saved.
*
* @see WP_Widget::update()
*
* @param array $new_instance Values just sent to be saved.
* @param array $old_instance Previously saved values from database.
*
* @return array Updated safe values to be saved.
*/
public function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['advertiser'] = strip_tags( $new_instance['advertiser'] );
return $instance;
}
/**
* Back-end widget form.
*
* @see WP_Widget::form()
*
* @param array $instance Previously saved values from database.
*/
public function form( $instance ) {
$advertiser = ( isset($instance['advertiser']) ? esc_attr ( $instance['advertiser'] ) : '' );
?>
<p>
<label for="<?php echo $this->get_field_id('advertiser'); ?>"><?php _e('نام شخص / شرکت تبلیغ دهنده:'); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id('advertiser'); ?>" name="<?php echo $this->get_field_name('advertiser'); ?>" type="text" value="<?php echo $advertiser; ?>" />
</p>
<?php
}
}
/* Register uploader */
add_action ('admin_enqueue_scripts', function () {
wp_register_script('adsMain-script' , plugins_url( '/js/adsMain-script.js', __FILE__ ), array( 'jquery' ), '20160904', true );
wp_enqueue_script('adsMain-script');
wp_enqueue_media();
});
/* Register the widget */
add_action('widgets_init', function() {
register_widget( 'adsMain' );
});
?>