سعید شعبانی

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

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

دوستان سلام

من با بخش دسته بندی های پست سفارشی مشکل دارم. من با توجه به این آموزش پست سفارشی 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 );
}

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

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


لینک به پست

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

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

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


لینک به پست

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

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

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

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


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

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

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


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