رفتن به مطلب

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


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

سلام

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


// 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:

ممنون

لینک به ارسال

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


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

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

و با نشانی

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

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

[sharedmedia=tutorials:tutorials:624]

لینک به ارسال

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

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


// 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

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

مشکل از چیه؟

ممنون

لینک به ارسال

مشکل از خیلی جاها می تونه باشه که یکیش هم می تونه همین چند بار تغییر دادن پیوندیکتا و ذخیره مجددش باشه که توی 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

لینک به ارسال

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

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

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

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

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

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

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

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

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