ali_fyz

نحوه نمایش دسته بندی پست تایپ(فوری)

5 پست در این موضوع قرار دارد

سلام دوستان

من پست تایپ درست کردم بعد دسته بندی پست تایپ هم درست کردم حالا نمیتونم دسته بندی پست تاپ هامو نمایش بدم. باید چکار کنم؟

توی اینترنت زیاد سرچ کردم ولی جواب ها بدرد من نخورد.

0

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


لینک به پست

مطمئنید دسته‌بندی رو برای پست‌تایپ خودتون تعریف کردید؟ آموزش‌های استاد فخار رو بخونید، در صورتی که مشکلتون حل نشد، کد رجیستر پست‌تایپ و تاکسونومی رو اینجا بزارید تا بررسی کنیم.

موفق باشید.

2

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


لینک به پست

مطمئنید دسته‌بندی رو برای پست‌تایپ خودتون تعریف کردید؟ آموزش‌های استاد فخار رو بخونید، در صورتی که مشکلتون حل نشد، کد رجیستر پست‌تایپ و تاکسونومی رو اینجا بزارید تا بررسی کنیم.

موفق باشید.

راستش همه رو مطمئنم چون از توی اینترنت خوندم. کدم اینه:


/*-------
ساخت پست تایپ محصولات
---------*/
function my_custom_post_product() {
$labels = array(
'name' => _x( 'محصولات', 'post type general name' ),
'singular_name' => _x( 'محصول', 'post type singular name' ),
'add_new' => _x( 'افزودن جدید', 'book' ),
'add_new_item' => __( 'افزودن محصول جدید' ),
'edit_item' => __( 'ویرایش محصول' ),
'new_item' => __( 'محصول جدید' ),
'all_items' => __( 'همه محصولات' ),
'view_item' => __( 'نمایش محصول' ),
'search_items' => __( 'جست و جو محصول' ),
'not_found' => __( 'محصولی یافت نشد' ),
'not_found_in_trash' => __( 'محصولی در زباله دان یافت نشد' ),
'parent_item_colon' => '',
'menu_name' => 'محصولات'
);
$args = array(
'labels' => $labels,
'description' => 'ذخیره اطلاعات مربوط به محصولات',
'public' => true,
'menu_position' => 5,
'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ),
'rewrite' => array( 'slug' => 'product' ),
'has_archive' => true,
);
register_post_type( 'product', $args );
}
add_action( 'init', 'my_custom_post_product' );
function my_taxonomies_product() {
$labels = array(
'name' => _x( 'دسته بندی محصولات', 'taxonomy general name' ),
'singular_name' => _x( 'دسته بندی محصولات', 'taxonomy singular name' ),
'search_items' => __( 'جست و جوی دسته بندی محصولات' ),
'all_items' => __( 'همه دسته بندی محصولات' ),
'parent_item' => __( 'دسته بندی محصول جاری' ),
'parent_item_colon' => __( 'دسته بندی محصول جاری:' ),
'edit_item' => __( 'ویرایش دسته بندی محصول' ),
'update_item' => __( 'تغییر دسته بندی محصول' ),
'add_new_item' => __( 'افزودن دسته بندی جدید محصول' ),
'new_item_name' => __( 'دسته بندی جدید محصول' ),
'menu_name' => __( 'دسته بندی محصولات' ),
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
);
register_taxonomy( 'product_category', 'product', $args );
}
add_action( 'init', 'my_taxonomies_product', 0 );
/*-------
---------*/

این آدرسو میخوام چاپ کنم ولی وقتی میزنم صفحه خالی میاد.


localhost/product_category/محصولات/

1

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


لینک به پست

دو مشکل هست اینجا:

1. شما برگه های ویژه پست تایپتو نساختی. برگه های ویژه پست تایپ اینا هستن:


archive-{postType}.php
single-{postType}.php

که برای پست تایپ شما میشه:


archive-product.php
single-product.php

پس از ساخت این پرونده ها اونا رو با کدهای خودت پر کن. به طور پیشفرض میتونی همون کدهای پرونده های بایگانی و تک نوشته رو در این پرونده ها رونوشت بگیری. سپس برو به پیوندهای یکتا در تنظیمات، و یک بار ذخیره رو بزن تا پیوندهای یکتات بازنویسی بشه. اکنون می تونی هم دسته بندی های پست تایپتو ببینی هم تک نوشته های پست تایپتو.

2. شما اگه ده تا دسته بندی تو در تو هم تعریف کنی بازم نشانیت برای کالای نمونه به این شکله:


http://example.com/product/کالای-نمونه

یعنی بازم دسته بندی رو نه در نشانی میاره نه نشون میده. برای اینم راه حلی هست :D

افزونه Custom Post Type Permalinks نوشته Toro_Unit رو پیدا و نصب کن. سپس باز برو توی تنظیمات پیوند های یکتا. اکنون میبینی که پایین کادرهای ورودی تازه افزوده شده که ویژه پست تایپ ها هستش. هم اکنون اسلاگ نمایش دسته بندی رو درمیان دو % بنویس. برای نمونه اینو بنویس:


/%download_product%/%postname%/

این کد هم نام کالا رو نشون میده هم دسته بندی هاشو. نشانی به این شکل در میاد:


http://example.com/product/my-product-category/کالای-نمونه

امیدوارم مفید بوده باشه ;)

ویرایش شده در توسط DariushGreat
1

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


لینک به پست
در در 8/31/2015 at 15:33، DariushGreat گفته است :

دو مشکل هست اینجا:

1. شما برگه های ویژه پست تایپتو نساختی. برگه های ویژه پست تایپ اینا هستن:

 

 

archive-{postType}.php
single-{postType}.php

 

که برای پست تایپ شما میشه:

 

 

archive-product.php
single-product.php

 

پس از ساخت این پرونده ها اونا رو با کدهای خودت پر کن. به طور پیشفرض میتونی همون کدهای پرونده های بایگانی و تک نوشته رو در این پرونده ها رونوشت بگیری. سپس برو به پیوندهای یکتا در تنظیمات، و یک بار ذخیره رو بزن تا پیوندهای یکتات بازنویسی بشه. اکنون می تونی هم دسته بندی های پست تایپتو ببینی هم تک نوشته های پست تایپتو.

2. شما اگه ده تا دسته بندی تو در تو هم تعریف کنی بازم نشانیت برای کالای نمونه به این شکله:

 

 

http://example.com/product/کالای-نمونه

 

یعنی بازم دسته بندی رو نه در نشانی میاره نه نشون میده. برای اینم راه حلی هست :D

افزونه Custom Post Type Permalinks نوشته Toro_Unit رو پیدا و نصب کن. سپس باز برو توی تنظیمات پیوند های یکتا. اکنون میبینی که پایین کادرهای ورودی تازه افزوده شده که ویژه پست تایپ ها هستش. هم اکنون اسلاگ نمایش دسته بندی رو درمیان دو % بنویس. برای نمونه اینو بنویس:

 

 

/%download_product%/%postname%/

 

این کد هم نام کالا رو نشون میده هم دسته بندی هاشو. نشانی به این شکل در میاد:

 

 

http://example.com/product/my-product-category/کالای-نمونه

 

امیدوارم مفید بوده باشه ;)

 

 

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

