اهواز سایت

09300047417 :سفارش طراحی سایت

قرار دادن منو با توضیحات در وردپرس

1 ستاره2 ستاره3 ستاره4 ستاره5 ستاره
Loading...
نویسنده: | تعداد بازدید: | دسته بندي: بلاگ, کد وردپرس

با سلام امروز میخوام بهتون بگم که چطوری میشه یه منو با توضیحات برای هر آیتم قرار داد. این کدها برای برنامه نویس هستن نه کاربر مبتدی. خب بریم سراغ روش استفاده:

استفاده از منو والکر

قرار دادن منو با توضیحات در وردپرس

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


class Menu_With_Description extends Walker_Nav_Menu {
function start_el(&$output, $item, $depth, $args) {
global $wp_query;
$indent = ( $depth ) ? str_repeat( "\t", $depth ) : '';

$class_names = $value = '';

$classes = empty( $item->classes ) ? array() : (array) $item->classes;

$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item ) );
$class_names = ' class="' . esc_attr( $class_names ) . '"';

$output .= $indent . '<li id="menu-item-'. $item->ID . '"' . $value . $class_names .'>';

$attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : '';
$attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : '';
$attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : '';
$attributes .= ! empty( $item->url ) ? ' href="' . esc_attr( $item->url ) .'"' : '';

$item_output = $args->before;
$item_output .= '<a'. $attributes .'>';
$item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;
$item_output .= '<br>';
$item_output .= '<span> '.$item->description.' </span>';
$item_output .= '</a>';
$item_output .= $args->after;

$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
}
}

ما الان یه والکر تعریم کردیم و اونو باید توی قالبمون هم اضاف کنیم چون میخوایم یکی از منو هامون توضیح داشته باشه.

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


<?php $walker = new Menu_With_Description; ?>
<?php wp_nav_menu( array( 'theme_location' => 'top-menu', 'menu_class' => 'nav navbar-nav navbar-right', 'walker' => $walker ) ); ?>

خب در مرحله آخر میایم تو فهرست ها در وردپرس و در قسمت تنظیمات صفحه تیک توضیح رو میزنیم

و برای هر ایتم منو یک فیلد توضیح باز شده و میتونیم متن خودمون رو اونجا بزاریم.

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

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


برچسب ها: , , ,

دیدگاه بگذارید

اولین نفری باشید که دیدگاه میگذارد!

اطلاع رسانی
avatar
wpDiscuz

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

مشاوره تلفنی و حضوری به صورت رایگان