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

 

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری