sadeghi

نمایش دسته پست سفارشی

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

سلام

من یک پست تایپ ایجاد کردم. با کد زیر:


// Register Custom Post Type
function custom_post_type() {
$labels = array(
'name' => _x( 'Products', 'Post Type General Name', 'text_domain' ),
'singular_name' => _x( 'Product', 'Post Type Singular Name', 'text_domain' ),
'menu_name' => __( 'مقاله', 'text_domain' ),
'parent_item_colon' => __( 'دسته بندی', 'text_domain' ),
'all_items' => __( 'همه پست ها', 'text_domain' ),
'view_item' => __( 'مشاهده پست', 'text_domain' ),
'add_new_item' => __( 'افزودن پست', 'text_domain' ),
'add_new' => __( 'افزودن پست', 'text_domain' ),
'edit_item' => __( 'ویرایش پست', 'text_domain' ),
'update_item' => __( 'بروز رسانی', 'text_domain' ),
'search_items' => __( 'جستجو', 'text_domain' ),
'not_found' => __( 'پستی پیدا نشد', 'text_domain' ),
'not_found_in_trash' => __( 'پیدا نشد', 'text_domain' ),
);
$args = array(
'label' => __( 'product', 'text_domain' ),
'description' => __( 'Product information pages', 'text_domain' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'comments', 'trackbacks', 'thumbnail', 'revisions', 'custom-fields', 'page-attributes', 'post-formats', ),
'taxonomies' => array( 'category', 'post_tag' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'menu_icon' => '/images/log.png' ,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
);
register_post_type( 'product', $args );
}
// Hook into the 'init' action
add_action( 'init', 'custom_post_type', 0 );

فایل category-product.php هم دارم.

اما نمیدونم چطوری باید دسته موضوعی های این پست تایپ رو نمایش بدم!

مثلاً دسته علمی در نوشته اینطوری هست:


www.mywebsite.com/category/علمی

حالا برای اینکه دسته علمی در پست تایپ رو بخوام بیارم چیکار باید کنم ؟ :huh:

ممنون

0

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


لینک به پست

چون ساختار پیوند یکتاتون دیفالت نیست اول باید برای پست تایپ نامک تعریف کنید


'rewrite' => array('slug' => 'product'),

بعد باید ساختار پیوند یکتاتون رو یکبار دیگه به روز رسانی کنید

و با نشانی

site.com/product/category/علمی

صفحه رو احضار کنید

[sharedmedia=tutorials:tutorials:624]

2

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


لینک به پست

خیلی متشکر از راهنماییتون.

تکه کد رو در آرایه قرار دادم. کد نهایی به شکل زیر شد:


// Register Custom Post Type
function custom_post_type() {
$labels = array(
'name' => _x( 'Products', 'Post Type General Name', 'text_domain' ),
'singular_name' => _x( 'Product', 'Post Type Singular Name', 'text_domain' ),
'menu_name' => __( 'مقاله', 'text_domain' ),
'parent_item_colon' => __( 'دسته بندی', 'text_domain' ),
'all_items' => __( 'همه پست ها', 'text_domain' ),
'view_item' => __( 'مشاهده پست', 'text_domain' ),
'add_new_item' => __( 'افزودن پست', 'text_domain' ),
'add_new' => __( 'افزودن پست', 'text_domain' ),
'edit_item' => __( 'ویرایش پست', 'text_domain' ),
'update_item' => __( 'بروز رسانی', 'text_domain' ),
'search_items' => __( 'جستجو', 'text_domain' ),
'not_found' => __( 'پستی پیدا نشد', 'text_domain' ),
'not_found_in_trash' => __( 'پیدا نشد', 'text_domain' ),
);
$args = array(
'label' => __( 'product', 'text_domain' ),
'description' => __( 'Product information pages', 'text_domain' ),
'labels' => $labels,
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'comments', 'trackbacks', 'thumbnail', 'revisions', 'custom-fields', 'page-attributes', 'post-formats', ),
'taxonomies' => array( 'category', 'post_tag' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'menu_icon' => '/images/log.png' ,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
'rewrite' => array('slug' => 'product'),
);
register_post_type( 'product', $args );
}
// Hook into the 'init' action
add_action( 'init', 'custom_post_type', 0 );

ساختار پیوند یکتا رو هم چندین بار به حال پیشفرض بردم و پس از ذخیره مجدد به حالت نام نوشته درآوردم.

اما آدرسی که فرمودین 404 میده.

این لینک هم مطالعه کردم.

موارد مختلفی رو هم توی url چک کردم. مثل پس و پیش شدن عبارت product

اما جواب نداد.

مشکل از چیه؟

ممنون

0

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


لینک به پست

مشکل از خیلی جاها می تونه باشه که یکیش هم می تونه همین چند بار تغییر دادن پیوندیکتا و ذخیره مجددش باشه که توی htaccess کد اضافی ذخیره می کنه و باعث تداخل می شه

می تونید بایگانیتون رو با کوئری بسازید

به این ترتیب که ابتدای فایل category.php یا اگر ندارید archive.php بجای


<?php if(have_posts()) : ?>

وارد کنید


<?php
if(!isset($_GET['my_type']) or $_GET['my_type']=='all' ) {
$query = new WP_Query(
array(
'post_type' => array('post','product'),
));
}
else {
$query = new WP_Query(
array(
'post_type' => $_GET['my_type'],
));
}
if($query->have_posts()) :?>

و بجای


<?php while(have_posts()) : the_post();?>

وارد کنید


<?php while($query->have_posts()) : $query->the_post();?>

و به پیوندهای دسته بندی پست تایپ هم اضافه کنید


?my_type=product

1

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


لینک به پست

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

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

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

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


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

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

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


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