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

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

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

 

خب این قسمت از کد رو میزاریم تو فانکشن و سورس پیشفرض منو وردپرس رو عوض میکنه و یه تگ 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 ) ); ?>

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

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

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

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

دیدگاه خود را به ما بگویید.