رفتن به مطلب

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


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

دوستان سلام

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


$labels = array(
'name' => 'دسته‌ها',
'singular_name' => 'دسته‌ها',
'search_items' => 'جستجوی دسته',
'popular_items' => 'بیشتر استفاده شده',
'all_items' => 'تمام دسته‌ها',
'parent_item' => 'مادر دسته',
'edit_item' => 'ویرایش دسته',
'update_item' => 'بروزرسانی دسته',
'add_new_item' => 'افزودن دسته جدید',
'new_item_name' => 'دسته جدید',
'separate_items_with_commas' => 'جداسازی دسته‌ها با کاما',
'add_or_remove_items' => 'افزودن یا حذف دسته',
'choose_from_most_used' => 'انتخاب از محبوبها'
);
$args = array(
'label' => 'دسته‌',
'labels' => $labels,
'public' => true,
'hierarchical' => true,
'show_ui' => true,
'show_in_nav_menus' => true,
'args' => array( 'orderby' => 'term_order' ),
'rewrite' => array( 'slug' => 'term', 'with_front' => true ),
'query_var' => true
);
register_taxonomy( 'term', 'blog', $args );

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

archive-blog.php

single-blog.php

taxonomy-term.php

اون دو تای اولی به خوبی دارند کار می کنند و مشکلی هم ندارند. مشکل من با taxonomy-term.php هست. وقتی وارد یکی از دسته بندی ها میشم و می زنم تا بره صفحه بعد یا قبل خطای 404 میده. می خواستم بدونم من باید از چه کوئری داخل این فایل استفاده کنم تا بر حسب دسته بندی ها مطالب را بگیره و نشون بده. کلا اگر ممکن هست بفرمایید چه کدی داخل این فایل قرار بدم تا مطالب را درست نشون بده؟

قبلا داخل این تاپیک هم مشکلم را مطرح کرده بودم ولی به نتیجه قابل قبولی نرسیدم

لینک به ارسال

این هم کدی هست که باهاش این پست سفارشی را به وردپرس اضافه کردم شاید مشکل از این باشه لطفا زودتر کمک کنید.

راستی من term را هم به article تغییر دادم چون اینجا گفته استفاده کردن از برخی از اسم ها موجب بروز خطای 404 می شود. ولی هنوز مشکل وجود دارد.


add_action('init', 'register_learn_cpt' );
function register_learn_cpt() {
$labels = array(
'name' => 'وبلاگ',
'singular_name' => 'وبلاگ',
'add_new' => 'افزودن مطلب جدید',
'add_new_item' => 'افزودن مطلب جدید',
'edit_item' => 'ویرایش مطلب',
'new_item' => 'مطلب جدید',
'view_item' => 'نمایش مطلب وبلاگ',
'search_items' => 'جستجو در مطالب وبلاگ',
'not_found' => 'هیچ مطلب در وبلاگ یافت نشد',
'not_found_in_trash' => 'هیچ مطلب از وبلاگ در زباله دان یافت نشد',
'parent_item_colon' => 'وبلاگ',
'menu_name' => 'وبلاگ',
);
$args = array(
'labels' => $labels,
'label' => 'وبلاگ',
'hierarchical' => false,
'description' => 'وبلاگ',
'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'post-formats' ), //'page-attributes'
'taxonomies' => array( 'page-category' ),
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 7,
'menu_icon' => get_template_directory_uri() . "/img/blog.png",
'show_in_nav_menus' => true,
'publicly_queryable' => true,
'exclude_from_search' => true,
'has_archive' => true,
'query_var' => true,
'can_export' => true,
'rewrite' => array('slug' => 'blog'),
'_builtin' => false,
'capability_type' => 'post'
);
register_post_type( 'blog', $args );
}
$labels = array(
'name' => 'دسته بندی های وبلاگ',
'singular_name' => 'دسته‌ها',
'search_items' => 'جستجوی دسته',
'popular_items' => 'بیشتر استفاده شده',
'all_items' => 'تمام دسته‌ها',
'parent_item' => 'مادر دسته',
'edit_item' => 'ویرایش دسته',
'update_item' => 'بروزرسانی دسته',
'add_new_item' => 'افزودن دسته جدید',
'new_item_name' => 'دسته جدید',
'separate_items_with_commas' => 'جداسازی دسته‌ها با کاما',
'add_or_remove_items' => 'افزودن یا حذف دسته',
'choose_from_most_used' => 'انتخاب از محبوبها'
);
$args = array(
'label' => 'دسته‌',
'labels' => $labels,
'public' => true,
'hierarchical' => true,
'show_ui' => true,
'show_in_nav_menus' => true,
'args' => array( 'orderby' => 'term_order' ),
'rewrite' => array( 'slug' => 'article', 'with_front' => true ),
'query_var' => true
);
register_taxonomy( 'article', 'blog', $args );

بروزرسانی

من داشتم سرچ می کردم به این سایت برخورد کردم که یک ژنراتور برای post type هست حالا با این ژنراتور کد زیر را ساختم آیا کارایی کد زیر با کدی که در بالا هست فرق می کنه؟ بهتر نیست از این کد استفاده کنم؟


add_action( 'init', 'register_cpt_وبلاگ' );
function register_cpt_وبلاگ() {
$labels = array(
'name' => _x( 'وبلاگ ها', 'وبلاگ' ),
'singular_name' => _x( 'وبلاگ', 'وبلاگ' ),
'add_new' => _x( 'Add New', 'وبلاگ' ),
'add_new_item' => _x( 'Add New وبلاگ', 'وبلاگ' ),
'edit_item' => _x( 'Edit وبلاگ', 'وبلاگ' ),
'new_item' => _x( 'New وبلاگ', 'وبلاگ' ),
'view_item' => _x( 'View وبلاگ', 'وبلاگ' ),
'search_items' => _x( 'Search وبلاگ ها', 'وبلاگ' ),
'not_found' => _x( 'No وبلاگ ها found', 'وبلاگ' ),
'not_found_in_trash' => _x( 'No وبلاگ ها found in Trash', 'وبلاگ' ),
'parent_item_colon' => _x( 'Parent وبلاگ:', 'وبلاگ' ),
'menu_name' => _x( 'وبلاگ ها', 'وبلاگ' ),
);
$args = array(
'labels' => $labels,
'hierarchical' => false,
'supports' => array( 'title', 'editor', 'excerpt', 'custom-fields' ),
'taxonomies' => array( 'category', 'article' ),
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'publicly_queryable' => true,
'exclude_from_search' => false,
'has_archive' => true,
'query_var' => true,
'can_export' => true,
'rewrite' => true,
'capability_type' => 'blog'
);
register_post_type( 'وبلاگ', $args );
}

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

دوتا با هم فرق چندانی ندارن

فقط توجه کنید بعد این تغییراتحتما باید یکبار مجدد پیوند یکتا رو ست کنید

لینک به ارسال

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

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

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

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

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

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

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

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

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