تغییر منو از طریق ویرایش فایل قالب

amin.ir69

تازه وارد
با عرض سلام و خسته نباشید خدمت دوستان 

من برای سایتم از دو قالب توسط یک افزونه استفاده میکنم که بازدیدکننده دستکتاپ رو هدایت میکنه به یه قالب و بازدیدکننده موبایل رو به قالب دیگه!

منتهی من میخوام برای هر قالب منوی منحصر به فرد رو داشته باشم که توی لیست منو هام ساختم اما از اونجایی که هر دو قالب به طور پیش فرض هر منویی رو که من Primary Navigation انتخواب کرده باشم نمایش میدن به این فکر افتادم که خودم تو قالب طور دستی کد رو وارد کنم !

کد رو هم تو قالب پیدا کردم و ممنون میشم دوستان راهنمایی کنن بگن کجای این کد رو باید تغییر بدم تا منوی دیگه رو نشون بده نه Primary Navigation !

<nav id="site-navigation" class="main-navigation col-md-8" role="navigation">
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_id' => 'primary-menu' ) ); ?>
</nav><!-- #site-navigation -->




امیدوارم متوجه منظورم شده باشید

پیشاپیش از دوستانی که پاسخگو هستند کمال تشکر را دارم.

 

جاویدان

کاربر عضو
با سلام دوست عزیز

ببینید این الان مثلا یه m  منظور موبایل بهشون اضافه شده خب این در فانکشن قرار می گیره ولی باید شما در خود قالب برگه منو قالب و css هم این رو تغییر بدید اگر مثلا برای موبایل هست.

البته شما باید حتما مطمئن بشید این کد برای قالب شماست اگر از جای دیگه ای برداشتید مطمئنا به مشکل می خورید و بهتره کد مربوط به قالب خودتون رو قرار بدید تا مطمئن تر باشه

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

موفق باشید

کد:
<nav id="site-navigation" class="main-navigation col-md-8" role="navigation">
				<?php wp_nav_menu( array( 'theme_location' => 'primary-m', 'menu_id' => 'primary-menu-m' ) ); ?>
			</nav><!-- #site-navigation -->
 

amin.ir69

تازه وارد
ممنون آقا جاوید گل 

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

من جای اون m ها اسم منوی جدیدمو نوشتم ولی متاسفانه اون که نیومد هیچی و الان در منوی قالبم اسم و لینک تمام صفحات سایتم قرارداده شد!

در ضمن اسم قالب هم TheShop هست.

با تشکر فراوان

 
آخرین ویرایش توسط مدیر:

جاویدان

کاربر عضو
کد روبه حالت اول برگردونید

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

اینجا قسمت نیوتن شما اسم قالب رو میزنید

دوم بعد در نسخه خودتون که ارسال کردید اسم منو رو مثلا primary-menu بجای اصلی قرار میدید البته اگر شباهتی به نسخه دیگری نداره در غیر اینصورت تغییر بدید 

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

البته اینها در شرایطی هست که تغییرات زیادی در وردپرس 4.9 لحاظ نشده باشه فعلا مستنداتش رو ندیدم این رو تست کنید ببینید چجوریه

موفق باشید

کد:
function register_menu() {
	register_nav_menus( array(
	       'main_menu'   => __( 'اصلی', 'newtooon' ),
	       'top_menu'      => __( 'موبایل', 'newtooon' ),
	)  );
}
 

amin.ir69

تازه وارد
آقا جاوید عزیز بازم ممنون از پاسخ سریعتون

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

// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'primary' => esc_html__( 'Primary Menu', 'theshop' ),
'secondary' => esc_html__( 'Side menu', 'theshop' ),
) );


بعدش من الان دو تا منو دارم به نام های menu1 , menu2 که منوی۱ منوی اصلی سایتم هست که داخل دو تا قالب نمایش داده میشه و دو تا قالب رو سایت من الان فعال هستند! که بعضی از صفحاتم از یه قالب و بعضی دیگه از قالب دیگه استفاده میکنه. و حالا من میخوام قالب theshop از منوی۲ استفاده کنه !

ممنون میشم راهنمایی کنین این کد رو چه طور باید تغییر بدم.

با تشکر قربان 

 

جاویدان

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

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

'theme_location' => 'primary', 'menu_id' => 'primary-menu' ) ); ?>


این رو قسمت رو تغییر میدی در کد بالا قرار دادی اگر جای منو تغییر نکرد یا جای دیگه نمایش داد فقط primary به جای قبلش برگردون

البته احتمال هر گونه خطایی هست

موفق باشید

کد:
<nav id="site-navigation" class="main-navigation col-md-8" role="navigation">
				<?php wp_nav_menu( array( 'theme_location' => 'secondary', 'menu_id' => 'Side menu' ) ); ?>
			</nav><!-- #site-navigation -->
 
آخرین ویرایش توسط مدیر:

amin.ir69

تازه وارد
#:-s :((  

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

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

خیلی گلی

 
بالا