رفتن به مطلب

khorshid

عضو سایت
  • تعداد ارسال‌ها

    2
  • تاریخ عضویت

  • آخرین بازدید

نوشته‌ها ارسال شده توسط khorshid

  1. سلام دوستان 

    من میخواستم یک ویجت رجیستر کنم

    1. این ویجت در سمت ادمین، نه تا فیلد داره. فیلد اول از کاربر متن رو دریافت میکنه و فیلد دوم از کاربر ادرس یو ار ال متن رو میگیره.

    دوباره فیلد سوم از کاربر متن رو دریافت میکنه و فیلد چهارم ادرس یوال ال رو و تا فیلد هشتم همین حالت تکرار میشه. و فیلد نهم هم آدرس عکس رو میگیره. 

    2. بعد از دریافت این اطلاعات از کاربر لینکها و عکس نمایش داده میشه. در واقع این ویجت یک کاستوم منو به همراه یک عکس هست. 

    3. نمونه ای از ریجیستر ویجت که فقط تایتل نمایش میده در این پایین هست. 

    چه کدی باید بنویسم؟

     

    <?php
    function wpb_load_widget() {
        register_widget( 'wpb_widget' );
    }
    add_action( 'widgets_init', 'wpb_load_widget' );
     
    
    class wpb_widget extends WP_Widget {
     
    function __construct() {
    parent::__construct(
    
    'wpb_widget', 
     
    
    __('WPBeginner Widget', 'wpb_widget_domain'), 
     
    
    array( 'description' => __( 'Sample widget based on WPBeginner Tutorial', 'wpb_widget_domain' ), ) 
    );
    }
     
    
     
    public function widget( $args, $instance ) {
    $title = apply_filters( 'widget_title', $instance['title'] );
     
    
    echo $args['before_widget'];
    if ( ! empty( $title ) )
    echo $args['before_title'] . $title . $args['after_title'];
     
    
    echo __( 'Hello, World!', 'wpb_widget_domain' );
    echo $args['after_widget'];
    }
             
    
    public function form( $instance ) {
    if ( isset( $instance[ 'title' ] ) ) {
    $title = $instance[ 'title' ];
    }
    else {
    $title = __( 'New title', 'wpb_widget_domain' );
    }
    // 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

     

×
×
  • اضافه کردن...