رفتن به مطلب

طراحی قسمت پست های یک دسته


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

سلام

در پی تایپک زیر من به یه سری نتایج رسیدم و میخواستم راهنماییم کنین که چجوری عملیش کنم :

من میخوام توی پنل مدیریت وردپرسم یه بخش اضافه کنم به نام مثلا "مدیریت پست دسته ها"

بعد وقتی توی اون بخش میریم یه تکست باکس باشه که نام فونت آیکون رو توش بنویسیم و یه کمبو باکس هم باشه که توش تمام دسته های سایت رو نشون بده و یک باتن هم باشه که وقتی روش کلیک کرد اون پست های اون دسته توی صفحه اصلی سایت نشون داده بشه

مثلا من توی فیلد آیکون مقدار "fa-global" رو مینویسم و از توی کمبو باکس هم دسته ی تفریحی رو انتخاب میکنم بعد حالا میخوام وقتی رفتم توی صفحه اصلی سایت یه باکس ایجاد شده باشه (باکسی که خودم طراحی کردم ) بعد توی قسمت آیکون بیاد اون آیکونی رو که بهش اختصاص دادیم رو نشون بده و توی قسمت مطالب هم مطالب اون دسته رو

چجوری باید همچین کاری رو بکنم؟!!

امیدوارم خوب تونسته باشم منظورم رو برسونم!!

لینک به ارسال

دوستان من الان جدیدترین نسخه صحیفا رو دانلود کردم (لینک دانلود) دقیقا همون چیزی که میخواستم توشه اما نمیدونم چجوری اونو تو قالب خودم پیاده سازی کنم

چیزی که تو قالب صحیفاست به شکل زیره :

میری تو ابزارک ها

بعد از ابزار های در دسترس نوشته های دسته رو توی یک ناحیه ابزارکی قرار میدیم

بعد گزینه هایی که داره به شرح زیره :

1.عنوان

2.تعداد نوشته ها جهت نمایش

3.دسته بندی (توی یک لیست دسته ها رو نشون داده)

4.نمایش بند انگشتی

بعد وقتی ذخیره رو میزنیم میاد توی سایت مثلا 5 تا از نوشته های دسته سرگرمی رو با تصاویرش نشون میده

چجوری باید بسازم همچین چیزی رو ؟؟

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

سلامی مجدد دوستان

من تا اینجا پیش رفتم که تونستم یه ابزارک اختصاصی درست کنم اما حالا نمیدونم این مقادیر رو که میگیرم رو چجوری نشون بدم ؟؟

کدی که من نوشتم ایناس (فایل widget.php):


<?php
// Creating the widget
class wpb_widget extends WP_Widget {
function __construct() {
parent::__construct(
// Base ID of your widget
'wpb_widget',
// Widget name will appear in UI
__('نوشته های دسته', 'test'),
// Widget description
array( 'description' => __( 'نمایش نوشته های یک دسته خاص', 'test' ), )
);
}
// Creating widget front-end
// This is where the action happens
public function widget( $args, $instance ) {
extract( $args );
$title = apply_filters('widget_title', $instance['title'] );
$icon = $instance['icon'];
$cats_id = $instance['cats_id'];

}
// Widget Backend

function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = strip_tags( $new_instance['title'] );
$instance['icon'] = strip_tags( $new_instance['icon'] );
$instance['cats_id'] = implode(',' , $new_instance['cats_id'] );
return $instance;
}

public function form( $instance ) {
// Widget admin form
$defaults = array( 'title' =>__( 'Category Posts' , 'tie'), 'icon'=>'' , 'cats_id' => '1' );
$instance = wp_parse_args( (array) $instance, $defaults );
$categories_obj = get_categories();
$categories = array();
foreach ($categories_obj as $pn_cat) {
$categories[$pn_cat->cat_ID] = $pn_cat->cat_name;
}
?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'عنوان :' , 'tie') ?></label>
<input id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" class="widefat" type="text" />
</p>
<p>
<label for="<?php echo $this->get_field_id( 'icon' ); ?>"><?php _e( 'آیکون : ', 'tie') ?></label>
<input id="<?php echo $this->get_field_id( 'icon' ); ?>" name="<?php echo $this->get_field_name( 'icon' ); ?>" value="<?php echo $instance['icon']; ?>" class="widefat" type="text" />
</p>
<p>
<?php $cats_id = explode ( ',' , $instance['cats_id'] ) ; ?>
<label for="<?php echo $this->get_field_id( 'cats_id' ); ?>"><?php _e( 'دسته مورد نظر:' , 'tie') ?></label>
<select multiple="multiple" id="<?php echo $this->get_field_id( 'cats_id' ); ?>[]" name="<?php echo $this->get_field_name( 'cats_id' ); ?>[]">
<?php foreach ($categories as $key => $option) { ?>
<option value="<?php echo $key ?>" <?php if ( in_array( $key , $cats_id ) ) { echo ' selected="selected"' ; } ?>><?php echo $option; ?></option>
<?php } ?>
</select>
</p>
<?php
}

} // 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' );

