رفتن به مطلب

چه طور ویجتی از لینک ها رو رجیستر کنم؟


پست های پیشنهاد شده

سلام دوستان 

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

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

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

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