رفتن به مطلب

راهنمایی در مورد کد نویسی " دسته بندی " وردپرس


site

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

سلام

من به صورت html ، دسته بندی سایت رو ساختم

شاخه به همراه زیر شاخه

رنگ شاخه و رنگ زیر شاخه باهم فرق میکنه

کد زیر رو جایگزین کردم اما شاخه اصلی کار نمیکنه !

زیر شاخه ها نمایش داده میشن اما شاخه نشون داده نمیشه ! باید چیکار کنم ؟

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

لینک به ارسال

سلام

دسته برای چی؟ قسمت هدر سایت؟

the_category حتما باید در loop استفاده بشه

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

برای نمایش دسته در سایت از این نمونه کد (هر کجا که بزارید دسته‌بندی‌ها همونجا نمایش داده میشه)


<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'primary-menu' ) ); ?>

برای ثبت این منو هم کد زیر رو می‌بایست در فانکشن قالبتون اضافه کنید


// Register Nav Menu
register_nav_menus(
array(
'primary' => __( 'Primary menu', 'theme')
)
);

بعدش هم این‌طوریه ...

تویحات بیشتر

لینک به ارسال

سلام

من دسته بندی برای هدر نمیخوام.

برای سایدبار سمت راست مثل قالب های سه ستونه میخوام ایجاد کنم.

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

من html ' css دسته بندی سایدبار سمت راست رو انجام دادم فقط نمیدونم که جای والد و زیر شاخه چه کدی بزارم.

لینک به ارسال

سلام ، من برای سایت خودم (www.gallery.naslno.com) که تعداد دسته بندی هاش خیلی زیاد هست از این روش استفاده کردم:



<ul>
<li>
<?php wp_dropdown_categories(array('hide_empty' => 1, 'name' => 'category_parent', 'orderby' => 'name', 'selected' => $category->parent, 'hierarchical' => true, 'show_option_none' => __('انتخاب دسته بندی'), 'id' => 'cat')); ?>
<script type="text/javascript">
<!--
var dropdown = document.getElementById("cat");
function onCatChange() {
if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
location.href = "<?php echo esc_url( home_url( '/' ) ); ?>?cat="+dropdown.options[dropdown.selectedIndex].value;
}
}
dropdown.onchange = onCatChange;
-->
</script>
</li>
<?php
$args = array(
'orderby' => 'id',
'parent' => 0
);
foreach (get_categories($args) as $category){
if ($category->count > 0){
echo '<a href="' . get_category_link( $category->term_id ) . '"><li>' . $category->cat_name . '</li></a>';
}
} ?>
</ul>

درواقع یه دراپ دان که تمامی دسته بندی ها و زیر دسته های دارای پست رو نشون میده و یه لیست از ul و li برای نشون دادن تنها دسته بندی های مادر

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


<ul>
<?php
$args = array(
'orderby' => 'id',
'parent' => 1
);
foreach (get_categories($args) as $category){
if ($category->count > 0){
echo '<a href="' . get_category_link( $category->term_id ) . '"><li>' . $category->cat_name . '</li></a>';
}
} ?>
</ul>

اگر خواستید با این کد ها کار های دیگه ای بکنید بگید تا راهنمایی بیشتری بکنیم...

لینک به ارسال

فرقی نداره، با این کد گفته شد می‌تونید این‌کار رو هم انجام بدید

البته اگر شما ابزارک رو توی قالبتون فعال کرده باشید، خود وردپرس پیش‌فرض ابزارکی برای نمایش دسته‌بندی‌ها داره، می‌تونید از اون استفاده کنید

لینک به ارسال

سلام ، من برای سایت خودم (www.gallery.naslno.com) که تعداد دسته بندی هاش خیلی زیاد هست از این روش استفاده کردم:



<ul>
<li>
<?php wp_dropdown_categories(array('hide_empty' => 1, 'name' => 'category_parent', 'orderby' => 'name', 'selected' => $category->parent, 'hierarchical' => true, 'show_option_none' => __('انتخاب دسته بندی'), 'id' => 'cat')); ?>
<script type="text/javascript">
<!--
var dropdown = document.getElementById("cat");
function onCatChange() {
if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
location.href = "<?php echo esc_url( home_url( '/' ) ); ?>?cat="+dropdown.options[dropdown.selectedIndex].value;
}
}
dropdown.onchange = onCatChange;
-->
</script>
</li>
<?php
$args = array(
'orderby' => 'id',
'parent' => 0
);
foreach (get_categories($args) as $category){
if ($category->count > 0){
echo '<a href="' . get_category_link( $category->term_id ) . '"><li>' . $category->cat_name . '</li></a>';
}
} ?>
</ul>

درواقع یه دراپ دان که تمامی دسته بندی ها و زیر دسته های دارای پست رو نشون میده و یه لیست از ul و li برای نشون دادن تنها دسته بندی های مادر

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


<ul>
<?php
$args = array(
'orderby' => 'id',
'parent' => 1
);
foreach (get_categories($args) as $category){
if ($category->count > 0){
echo '<a href="' . get_category_link( $category->term_id ) . '"><li>' . $category->cat_name . '</li></a>';
}
} ?>
</ul>

اگر خواستید با این کد ها کار های دیگه ای بکنید بگید تا راهنمایی بیشتری بکنیم...

سلام

شما از کد <?php wp_dropdown_categories(); ?> استفاده کردید ؟

منوی سایت من به صورت زیر هست :

3835114272713062036_daste.png

جای "پیامک" هر کدی گذاشتم که فقط دسته های مادر نشون داده بشه ، نشد که نشد !!

از کد the_category() استفاده میکنم اما برای شاخه اصلی جواب نمیده !

کد دسته بندی :


<div class="categoryr">
<ul>
<li>
<a href="#">پیامک</a>
<ul>
<li><a href="#">اس ام اس تبریک</a></li>
<li><a href="#">اس ام اس امام علی</a></li>
<li><a href="#">اس ام اس شهادت</a></li>
<li><a href="#">اس ام اس تولد</a></li>
<li><a href="#">اس ام اس تبریک</a></li>
<li><a href="#">اس ام اس امام علی</a></li>
<li><a href="#">اس ام اس شهادت</a></li>
<li><a href="#">اس ام اس تولد</a></li>
<li><a href="#">اس ام اس تبریک</a></li>
<li><a href="#">اس ام اس امام علی</a></li>
<li><a href="#">اس ام اس شهادت</a></li>
<li><a href="#">اس ام اس تولد</a></li>
</ul>
</li>
</ul>

</div>

لینک به ارسال

اینی که شما نوشتی دوست عزیز کد وردپرس که نیست ، یه سری کد HTML هست

شما کد زیر رو آزمایش کن ببین درست میشه یا نه


<div class="categoryr">
<ul>
<li>
<a href="#">پیامک</a>
<ul>
<?php
$args = array(
'orderby' => 'id',
'parent' => 0
);
foreach (get_categories($args) as $category){
if ($category->count > 0){
echo '<li><a href="' . get_category_link( $category->term_id ) . '">' . $category->cat_name . '</a></li>';
}
} ?>
</ul>
</li>
</ul>

</div>

البتّه من متوجّه نشدم درست ، اگر پیامک خودش یه دسته بندی کامل هست و میخواین پیامک فقط دیده بشه + دسته بندی های دیگه باید کد زیر رو بذارید


<div class="categoryr">
<ul>
<?php
$args = array(
'orderby' => 'id',
'parent' => 0
);
foreach (get_categories($args) as $category){
if ($category->count > 0){
echo '<li><a href="' . get_category_link( $category->term_id ) . '">' . $category->cat_name . '</a></li>';
}
} ?>
</ul>
</div>

در مورد سؤالتون از منم بله من برای زیر دسته هام از <?php wp_dropdown_categories(); ?> استفاده کردم ، چون بیشتر از 100 تا دسته بندی دارم البتّه... و اگر میخواستم توی سایدبارم نشونش بدم یه سایدبار 2هزار متری درست میشد اونم بی دلیل :D

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

اینی که شما نوشتی دوست عزیز کد وردپرس که نیست ، یه سری کد HTML هست

شما کد زیر رو آزمایش کن ببین درست میشه یا نه


<div class="categoryr">
<ul>
<li>
<a href="#">پیامک</a>
<ul>
<?php
$args = array(
'orderby' => 'id',
'parent' => 0
);
foreach (get_categories($args) as $category){
if ($category->count > 0){
echo '<li><a href="' . get_category_link( $category->term_id ) . '">' . $category->cat_name . '</a></li>';
}
} ?>
</ul>
</li>
</ul>

</div>

البتّه من متوجّه نشدم درست ، اگر پیامک خودش یه دسته بندی کامل هست و میخواین پیامک فقط دیده بشه + دسته بندی های دیگه باید کد زیر رو بذارید


<div class="categoryr">
<ul>
<?php
$args = array(
'orderby' => 'id',
'parent' => 0
);
foreach (get_categories($args) as $category){
if ($category->count > 0){
echo '<li><a href="' . get_category_link( $category->term_id ) . '">' . $category->cat_name . '</a></li>';
}
} ?>
</ul>
</div>

در مورد سؤالتون از منم بله من برای زیر دسته هام از <?php wp_dropdown_categories(); ?> استفاده کردم ، چون بیشتر از 100 تا دسته بندی دارم البتّه... و اگر میخواستم توی سایدبارم نشونش بدم یه سایدبار 2هزار متری درست میشد اونم بی دلیل :D

سلام خیلی ممنون جناب زینلی .

بله من به صورت html ساختم و کلاس هم بهشون دادم . اما حالا میخوام پویا سازی کنم و به وردپرس تبدیلشون کنم .

کد اولی ، برای نمایش شاخه های مادر هست

کد دومی ، معلوم نشد چی هست :D

منظور من این هست که ، شاخه های مادر که توی پنل ادمین وردپرس می سازم بیاد جای " پیامک" و زیر شاخه های هم بیاد جای "اس ام اس تولد" ، "اس ام اس شهادت" و ...

مثلا :

* آهنگ

>> محسن یگانه

>> محمد علیزاده

>> مرتضی پاشایی

--------------------------

آهنگ =====>> میشه دسته بندی مادر

محسن یگانه و ... =====>> میشه زیر شاخه های "آهنگ "

لینک به ارسال

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


<ul>
<?php wp_list_categories('orderby=order&title_li=');?>
</ul>

توضیحات بیشتر در صفحه :

http://codex.wordpre...list_categories

الان مشکل حل شد!

تنها مشکلش این هست که در صورتی که دسته بندی ها null باشه ( هیچ مطلبی در اون دسته بندی نباشه ) ، دسته ها در صفحه اصلی نمایش داده نمیشن !

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

البته اگر شما ابزارک رو توی قالبتون فعال کرده باشید، خود وردپرس پیش‌فرض ابزارکی برای نمایش دسته‌بندی‌ها داره، می‌تونید از اون استفاده کنید

چرا از این روش استفاده نمی‌کنید؟

لینک به ارسال

چرا از این روش استفاده نمی‌کنید؟

سلام

روش شما جواب داد

اما مشکلاتی داشت

1- در همان ابتدا باید برم به "فهرست" ، ساختن یک فهرست و از اونجا دسته ها رو اضافه کنم !!!

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

یعنی هیچی معلوم نیست !

باید به صورت دستی ، drag and drop کنم !

عکس :

2836014272946101832_Untitled45.png

2- وقتی یک دسته بندی ایجاد میشه ، به صورت خودکار چیزی اضافه نمیشه !! باید دوباره برم به "فهرست" و از اونجا دسته بندی های جدید رو اد کنم

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

دو تا روش مجزا گفته شد

البته اگر شما ابزارک رو توی قالبتون فعال کرده باشید، خود وردپرس پیش‌فرض ابزارکی برای نمایش دسته‌بندی‌ها داره، می‌تونید از اون استفاده کنید

این روش کاری به فهرست نداره، به قسمت ابزارک‌ها برید و از ابزارک دسته‌بندی استفاده کنید ...

لینک به ارسال

دو تا روش مجزا گفته شد

این روش کاری به فهرست نداره، به قسمت ابزارک‌ها برید و از ابزارک دسته‌بندی استفاده کنید ...

ممنون

تست شد و جواب داد

البته در مورد اینکه برای سایدبار سمت راست و چپ ابزارک بسازم یا نه ، سوالی هست که ذهنم رو مشغول کرده که یک تاپیک برای اون ایجاد میکنم

از شما و جناب زینلی ممنونم

لینک به ارسال
ممنون تست شد و جواب داد البته در مورد اینکه برای سایدبار سمت راست و چپ ابزارک بسازم یا نه ، سوالی هست که ذهنم رو مشغول کرده که یک تاپیک برای اون ایجاد میکنم از شما و جناب زینلی ممنونم

خدا رو شکر از چیزی که داریم روش برای نشون دادن دسته بندی ها و زیر دسته هاست ، تفاوت هاشم جزئی هست.

اگر خواستید با wp_list_categories اون کاری رو که گفتید انجام بدید اینجوری انجامش بدید:

<ul><?php
$category = wp_list_categories('hide_empty=0&title_li=');
echo $category->cat_name;
?></ul>

به صورت پیشفرض روی 1 قرار داره که اگه شما روی 0 بذاریدش نمایش میده دسته بندی هایی رو که خالی هستن (که البتّه کار اشتباهی هست ، کاربر ها رو گیج میکنه)

لینک به ارسال

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

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

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

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

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

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

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

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

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