TODO: To change the header's content go to Dr.Explain menu Options : Project Settings : HTML (CHM) Export : Setup HTML Template and Layout
×
Menu
Index

Tạo widget

Tạo widget sử dụng wordpress API.
Tạo class có kế thừa class WP_Widget
<?php
// Creating the widget
class wpb_widget extends WP_Widget {
 
     function __construct() {
          parent::__construct(
          // Base ID of your widget
          'hw_formdangky',
 
          // Widget name will appear in UI
          __('Form đăng ký', 'hoangweb'),
 
          // Widget description
          array( 'description' => __( 'Hoangweb thiết kế web giá rẻ uy tín chất lượng', 'hoangweb' ), )
          );
     }
 
     // Creating widget front-end
     // This is where the action happens
     public function widget( $args, $instance ) {
          $title = apply_filters( 'widget_title', $instance['title'] );
          // before and after widget arguments are defined by themes
          echo $args['before_widget'];
          if ( ! empty( $title ) )
          echo $args['before_title'] . $title . $args['after_title'];
 
          // This is where you run the code and display the output
          $temp=get_template_directory().'/page-templates/dangky-html.php';
          if(file_exists($temp)) include($temp);
          echo $args['after_widget'];
     }
        
     // Widget Backend
     public function form( $instance ) {
          if ( isset( $instance[ 'title' ] ) ) {
               $title = $instance[ 'title' ];
          }
          else {
               $title = __( 'New title', 'hoangweb' );
          }
          // Widget admin form
          ?>
          <p>
          <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label>
          <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
          </p>
          <?php
     }
   
     // Updating widget replacing old instances with new
     public function update( $new_instance, $old_instance ) {
          $instance = array();
          $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
          return $instance;
     }
} // Class wpb_widget ends here
 
// Register and load the widget
function wpb_load_widget() {
     register_widget( 'wpb_widget' );
}
add_action( 'widgets_init', 'wpb_load_widget' );
?>
 
Chú ý:
* Lưu trạng thái checkbox:
<input type="checkbox"  id="<?php echo $this->get_field_id('display_name'); ?>"
name="<?php echo $this->get_field_name('display_name'); ?>"  <?php checked(isset($display_name) ? 1 : 0); ?>/>
Note: Bạn không được sử dụng thuộc tính 'value' cho trường checkbox.
 
* Đa lựa chọn (multi select):
public function form( $instance ) {
    // Code for editing/adding title and adding IDs to the <select> object
    // ...
 
    <?php
            printf (
                '<select multiple="multiple" name="%s[]" id="%s" class="widefat" size="15" style="margin-bottom:10px">',
                $this->get_field_name('ID_list'),
                $this->get_field_id('ID_list')
            );
 
            // Each individual option
            foreach( $instance['ID_list'] as $id )
            {
                printf(
                    '<option value="%s" %s style="margin-bottom:3px;">%s</option>',
                    $id,
                    in_array( $id, $instance['ID_list']) ? 'selected="selected"' : '',
                    $id
                );
            }
 
            echo '</select>';
}
 
 
Made with help of Dr.Explain

Unregistered version