ورود

View Full Version : مشکل با ریجستر منوی ورد پرس



mojtabakhazaeli
شنبه 24 مرداد 1394, 01:47 صبح
سلام من میخوام یک منوی ورد پرس بسازم و برای واکنش گرا کردن اون نیاز دارم که ul ایدی داشته باشه اما موقع ریجستر کردن منو نمیشه به منو ایدی داد! میشه منو رو برام ریجستر کنید ؟
این فایل قالب محل منو در صفحه ایندکس هست و فانکشن رو هم پاک می کنم شاید مشکل از فانکشن من باشه
http://s3.picofile.com/d/bbf89642-b5ba-4fb8-8d35-877574302a34/blood.zip

hamidre13
شنبه 24 مرداد 1394, 06:09 صبح
سلام دوست عزیز
معمولا کس کد تو رو به این صورت درست نمیکنه. به طور کلی میتونی از یه کلاس والکر ستفاده کنی:

<?phpclass themeslug_walker_nav_menu extends Walker_Nav_Menu {

// add classes to ul sub-menus
function start_lvl( &$output, $depth ) {
// depth dependent classes
$indent = ( $depth > 0 ? str_repeat( "\t", $depth ) : '' ); // code indent
$display_depth = ( $depth + 1); // because it counts the first submenu as 0
$classes = array(
'dropdown-menu'
);
$class_names = implode( ' ', $classes );

// build html
$output .= "\n" . $indent . '<ul class="' . $class_names . '" >' . "\n";
}
function display_element ($element, &$children_elements, $max_depth, $depth = 0, $args, &$output)
{
// check, whether there are children for the given ID and append it to the element with a (new) ID
$element->hasChildren = isset($children_elements[$element->ID]) && !empty($children_elements[$element->ID]);


return parent::display_element($element, $children_elements, $max_depth, $depth, $args, $output);
}





}


?>

در ضمن باید واسه منو هم بلیس هلدر بزاری:

<?php wp_nav_menu( array('menu' => 'Main menu','container_class'=>'nav-collapse collapse','menu_class'=>'nav navbar-nav','walker'=>new themeslug_walker_nav_menu ));?>

mojtabakhazaeli
شنبه 24 مرداد 1394, 12:04 عصر
الان این رو من چطور استفاده کنم:افسرده:؟
من فقط مبخوام طوری منو رو ریجستر کنم که موقع اجرا از این حالت خارج نشه
یعنی فقط ulاول ایدی داشته باشه
لطفا کمک کنید مبتدی ام!:افسرده:


<ul id="ul-menu">
<li><a href="" >صفحه اصلی</a></li>
<li><a href="" >صفحه 2 </a></li>
<li><a href="" >صفحه 3</a>
<ul>
<li><a href="" >صفحه 2 </a></li>
<li><a href="" >صفحه 2 </a></li>
<li><a href="" >صفحه 2 </a></li>
</ul>
</li>
<li><a href="" >صفحه 5</a></li>
<li><a href="" >صفحه 7</a></li>
<li><a href="" >صفحه 8</a> </li>
</ul>

anvar
شنبه 24 مرداد 1394, 12:36 عصر
برای واکنش گرا کردن منو حتما که نباید ul شما id داشته باشه - اگر والدش هم دارای id یا کلاس بود میشه کنترلش کرد.

1 - می تونی بصورت دسنتی منوی خودت رو داخل یک div قرار بدی و id یا کلاسی به آن بدهید.

مثلا میشه

div with class x

ul
/ul
/div

اگر بخواهی به صورت غیر مستقیم بهش دایو بدی زمان ثبت منو در صفحات بصورت زیر عمل کن
<?php wp_nav_menu(array('theme_location' => 'main-menu', 'container_class' => 'menu-top-container')); ?>

در این دستور منوی اصلی ما در فایل هیدر قرار می گیره و ul هم در یک div با کلاس menu-top-container

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

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

.menu-top-container > ul
استفاده کنی در این حالت ul که فرزند مستقیم ظرفی با کلاس menu-top-container هست انتخاب میشه

mojtabakhazaeli
شنبه 24 مرداد 1394, 13:29 عصر
برای واکنش گرا کردن منو حتما که نباید ul شما id داشته باشه - اگر والدش هم دارای id یا کلاس بود میشه کنترلش کرد.

1 - می تونی بصورت دسنتی منوی خودت رو داخل یک div قرار بدی و id یا کلاسی به آن بدهید.

مثلا میشه

div with class x

ul
/ul
/div

اگر بخواهی به صورت غیر مستقیم بهش دایو بدی زمان ثبت منو در صفحات بصورت زیر عمل کن
<?php wp_nav_menu(array('theme_location' => 'main-menu', 'container_class' => 'menu-top-container')); ?>

در این دستور منوی اصلی ما در فایل هیدر قرار می گیره و ul هم در یک div با کلاس menu-top-container

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

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

.menu-top-container > ul
استفاده کنی در این حالت ul که فرزند مستقیم ظرفی با کلاس menu-top-container هست انتخاب میشه
من الان این کاری که شما گفتر رو انجام دادم اما توی رزولوشن مبایل و تبلت نمیدونم چرا منو باز نمیشه :متعجب: