p3i 3 ارسال شده در خرداد 98 گزارش بازنشر ارسال شده در خرداد 98 سلام من از افزونه yoast واسه سئو استفاده میکنم یه قابلیت داره که میتونی یک دسته رو به عنوان دسته اصلی انتخاب کنی حالا میخواستم این دسته اصلی رو در پست ها نشون بدم فقط دسته اصلی رو میشه لطفا بگید چیکار کنم ؟ نقل قول لینک به ارسال
muhmdzarei 37 ارسال شده در خرداد 98 گزارش بازنشر ارسال شده در خرداد 98 در 6 ساعت قبل، p3i گفته است : سلام من از افزونه yoast واسه سئو استفاده میکنم یه قابلیت داره که میتونی یک دسته رو به عنوان دسته اصلی انتخاب کنی حالا میخواستم این دسته اصلی رو در پست ها نشون بدم فقط دسته اصلی رو میشه لطفا بگید چیکار کنم ؟ سلام از این کد استفاده کنید. <?php // SHOW YOAST PRIMARY CATEGORY, OR FIRST CATEGORY $category = get_the_category(); $useCatLink = true; // If post has a category assigned. if ($category){ $category_display = ''; $category_link = ''; if ( class_exists('WPSEO_Primary_Term') ) { // Show the post's 'Primary' category, if this Yoast feature is available, & one is set $wpseo_primary_term = new WPSEO_Primary_Term( 'category', get_the_id() ); $wpseo_primary_term = $wpseo_primary_term->get_primary_term(); $term = get_term( $wpseo_primary_term ); if (is_wp_error($term)) { // Default to first category (not Yoast) if an error is returned $category_display = $category[0]->name; $category_link = get_category_link( $category[0]->term_id ); } else { // Yoast Primary category $category_display = $term->name; $category_link = get_category_link( $term->term_id ); } } else { // Default, display the first category in WP's list of assigned categories $category_display = $category[0]->name; $category_link = get_category_link( $category[0]->term_id ); } // Display category if ( !empty($category_display) ){ if ( $useCatLink == true && !empty($category_link) ){ echo '<a class="post-category" href="'.$category_link.'">'.htmlspecialchars($category_display).'</a>'; } else { echo htmlspecialchars($category_display); } } } ?> 1 نقل قول لینک به ارسال
p3i 3 ارسال شده در خرداد 98 مالک گزارش بازنشر ارسال شده در خرداد 98 در هم اکنون، muhmdzarei گفته است : سلام از این کد استفاده کنید. <?php // SHOW YOAST PRIMARY CATEGORY, OR FIRST CATEGORY $category = get_the_category(); $useCatLink = true; // If post has a category assigned. if ($category){ $category_display = ''; $category_link = ''; if ( class_exists('WPSEO_Primary_Term') ) { // Show the post's 'Primary' category, if this Yoast feature is available, & one is set $wpseo_primary_term = new WPSEO_Primary_Term( 'category', get_the_id() ); $wpseo_primary_term = $wpseo_primary_term->get_primary_term(); $term = get_term( $wpseo_primary_term ); if (is_wp_error($term)) { // Default to first category (not Yoast) if an error is returned $category_display = $category[0]->name; $category_link = get_category_link( $category[0]->term_id ); } else { // Yoast Primary category $category_display = $term->name; $category_link = get_category_link( $term->term_id ); } } else { // Default, display the first category in WP's list of assigned categories $category_display = $category[0]->name; $category_link = get_category_link( $category[0]->term_id ); } // Display category if ( !empty($category_display) ){ if ( $useCatLink == true && !empty($category_link) ){ echo '<a class="post-category" href="'.$category_link.'">'.htmlspecialchars($category_display).'</a>'; } else { echo htmlspecialchars($category_display); } } } ?> برای استفاده در پست هم میشه بگید چطور فراخوانی کنم این کد هارو در github و چند جای دیگه پیدا کردم و قرار دادم اما تغییری نکرد؟ پیشفرض وردپرس و الان در سایت از این کد استفاده میکنم که همه دسته هارو نشون میده <?php the_category (',') ?> وقتی به این کد <?php get_get_category() ?> تغییر میدم دسته هارو نشون نمیده کلا واقعا چندین ساعت پایش بودم نقل قول لینک به ارسال
muhmdzarei 37 ارسال شده در خرداد 98 گزارش بازنشر ارسال شده در خرداد 98 در 54 دقیقه قبل، p3i گفته است : برای استفاده در پست هم میشه بگید چطور فراخوانی کنم این کد هارو در github و چند جای دیگه پیدا کردم و قرار دادم اما تغییری نکرد؟ صفحه single.php رو ویرایش کنید. و به جای <?php the_category (',') ?> کدی که قرار دادم رو بزارید. نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در خرداد 98 گزارش بازنشر ارسال شده در خرداد 98 @p3i شما داخل فایل functions.php کد زیر رو اضافه کنید. add_filter('the_category_list', function($categories, $post_id) { if(empty(get_post_meta($post_id, '_yoast_wpseo_primary_category', true))) return $categories; $yCatId = get_post_meta($post_id, '_yoast_wpseo_primary_category', true); $yCatObj = get_term(absint($yCatId)); if(!is_wp_error($yCatObj) && !is_null($yCatObj)) return array($yCatObj); return $categories; }, 10, 2); سپس با استفاده از همون تابع the_category میتونید نتیجه رو ببینید. 4 نقل قول لینک به ارسال
p3i 3 ارسال شده در خرداد 98 مالک گزارش بازنشر ارسال شده در خرداد 98 در هم اکنون، muhmdzarei گفته است : صفحه single.php رو ویرایش کنید. و به جای <?php the_category (',') ?> کدی که قرار دادم رو بزارید. یعنی کل اون کد رو به جای the_category در فایل سینگل قرار بدم ؟!!!!! 1 نقل قول لینک به ارسال
p3i 3 ارسال شده در خرداد 98 مالک گزارش بازنشر ارسال شده در خرداد 98 (ویرایش شده) در هم اکنون، mehran-b گفته است : @p3i شما داخل فایل functions.php کد زیر رو اضافه کنید. add_filter('the_category_list', function($categories, $post_id) { if(empty(get_post_meta($post_id, '_yoast_wpseo_primary_category', true))) return $categories; $yCatId = get_post_meta($post_id, '_yoast_wpseo_primary_category', true); $yCatObj = get_term(absint($yCatId)); if(!is_wp_error($yCatObj) && !is_null($yCatObj)) return array($yCatObj); return $categories; }, 10, 2); سپس با استفاده از همون تابع the_category میتونید نتیجه رو ببینید. فقط یک دسته رو نشون میده اما اون دسته ای که اصلی انتخاب شده نیست مثلا من این پست رو در دسته های مطلب اختصاصی ، بازی و مود بازی قرار دادم و دسته اصلی رو مود بازی انتخاب کردم اما دسته بازی رو نشون میده https://p3i.ir/game/game-mod/آموزش-تغییر-تصویر-لودینگ-gta-v/ یا این پست در دسته های مطلب اختصاصی ، آموزش و ترفد ویندوز و دسته اموزش نرم افزار قرار دادم و اصلیشو آموزش و ترفند ویندوز ست کردم اما اموزش نرم افزار رو نشون میده https://p3i.ir/pc-net/win-learn/چند-روش-حل-مشکل-ناخوانا-بودن-زیر-نویس-فا/ ممنون ویرایش شده خرداد 98 توسط p3i نقل قول لینک به ارسال
muhmdzarei 37 ارسال شده در خرداد 98 گزارش بازنشر ارسال شده در خرداد 98 در 4 ساعت قبل، p3i گفته است : یعنی کل اون کد رو به جای the_category در فایل سینگل قرار بدم ؟!!!!! بله نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در خرداد 98 گزارش بازنشر ارسال شده در خرداد 98 @p3i یه ایراد کوچیک داشت. add_filter('the_category_list', function($categories) { global $post; if(empty(get_post_meta($post->ID, '_yoast_wpseo_primary_category', true))) return $categories; $yCatId = get_post_meta($post->ID, '_yoast_wpseo_primary_category', true); $yCatObj = get_term(absint($yCatId)); if(!is_wp_error($yCatObj) && !is_null($yCatObj)) return array($yCatObj); return $categories; }); 4 نقل قول لینک به ارسال
p3i 3 ارسال شده در تیر 98 مالک گزارش بازنشر ارسال شده در تیر 98 در هم اکنون، mehran-b گفته است : @p3i یه ایراد کوچیک داشت. add_filter('the_category_list', function($categories) { global $post; if(empty(get_post_meta($post->ID, '_yoast_wpseo_primary_category', true))) return $categories; $yCatId = get_post_meta($post->ID, '_yoast_wpseo_primary_category', true); $yCatObj = get_term(absint($yCatId)); if(!is_wp_error($yCatObj) && !is_null($yCatObj)) return array($yCatObj); return $categories; }); عالییییی بود مرسی رفیق خیلی کاربردی بود میشه گفت اموزش اختصاصی فروم حساب میشه نقل قول لینک به ارسال
mehran-b 2385 ارسال شده در تیر 98 گزارش بازنشر ارسال شده در تیر 98 در 3 دقیقه قبل، p3i گفته است : عالییییی بود مرسی رفیق خیلی کاربردی بود میشه گفت اموزش اختصاصی فروم حساب میشه خواهش میکنم. موفق باشید 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .