miraziz

فراخوانی دسته فرزند در وردپرس

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

سلام. دوستان من با کد زیر می خواستم نام دسته ی پست مورد نظر را بالای عنوان مطلب فراخوانی کنم. ولی متاسفانه این کد هم دسته مادر و هم دسته ی فرزند را فراخوانی میکند. چندان به php آشنا نیستم. چه تغییری باید بدم که تنها نام دسته ی فرزند را نشون بده؟ 

<?php the_category($separator, $parents, $post_id); ?>


 

0

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


لینک به پست

سلام و درود

 

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

موفق باشید

1

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


لینک به پست

ارسال شده در (ویرایش شده)

در 21 دقیقه قبل، naghmesara گفته است :

سلام و درود

 

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

موفق باشید

من تست کردم.کد اولی که داده بودین کار کرد ها. یعنی کدهای زیر در سایت من کاملا درست کار کرد

 

تابع زیر را درون فایل functions.php قالبتون قرار بدید.

<?php
function child_cat ($pid) {
	$cat_arr = wp_get_post_categories ($pid);
    $child_id = max ($cat_arr);
    $child_name = get_the_category_by_ID ($child_id);
    $child_link = get_category_link ($child_id);
	echo '<a href="'. $child_link .'" rel="category tag">'. $child_name .'</a>';
}
?>

و جهت نمایش آخرین دسته فرزند در فایل single.php کد زیر را قرار دهید.

<?php child_cat ($post->ID); ?>

 

ویرایش شده در توسط miraziz
0

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


لینک به پست

ارسال شده در (ویرایش شده)

فقط در همین کد از مجموع مثلا 4 زیردسته، اگر بخواهم دسته آخر و یک دسته قبل تر از اون را نشون بده راهی است؟

ویرایش شده در توسط miraziz
0

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


لینک به پست

درود مجدد

 

بله این کد در 90 درصد شرایط کار میکنه ولی توی بعضی نوع از دسته بندی ها کم میاره.

در هر صورت اگر توی سایت شما کار میکنه استفاده کنید.

 

پاینده باشید

1

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


لینک به پست

ارسال شده در (ویرایش شده)

در هم اکنون، miraziz گفته است :

فقط در همین کد از مجموع مثلا 4 زیردسته، اگر بخواهم دسته آخر و یک دسته قبل تر از اون را نشون بده راهی است؟

این مورد هم نمیشه گفت غیرممکن هست (چون هیچی غیرممکن نیست) ولی روند کدنویسیش از کد مربوط به آخرین زیر دسته دشوارتر هست. متاسفانه بنده الان سرم شلوغه نمیتونم روش فک کنم.

 

موفق باشید

ویرایش شده در توسط naghmesara
1

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


لینک به پست
در 2 ساعت قبل، naghmesara گفته است :

این مورد هم نمیشه گفت غیرممکن هست (چون هیچی غیرممکن نیست) ولی روند کدنویسیش از کد مربوط به آخرین زیر دسته دشوارتر هست. متاسفانه بنده الان سرم شلوغه نمیتونم روش فک کنم.

 خیلی ممنون. به اندازه ی کافی کمک کردین. لطف بزرگی بود
فقط من چگونه می تونم داخل کد زیر یک کلاس اضافه کنم؟
 

<?php child_cat ($post->ID); ?>

 

0

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


لینک به پست

ارسال شده در (ویرایش شده)

درود مجدد

 

function child_cat ($pid, $class_name) {
    $cat_arr = wp_get_post_categories ($pid);
    $child_id = max ($cat_arr);
    $child_name = get_the_category_by_ID ($child_id);
    $child_link = get_category_link ($child_id);
    if ($class_name)
        echo '<a href="'. $child_link .'" class="'. $class_name .'" rel="category tag">'. $child_name .'</a>';
    else
        echo '<a href="'. $child_link .'" rel="category tag">'. $child_name .'</a>';
}

 

به صورت زیر استفاده کنید:

 

<?php child_cat (get_the_ID(), 'my-css-class'); ?>

 

موفق باشید

 

پ.ن: در حلقه اصلی وردپرس

get_the_ID();

و

$post->ID;

هر دو یک مقدار را برمیگردانند.

ویرایش شده در توسط naghmesara
0

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


لینک به پست
در 16 دقیقه قبل، naghmesara گفته است :

هر دو یک مقدار را برمیگردانند.

من در فایل css  یک کلاس به نام poetname ایجاد کردم و کدهایی که شما قرار دادین را به صورت زیر تغییر دادم ولی هیچ تاثیری نداشت

function child_cat ($pid, $poetname) {
    $cat_arr = wp_get_post_categories ($pid);
    $child_id = max ($cat_arr);
    $child_name = get_the_category_by_ID ($child_id);
    $child_link = get_category_link ($child_id);
    if ($poetname)
        echo '<a href="'. $child_link .'" class="'. $poetname.'" rel="category tag">'. $child_name .'</a>';
    else
        echo '<a href="'. $child_link .'" rel="category tag">'. $child_name .'</a>';
}
<?php child_cat (get_the_ID(), 'poetname'); ?>

 

0

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


لینک به پست

ارسال شده در (ویرایش شده)

درود مجدد

 

function child_cat ($pid, $class_name) {
    $cat_arr = wp_get_post_categories ($pid);
    $child_id = max ($cat_arr);
    $child_name = get_the_category_by_ID ($child_id);
    $child_link = get_category_link ($child_id);
    if ($class_name)
        echo '<a href="'. $child_link .'" class="'. $class_name .'" rel="category tag">'. $child_name .'</a>';
    else
        echo '<a href="'. $child_link .'" rel="category tag">'. $child_name .'</a>';
}


 

کد بالا رو بدون هیچ تغییری در functions.php قرا دهید.

 

سپس کد زیر را در جایی که قصد دارید دسته بندی فرزند رو نمایش بدید قرار دهید:

 

<?php child_cat (get_the_ID(), 'my-css-class'); ?>

 

و مقدار my-css-class را با نام کلاس خود جایگزین کنید.

 

پ.ن: اگر استایل اعمال نشد احتمالا فایل css شما توی مرورگرتون کش شده که یه بار صفحه سایتتون رو توی مرورگر با

Ctrl + F5

رفرش کنید انشاالله درست میشه.

 

موفق باشید

ویرایش شده در توسط naghmesara
1

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


لینک به پست
در 6 دقیقه قبل، naghmesara گفته است :

پ.ن: اگر استایل اعمال نشد احتمالا فایل css شما توی مرورگرتون کش شده که یه بار صفحه سایتتون رو توی مرورگر با

 

کارهایی که کردین را انجام دادم. و هم با F5 رفرش کردم و هم کش را خالی کردم. ولی استایل های کلاس اعمال نشد

0

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


لینک به پست

درود مجدد

 

امکان داره آدرس سایتتون رو اعلام کنید؟

0

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


لینک به پست

 

در 2 دقیقه قبل، naghmesara گفته است :

درود مجدد

امکان داره آدرس سایتتون رو اعلام کنید؟

بله حتما
http://echolalia.ir/

0

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


لینک به پست

درود مجدد

 

احتمالا مشکل از همون کش مرورگر هست.

l8k_a.jpg

استایل اعمال شده و بسیار هم زیباست.

 

پاینده باشید

1

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


لینک به پست

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

1

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


لینک به پست
در 18 ساعت قبل، naghmesara گفته است :

درود مجدد

 

احتمالا مشکل از همون کش مرورگر هست.

سلامی دوباره. فقط ببخشین میشه برای ایک استثنایی هم تعریف کرد. یعنی مثلا اگر دسته ی فلان (با آیدی 132) بود، اون را نمایش ندهد

0

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


لینک به پست
در 53 دقیقه قبل، miraziz گفته است :

سلامی دوباره. فقط ببخشین میشه برای ایک استثنایی هم تعریف کرد. یعنی مثلا اگر دسته ی فلان (با آیدی 132) بود، اون را نمایش ندهد

سلام

یعنی مثلا آیدی 132 بود هیچی برنگردونه؟

1

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


لینک به پست

ارسال شده در (ویرایش شده)

در 49 دقیقه قبل، naghmesara گفته است :

سلام

یعنی مثلا آیدی 132 بود هیچی برنگردونه؟

بله. یعنی مثلا یک دسته ای دارم به نام (شاعران دیگر). وقتی برای پستی این دسته را انتخاب می کنم، در قالب سایت، بالای عنوان (مثل تصویری که شما اسکرین گرفته بودین) متن این دسته را نشون نده و خالی باشه

ویرایش شده در توسط miraziz
0

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


لینک به پست

درود مجدد

 

function child_cat ($pid, $class_name, $exclude) {
    $cat_arr = wp_get_post_categories ($pid);
    $child_id = max ($cat_arr);
    if ($exclude)
        if (in_array($child_id, $exclude))
            return;
    $child_name = get_the_category_by_ID ($child_id);
    $child_link = get_category_link ($child_id);
    if ($class_name)
        echo '<a href="'. $child_link .'" class="'. $class_name .'" rel="category tag">'. $child_name .'</a>';
    else
        echo '<a href="'. $child_link .'" rel="category tag">'. $child_name .'</a>';
}

 

موراد استثنا رو به صورت آرایه ای از آیدی دسته بندی ها به آرگومان سوم تابع بدید به صورت زیر:

 

<?php child_cat (get_the_ID(), 'my-css-class', [130,131,132]); ?>

 

مثال بالا برای پست هایی که آخرین دسته فرزندشون آیدیش 130 و 131 و 132 هست هیچی بر نمی گردونه اگر هم فقط همون مورد آیدی 132 هست به شکل زیر فراخوانی کنید:

 

<?php child_cat (get_the_ID(), 'my-css-class', [132]); ?>

 

موفق باشید

1

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


لینک به پست

خیلی خیلی ممنون. عالی کار کرد. این تاپیک خودش یک آموزش جامع تو همین زمینه شد. 

1

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


لینک به پست
نقل قول

خیلی خیلی ممنون. عالی کار کرد.

خواهش میکنم.

نقل قول

این تاپیک خودش یک آموزش جامع تو همین زمینه شد. 

انشاالله همین طور باشه که می‌فرمایید.

1

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط behradhidden
      با سلام 
      بنده سایتم را دسته بتدی کرده ام مشکلی نداشت و به درستی مطالب را در دسته ها تقسیم بندی می کردم 
            و نشان می داد اما الان وقتی در قسمت دسته برفرض مثال روی دسته قالب html کلیک می کنم پیجش لود نمی شه یا هر دسته دیگه 
             می خواستم ببینم کسی می تونه راهنمایی کنه ممنون میشم.
      Website: www.bteq.ir
    • توسط Ali Brm
      با سلام خدمت دوستان
      سوالی که داشتم اینه من اخیرا کار روی یک قالبی رو شروع کردم که خب سایت سازنده اش اونو میفروخت ولی من توی یک سایت ایرانی اونو به صورت رایگان گرفتم. فک کنم یه جورایی کرکش کردن
      مشکلی که الان دارم اینه که توی کد سایتم اسم اون سایت فارسی دائما دیده میشه. متاسفانه به خاطر قوانین انجمن نمیتونم نه اسم قالب رو بیارم نه اسم سایت فارسی رو.
      حالا من برای مثال اسم اون سایت فارسی رو میگم "فلان پرس". مثلا اگه توی inspect به فونت متن هام نگاه می کنم اسم فونت رو نوشته "folanpress b Yekan"
      از این موارد بسیار توی قالبم هست و هر روز دارم تو جاهای بیشتر اسمشون رو میبینم.
      چجوری می تونم این اسم رو حذف کنم یا به نظرتون اصلا قالبم رو عوض کنم؟
      این مسئله رو برای چی اون سایت فارسی انجام داده روی Rank سایت خودش تاثیر داره؟
       
    • توسط mehran60
      سلام
      کدهای جاوا اسکریپت را در فانکشن اضافه کردم ولی کار نمی کنه
      کسی می تونه کمک کنه
      ممنون
      function.php
      // javascript if( !function_exists( "wp_bootstrap_theme_js" ) ) { function wp_bootstrap_theme_js(){ if ( !is_admin() ){ if ( is_singular() AND comments_open() AND ( get_option( 'thread_comments' ) == 1) ) wp_enqueue_script( 'comment-reply' ); } // This is the full Bootstrap js distribution file. If you only use a few components that require the js files consider loading them individually instead wp_enqueue_script( 'script1', get_template_directory_uri() . '/contrib/jquery.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script2', get_template_directory_uri() . '/contrib/bootstrap.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script3', get_template_directory_uri() . '/contrib/quill.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script4', get_template_directory_uri() . '/contrib/to-markdown.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script5', get_template_directory_uri() . '/contrib/perfect-scrollbar.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script6', get_template_directory_uri() . '/contrib/common.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script7', get_template_directory_uri() . '/contrib/vjsplayer-mp4.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script8', get_template_directory_uri() . '/contrib/video.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script9', get_template_directory_uri() . '/js/angular.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script10', get_template_directory_uri() . '/js/bootstrap.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script11', get_template_directory_uri() . '/js/bootstrap.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script12', get_template_directory_uri() . '/js/common.min', array ( '' ), 1.1, true); wp_enqueue_script( 'script13', get_template_directory_uri() . '/js/common_pre.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script14', get_template_directory_uri() . '/js/doc.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script15', get_template_directory_uri() . '/js/jquery.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script16', get_template_directory_uri() . '/v/jquery-1.11.3.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script17', get_template_directory_uri() . '/js/jquery-3.3.1.slim.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script18', get_template_directory_uri() . '/js/jquery-slim.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script19', get_template_directory_uri() . '/js/popper.min.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script20', get_template_directory_uri() . '/js/quickpager.jquery.js', array ( '' ), 1.1, true); wp_enqueue_script( 'script21', get_template_directory_uri() . '/js/video.min.js', array ( '' ), 1.1, true); } } add_action( 'wp_enqueue_scripts', 'wp_bootstrap_theme_js' ); البته به شلوغی اش توجه نکنید در حال تسته!
      ممنون
    • توسط mehran60
      سلام
      یه مشکلی پیدا کردم وقتی روی لینک پست ها کلیک می کنم همون صفحه اول رو نشون میده
      مثلا وقتی روی این لینک میزنم 
      http://localhost/tamashaw/carmen-jorda/
      همین لینک در ادرس تایپ میشه ولی در همون صفحه اول میمونه!
    • توسط AhmadNet
      سلام دوستان
      آیا افزونه ایی برای حذف سایدبار از صفحات خاص وجود دارد؟ نمی خواهم سایدبار بطور کامل حذف گردد.