رفتن به مطلب

ساخت ابزارک اختصاصی


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

با سلام خدمت دوستان!

می خواهم برای پوسته وردپرسی که طراحی می کنم یک ابزارک اختصاصی اضافه کنم ولی نمی دونم باید چه کارکنم؟

کدهای داخل ابزارک مشخصه و شامل یک کوئری هست ولی نمی دونم چه طوری اونو به عنوان ابزارک برای پوسته در قسمت ابزارک ها تعریف کنم

ممنون میشم دوستان راهنمایی کنند

ویرایش شده توسط saeedagha
لینک به ارسال


function your_widget_display($args) {
extract($args);
echo $before_widget;
echo $before_title . 'My Unique Widget' . $after_title;
echo $after_widget;
// print some HTML for the widget to display here
echo "<ul>". wp_list_categories('orderby=name&show_count=1')."</ul>";
}
wp_register_sidebar_widget(
'your_widget_1', // your unique widget id
'Your Widget', // widget name
'your_widget_display', // callback function
array( // options
'description' => 'Description of what your widget does'
)
);

بجای


echo "<ul>". wp_list_categories('orderby=name&show_count=1')."</ul>";

کوئریتون رو بگذارید

کد را در functions.php کپی کنید

لینک به ارسال


function your_widget_display($args) {
extract($args);
echo $before_widget;
echo $before_title . 'My Unique Widget' . $after_title;
echo $after_widget;
// print some HTML for the widget to display here
echo "<ul>". wp_list_categories('orderby=name&show_count=1')."</ul>";
}
wp_register_sidebar_widget(
'your_widget_1', // your unique widget id
'Your Widget', // widget name
'your_widget_display', // callback function
array( // options
'description' => 'Description of what your widget does'
)
);

بجای


echo "<ul>". wp_list_categories('orderby=name&show_count=1')."</ul>";

کوئریتون رو بگذارید

کد را در functions.php کپی کنید

ممنون این ابزارک تنظیماتی در قسمت ابزارک ها نداره اگه بخوام یه قسمت ابزارکش فیلد قرار دادن تعداد نوشته های کوئری رو قرا بدم باید چه کار کنم ؟

مثلا در قسمت نمایش محبوبترین مطلب در سایت (که در انجمن آموزش داده شده بود) چطوری میشه فیلد تعداد نمایش نوشته رو برای مثلا همین ابزارکی که شما گفتینم تعریف کرد

ویرایش شده توسط saeedagha
لینک به ارسال

برای تنظیمات باید فرم بسازید

این مثال خود وردپرسه

/**

* Adds Foo_Widget widget.

*/

class Foo_Widget extends WP_Widget {

/**

* Register widget with WordPress.

*/

public function __construct() {

parent::__construct(

'foo_widget', // Base ID

'Foo_Widget', // Name

array( 'description' => __( '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 ) {

extract( $args );

$title = apply_filters( 'widget_title', $instance['title'] );

echo $before_widget;

if ( ! empty( $title ) )

echo $before_title . $title . $after_title;

echo __( 'Hello, World!', 'text_domain' );

echo $after_widget;

}

/**

* Back-end widget form.

*

* @see WP_Widget::form()

*

* @param array $instance Previously saved values from database.

*/

public function form( $instance ) {

if ( isset( $instance[ 'title' ] ) ) {

$title = $instance[ 'title' ];

}

else {

$title = __( 'New title', 'text_domain' );

}

?>

<p>

<label for="<?php echo $this->get_field_name( '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

}

/**

* 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'] ) ) ? strip_tags( $new_instance['title'] ) : '';

return $instance;

}

} // class Foo_Widget

که از


public function form( $instance ) {

به بعد مربوط می شه به مورد شما

http://codex.wordpress.org/Widgets_API

لینک به ارسال

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

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

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

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

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

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

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

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

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