itachi

کد php برای انتخاب کلاس مناسب در options framework

7 پست در این موضوع قرار دارد

الان دارم روی پوسته SKT-Corp کار می‌کنم که از options framework استفاده می‌کند. در خط ۳۵ فایل فایل header.php یک دستور شرطی وجود دارد که بصورت دینامیک نوع کلاس
 

کد:
<div class="wrapper_main ****">

 

را مشخص می‌کند. این المان دو کلاس دارد. یک کلاس ثابت که همان wrapper_main است و دیگری که دو حالت layout_wide یا layout_box خواهد بود. دستور شرطی زیر مشخص می‌کند که کدام کلاس به تگ بالا داده شود.
 

کد:
<div class="wrapper_main <?php if ( of_get_option('layout', true) != 'box' ) { echo 'layout_wide'; } else { echo 'layout_box';}?>" >

 

در نسخه‌ای که بنده روی آن کار می‌کنم بصورت پیشفرض کلاس layout_box به تگ div در بالا داده می‌شود در صورتی که در نسخه نمایشی آنلاین کلاس layout_wide به آن داده شده است. آدرس نسخه آنلاین پوسته http://sktthemesdemo.net/sktcorppro می‌باشد. بسیار سپاسگذار خواهم بود که بنده را راهنمایی دقیق بفرمایید کجا را ویرایش کنم تا کلاس layout_wide به تگ مذکور داده شود.

فایل header به پیوست است.

header.php

0

به اشتراک گذاری این پست


لینک به پست

سلام

منظورتون اینه که توی لوکال به درستی کار میکنه و وقتی آنلاین میشه قالب، مشکل بوجود میاد ؟

1

به اشتراک گذاری این پست


لینک به پست

خیر. برعکس در نسخه آنلاین که نسخه دمو می‌باشد کاملا درست هست اما در نسخه لوکال که بنده فارسی کرده‌ام به درستی کار نمی‌کند و کلاس نادرستی به تگ <div> داده می‌شود.

حالت درست

<div class="wrapper-main layout_wide">

حالت نادرست

<div class="wrapper-main layout_box">

مشکل اینجاست که بنده حتی نمی‌دانم تنظیمات layout کجا هست که آن کد php بر اساس آن تصمیم گیری می‌کند. در فایل options.php قسمتی با عنوان layout setting وجود دارد ولی بررسی کردم و نتیجه نگرفتم. فکر نمی‌کنم ربطی به مشکل من داشته باشد. فایل options.php به پیوست می‌باشد.

options.php

0

به اشتراک گذاری این پست


لینک به پست
در 13 ساعت قبل، itachi گفته است :

الان دارم روی پوسته SKT-Corp کار می‌کنم که از options framework استفاده می‌کند. در خط ۳۵ فایل فایل header.php یک دستور شرطی وجود دارد که بصورت دینامیک نوع کلاس
 

کد:

<div class="wrapper_main ****">

 

را مشخص می‌کند. این المان دو کلاس دارد. یک کلاس ثابت که همان wrapper_main است و دیگری که دو حالت layout_wide یا layout_box خواهد بود. دستور شرطی زیر مشخص می‌کند که کدام کلاس به تگ بالا داده شود.
 

کد:

<div class="wrapper_main <?php if ( of_get_option('layout', true) != 'box' ) { echo 'layout_wide'; } else { echo 'layout_box';}?>" >

 

در نسخه‌ای که بنده روی آن کار می‌کنم بصورت پیشفرض کلاس layout_box به تگ div در بالا داده می‌شود در صورتی که در نسخه نمایشی آنلاین کلاس layout_wide به آن داده شده است. آدرس نسخه آنلاین پوسته http://sktthemesdemo.net/sktcorppro می‌باشد. بسیار سپاسگذار خواهم بود که بنده را راهنمایی دقیق بفرمایید کجا را ویرایش کنم تا کلاس layout_wide به تگ مذکور داده شود.

فایل header به پیوست است.

header.php

این کدتون بر اساس مقدار گزینه layout در پنل تنظیمات قالب کلاس رو می سازه وارد ادمین بشید و تغییرش بدید 

1

به اشتراک گذاری این پست


لینک به پست

تصاویر تنظیمات قالب و theme options به پیوست است. در هیچ کجای آن گزینه layout وجود ندارد. اگر ممکن است اسکرین شات با علامت روی محل مورد نظر پیوست پاسخ فرمایید. سپاس فراوان

Wordpress theme customizer.png

Wordpress theme options.png

0

به اشتراک گذاری این پست


لینک به پست

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

<?php if ( of_get_option('layout', true) != 'box' ) { echo 'layout_wide'; } else { echo 'layout_box';}?>

این کد شرط کرده اگر option با نام layout فعال بود و مقدار box نبود کلاس layout_wide استفاده بشه و الا کلاس layout_box

نشانی سایتتون رو جایگزین site.com تو نشانی زیر بکنید و توی آدرسبارتون کپی کنید بعد از باز شدن صفحه کنترل + f رو بزنید و تو کادر جستجویی که باز می شه تایپ کنید layout تا گزینه رو تو صفحه براتون پیدا کنه بعد مقدارش رو تغییر بدید و ذخیره کنید

http://site.com/wp-admin/options.php

 

1

به اشتراک گذاری این پست


لینک به پست

جواب رو پیدا کردم. با نگاه به سایت سازنده پوسته در اینجا متوجه شدم که نسخه رایگان آن layout setting ندارد. به ناچار یک Child theme ساختم و کل محتویات فایل header.php پوسته parent را در فایلی به همین نام در پوشه قالب فرزند کپی کردم و در آن کد تولید کننده کلاس را طوری تغییر دادم که خروجی layout_wide را به من بدهد.

ویرایش شده در توسط itachi
0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری