使用CSS创建Widget WP

使用CSS创建Widget WP,css,wordpress,widget,Css,Wordpress,Widget,我必须创建一个插件,但我有一个小部件类和CSS的问题。我创建的代码是可以的,但我没有结果。CSS不起作用,我在类扩展小部件上使用construct方法,正如我在Wordpress网站的教程中发现的那样,我不理解这个错误 mysql 5 php 5 阿帕奇2 我的代码: class Foo_Widget extends WP_Widget { /** * Register widget with WordPress. */ function __construct() { pa

我必须创建一个插件,但我有一个小部件类和CSS的问题。我创建的代码是可以的,但我没有结果。CSS不起作用,我在类扩展小部件上使用construct方法,正如我在Wordpress网站的教程中发现的那样,我不理解这个错误

  • mysql 5
  • php 5
  • 阿帕奇2
我的代码:

class Foo_Widget extends WP_Widget {
  /**
 * Register widget with WordPress.
 */
function __construct() {
    parent::__construct(
        'foo_widget', // Base ID
        esc_html__( 'Widget Title', 'text_domain' ), // Name
        array( 'description' => esc_html__( 'A Foo Widget', 'text_domain' ), ) // Args
    );

}

/**
 * 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 ) {
    echo $args['before_widget'];
    if ( ! empty( $instance['title'] ) ) {
        echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ) . $args['after_title'];
    }
    echo esc_html__( 'Hello, World!', 'text_domain' );
    echo "Ciao a tutti"; ?>
    <p class="a">This is a paragraph, shown in the Times New Roman font.</p>
    <p class="b">This is a paragraph, shown in the Arial font</p>

    <?php 
         echo $args['after_widget'];
    }

/**
 * Back-end widget form.
 *
 * @see WP_Widget::form()
 *
 * @param array $instance Previously saved values from database.
 */
public function form( $instance ) {
    $title = ! empty( $instance['title'] ) ? $instance['title'] : esc_html__( 'New title', 'text_domain' );
    ?>
    <p>
    <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php esc_attr_e( 'Title:', 'text_domain' ); ?></label> 
    <input class="widefat" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>">
    </p>
    <?php 
}

/**
 * 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 = array();
    $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? sanitize_text_field( $new_instance['title'] ) : '';

    return $instance;
}
    public function register_plugin_styles() {
    wp_register_style( 'prova-widget-3', plugins_url( 'stile.css' ) );
    wp_enqueue_style( 'prova-widget-3' );
}
} // class Foo_Widget
function register_foo_widget() {
   register_widget( 'Foo_Widget' );
}
add_action( 'widgets_init', 'register_foo_widget' );
class Foo\u小部件扩展WP\u小部件{
/**
*使用WordPress注册小部件。
*/
函数_u构造(){
父项::u构造(
'foo_widget',//基本ID
esc_html_uuu('Widget Title','text_domain'),//名称
数组('description'=>esc_html_uuuuuuu('A Foo Widget','text_domain'),)//Args
);
}
/**
*小部件的前端显示。
*
*@请参阅WP_Widget::Widget()
*
*@param array$args小部件参数。
*@param array$实例已从数据库保存值。
*/
公共函数小部件($args,$instance){
echo$args['before_widget'];
如果(!empty($instance['title'])){
回显$args['before_title']。应用_筛选器('widget_title',$instance['title'])。$args['before_title'];
}
echo esc_html__('Hello,World!','text_domain');
回音“再见,图蒂”?>

这是一个段落,以泰晤士报新罗马字体显示

这是一个段落,以Arial字体显示


这是正常的,您已经定义了调查样式的函数,但是您没有调用它

如果要在管理空间中插入CSS,请使用钩子:
admin\u print\u styles

如果是针对站点(前端),请使用hook:
wp\u enqueue\u脚本

必须以以下方式调用将样式表插入构造函数的函数:

行政区:

function __construct() {
    parent::__construct(
            'foo_widget', // Base ID
            esc_html__('Widget Title', 'text_domain'), // Name
            array('description' => esc_html__('A Foo Widget', 'text_domain'),) // Args
    );

    // Register stylesheets for Admin Area
    add_action('admin_print_styles', array( $this , 'register_plugin_styles'));
}
前端:

    function __construct() {
    parent::__construct(
            'foo_widget', // Base ID
            esc_html__('Widget Title', 'text_domain'), // Name
            array('description' => esc_html__('A Foo Widget', 'text_domain'),) // Args
    );
    // Register stylesheets for the frontend
    add_action('wp_enqueue_scripts' , array( $this , 'register_plugin_styles') );
}

这是正常的,您已经定义了调查样式的函数,但是您没有调用它

如果要在管理空间中插入CSS,请使用钩子:
admin\u print\u styles

如果是针对站点(前端),请使用hook:
wp\u enqueue\u脚本

必须以以下方式调用将样式表插入构造函数的函数:

行政区:

function __construct() {
    parent::__construct(
            'foo_widget', // Base ID
            esc_html__('Widget Title', 'text_domain'), // Name
            array('description' => esc_html__('A Foo Widget', 'text_domain'),) // Args
    );

    // Register stylesheets for Admin Area
    add_action('admin_print_styles', array( $this , 'register_plugin_styles'));
}
前端:

    function __construct() {
    parent::__construct(
            'foo_widget', // Base ID
            esc_html__('Widget Title', 'text_domain'), // Name
            array('description' => esc_html__('A Foo Widget', 'text_domain'),) // Args
    );
    // Register stylesheets for the frontend
    add_action('wp_enqueue_scripts' , array( $this , 'register_plugin_styles') );
}

现在一切都好了。谢谢你的帮助:)现在一切都好了。谢谢你的帮助:)