0

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط mam1371
      سلام دوستان کدی دارم که برای نوشته ها کار میکنه ولی برای پست تایپ هام کار نمیکنه کسی می تونه بگه کجاشو باید ویرایش کنم ؟
      <?php add_action("admin_init", "posts_init"); function posts_init(){ add_meta_box("post_options", "تنظیمات برای این پست", "post_options", "post", "normal", "high"); } function post_options(){ global $post ; $get_meta = get_post_custom($post->ID); wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' ); ?> <div class="pasargad-content"> <div class="pasargad-title"><h3>اطلاعات پست</h3></div> <div class="ps-padding"> <div class="pasargad-help"><div class="help"> برای وارد کردن لینک های خود از فهرست نقطه دار استفاده کنید. </div></div> <?php pasargad_post_options(array( "name" => "لینک های دانلود", "id" => "downloads", "type" => "wpeditor" )); ?> <div class="panel-item-divider"></div> <?php pasargad_post_options(array( "name" => "فرمت فایل", "id" => "format", "type" => "text" )); pasargad_post_options(array( "name" => "حجم فایل", "id" => "mb", "type" => "text" )); pasargad_post_options(array( "name" => "نسخه ی فایل", "id" => "ver", "type" => "text" )); pasargad_post_options(array( "name" => "اندروید مورد نیاز", "id" => "and", "type" => "text" )); ?> <div class="panel-item-divider"></div> <?php pasargad_post_options(array( "name" => "راهنمایی ها", "id" => "help", "type" => "wpeditor" )); ?> </div> </div> <!---------- //END ----------> <input type="hidden" name="pasargad_post_save" value="true"> <?php } add_action('save_post', 'save_post'); function save_post( $post_id ){ global $post; if ( defined('DOING_AUTOSAVE') && DOING_AUTOSAVE ) return $post_id; if (isset($_POST['pasargad_post_save'])) { $custom_meta_fields = array( 'downloads', 'and', 'ver', 'format', 'mb', 'help', ); foreach( $custom_meta_fields as $custom_meta_field ){ if(!empty($_POST[$custom_meta_field]) ) update_post_meta($post_id, $custom_meta_field, $_POST[$custom_meta_field]) ; else delete_post_meta($post_id, $custom_meta_field); } } } /*********************************************************/ function pasargad_post_options($value){ global $post; ?> <div class="meta-option-item" id="<?php echo $value['id'] ?>-item"> <span><?php echo $value['name']; ?></span> <?php $id = $value['id']; $get_meta = get_post_meta($post->ID); if( isset( $get_meta[$id][0] ) ) $current_value = htmlspecialchars_decode($get_meta[$id][0]); switch ( $value['type'] ) { //============================= // @ Text //============================= case 'text': ?> <input name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" type="text" value="<?php echo $current_value ?>" /> <?php break; //============================= // @ Checkbox //============================= case 'checkbox': if( !empty( $current_value ) ){$checked = "checked=\"checked\""; } else{$checked = "";} ?> <div class="checkbox-wrapper" style="float:left;"> <input class="toggleswitch-big" type="checkbox" name="<?php echo $value['id'] ?>" id="<?php echo $value['id']; ?>" <?php echo $checked; ?> /> </div> <?php break; //============================= // @ Select //============================= case 'select': ?> <select name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>"> <?php foreach ($value['options'] as $key => $option) { ?> <option value="<?php echo $key ?>" <?php if ( $current_value == $key) { echo ' selected="selected"' ; } ?>><?php echo $option; ?></option> <?php } ?> </select> <?php break; //============================= // @ Textarea //============================= case 'textarea': ?> <textarea style="direction:ltr; text-align:left; height:136px;" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" type="textarea" cols="100%" rows="3" tabindex="4"><?php echo $current_value ?></textarea> <?php break; //============================= // @ Editor //============================= case "wpeditor":?> <?php $settings = array( 'textarea_name' => $value['id'], 'quicktags' => array( 'buttons' => 'em,strong,link' ), 'tinymce' => true, 'media_buttons' => false, 'teeny' => true ); wp_editor( $current_value , $value['id'], $settings ); ?> <?php break; } ?> </div> <?php } ?>  
    • توسط unid_user
      درود
      دوستان گرامی، من میخوام که آخرین مطلب از یک پست تایپ خاص رو در بخشی از قالب سایتم نمایش بدم. کسی میتونه کمک کنه؟
      من از کد زیر استفاده میکنم اما این کد تمام پست ها رو نشون میده من فقط می خوام آخرین رو نشون بده.
      <section class="info"> <?php $package = new wp_Query(array( 'post_type' => 'packages', )); while($package->have_posts()): $package->the_post(); ?> <?php the_post_thumbnail(); ?> <div> <h2><?php the_title(); ?></h2> <p> <?php the_excerpt(); ?> </p> <a href="<?php the_permalink(); ?>" class="btn">مطالعه بیشتر</a> </div> <?php endwhile; ?> </section> ممنون و سپاسگذار.
    • توسط unid_user
      سلام دوستان
      من میخوام مطالبی رو که به صورت custom post type منتشر میکنم توی سابت نمایش داده بشه. ولی خطای 404 نشون میده. چه باید بکنم؟
      حدود دو سه روز هم هست که وقت میذارم ولی واقعا دیگه نمیدونم باید چکار کنم که محتوا رو نشونم بده؟
      کدهای زیر رو هم درون فایل functions.php قرار دادم.
      function create_post_type() { register_post_type( 'acme_product', array( 'labels' => array( 'name' => __( 'Products' ), 'singular_name' => __( 'Product' ) ), 'public' => true, 'has_archive' => true, ) ); } add_action( 'init', 'create_post_type' );  
    • توسط yousefamini
      سلام و عرض ادب
      دوستان من یک پست تایپ درست کردم . صفحه archive-download.php و single-download.php رو هم درست کردم .
      همه چیز در دو فایب بالا درسته . وقتی میخام برم تو یک دسته بندی از download صفحه آرشیو رو دیگه نمیخونه . محتویات رو درست بالا میاره اما قالب برگه archive.php رو میخونه .
      یعنی وقتی http://site.cpm/download_category/کامپیوتر   رو میزنم بجای اینکه آرشیو دنلود ها با قالب archive-download.php بالا بیاد با قالب archive.php  میاد .
      خواهش میکنم اگر کسی بلده راهنمایی کنه .
      تشکر
    • توسط runy
      سلام
      من 4 تا پست تایپ دارم می خوام توی صفحه اول قالبم از هر کدام 5 تای آخری را فراخوانی کنم .
      کئوریش را چطوریه ؟