لینک به ارسال

اینم کدهایی که توی قالب صحیفا بود :


<?php
add_action( 'widgets_init', 'tie_categort_posts_widget' );
function tie_categort_posts_widget() {
register_widget( 'tie_categort_posts' );
}
class tie_categort_posts extends WP_Widget {
function tie_categort_posts() {
$widget_ops = array( 'classname' => 'categort-posts' );
$control_ops = array( 'width' => 250, 'height' => 350, 'id_base' => 'categort-posts-widget' );
$this->WP_Widget( 'categort-posts-widget', THEME_NAME .' - '.__( "Category Posts" , 'tie' ) , $widget_ops, $control_ops );
}

function widget( $args, $instance ) {
extract( $args );
$title = apply_filters('widget_title', $instance['title'] );
$no_of_posts = $instance['no_of_posts'];
$cats_id = $instance['cats_id'];
$thumb = $instance['thumb'];
echo $before_widget;
echo $before_title;
echo $title ; ?>
<?php echo $after_title; ?>
<ul>
<?php tie_last_posts_cat($no_of_posts , $thumb , $cats_id)?>
</ul>
<div class="clear"></div>
<?php
echo $after_widget;
}
function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = strip_tags( $new_instance['title'] );
$instance['no_of_posts'] = strip_tags( $new_instance['no_of_posts'] );

$instance['cats_id'] = implode(',' , $new_instance['cats_id'] );
$instance['thumb'] = strip_tags( $new_instance['thumb'] );
return $instance;
}
function form( $instance ) {
$defaults = array( 'title' =>__( 'Category Posts' , 'tie'), 'no_of_posts' => '5' , 'cats_id' => '1' , 'thumb' => 'true' );
$instance = wp_parse_args( (array) $instance, $defaults );

$categories_obj = get_categories();
$categories = array();
foreach ($categories_obj as $pn_cat) {
$categories[$pn_cat->cat_ID] = $pn_cat->cat_name;
}
?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' , 'tie') ?></label>
<input id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo $instance['title']; ?>" class="widefat" type="text" />
</p>
<p>
<label for="<?php echo $this->get_field_id( 'no_of_posts' ); ?>"><?php _e( 'Number of posts to show:' , 'tie') ?></label>
<input id="<?php echo $this->get_field_id( 'no_of_posts' ); ?>" name="<?php echo $this->get_field_name( 'no_of_posts' ); ?>" value="<?php echo $instance['no_of_posts']; ?>" type="text" size="3" />
</p>
<p>
<?php $cats_id = explode ( ',' , $instance['cats_id'] ) ; ?>
<label for="<?php echo $this->get_field_id( 'cats_id' ); ?>"><?php _e( 'Category:' , 'tie') ?></label>
<select multiple="multiple" id="<?php echo $this->get_field_id( 'cats_id' ); ?>[]" name="<?php echo $this->get_field_name( 'cats_id' ); ?>[]">
<?php foreach ($categories as $key => $option) { ?>
<option value="<?php echo $key ?>" <?php if ( in_array( $key , $cats_id ) ) { echo ' selected="selected"' ; } ?>><?php echo $option; ?></option>
<?php } ?>
</select>
</p>
<p>
<label for="<?php echo $this->get_field_id( 'thumb' ); ?>"><?php _e( 'Display Thumbnails :' , 'tie') ?></label>
<input id="<?php echo $this->get_field_id( 'thumb' ); ?>" name="<?php echo $this->get_field_name( 'thumb' ); ?>" value="true" <?php if( $instance['thumb'] ) echo 'checked="checked"'; ?> type="checkbox" />
</p>
<?php
}
}
?>

لینک به ارسال

آقا بالاخره موفق شدم درست کنم

اما یه مشکلی دارم اونم این هست که میخوام تو خط زیر category_name رو برابر با یک متغیر کنم اما نمیدونم چجوری :( مثلا به جای fun مقدار متغیر x رو قرار بده

<?php $my_query = new WP_Query('category_name=fun &showposts=3');

لینک به ارسال

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

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

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

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

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

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

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

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

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