رفتن به مطلب

جلوگیری در بارگذاری Header و Footer پوسته توسط Shortcode


eepersian

پست های پیشنهاد شده

با سلام به دوستان

در حالت عادی وردپرس داریم :

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

وقتی یک Shortcode را در یک برگه یا نوشته استفاده می کنیم Header و Footer پوسته بارگذاری می شوند ، چون Shortcode در بدنه صفحه است .

حالا مشکل من :

یک Template دارم که دارای قالبی کاملاً متفاوت با پوسته هست (یعنی فایل های Header و Footer اون اختصاصی هستن) و در بدنه ی اون یک دستور Select از جدول گروه محصولات دارم

مثلاً :


SELECT * FROM groups

حالا می خوام یک قسمت Where با محتوای کد گروه های مورد نظرم ، به دستور SELECT بالا در Template اضافه کنم که فقط گروه هایی رو که می خوام انتخاب کنه . مثل کد زیر :


SELECT * FROM groups WHERE group_id=1

یعنی کلاً می خوام Template ام رو داینامیک کنم .

حالاً چیزی که به ذهن خودم رسید استفاده از Shortcode بود به صورت زیر :

همه دستورات موجود در Template رو (بجز اون تعریف template) داخل تابع مرتبط با shortcode قرار بدم و به shortcode کد گروه ها رو به صورت پارامتر ارسال کنم .

یعنی اینطوری :


[show_group id="1,2"]

و با دستورات پی اچ پی کد های پارامتر id از شورت کد رو داخل قسمت Where قرار بدن تا نتیجه چیزی مثل زیر بشه :


SELECT * FROM groups WHERE group_id=1 or Group_id=2

این کار رو هم انجام دادم - یعنی شورت کد کار می کنه

تنها مشکلم اینه که وقتی شورت کد رو داخل برگه یا نوشته می زارم Header و Footer پوسته بارگذاری می شن و داخل اون باکس یا جعبه برگه یا نوشته کدهای شورت کد اجرا میشن (کلاً میشه تو در تو)

من می خوام Header و Footer پوسته بارگذاری نشه و اون Header وFooter که داخل تابع shortcode هستن اجرا بشن

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

اگر کسی راه حل بهتری به ذهنش می رسه ، مطرح کنه ممنون میشم

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

لینک به ارسال

header و footer داخل جعبه شورت کد نمی تونند اجرا باشند محتویات این جعبه الزاما در داخل حلقه قرار دارند ولی من نفهمیدم کاری که توضیح دادید به header footer چه ربطی داشت page template در هر حال داینامیکه و از هسته مرکزی وردپرس نیرو می گیره

تابع های


<?php wp_head();?>
<?php wp_footer();?>

را در محلهاشون بگذارید همه چیز درست کار خواهد کرد

برای اینکه select شما با گروه های دلخواهتون ساخته بشه بهترین راه استفاده از متد GET است


<?php if(isset($_GET['group'])) {
$group = $_GET['group'];
}
else {
$group = 5;
}
SELECT * FROM groups WHERE group_id=$group;
?>

به این ترتیب یک صفحه می سازید و با اضافه نمودن


?group=5

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

تذکر: لطف کنید تایپیک هاتون رو از طریق پیام خصوصی پیگیری نکنید ممنون می شم، 24 ساعت زمان انتظاره و بعدش هم تایپیک را می توانید up بفرمایید.

لینک به ارسال

من نفهمیدم کاری که توضیح دادید به header footer چه ربطی داشت

...

تذکر: لطف کنید تایپیک هاتون رو از طریق پیام خصوصی پیگیری نکنید ممنون می شم، 24 ساعت زمان انتظاره و بعدش هم تایپیک را می توانید up بفرمایید.

امکان استفاده از GET و POST مقدور نیست - چون اینها مستلزم این هستن که یا لینکی وجود داشته باشه یا فرمی

مثلاً ممکنه اون صفحه که از Template استفاده می کنه روی صفحه اصلی سایت تنظیم بشه

اما ربط Header و Footer :

اگر کدهای Template رو در شورت کد بنویسم خوب اول قالب صفحه لود میشه و بعدش Header وFooter داخل شورت کد ... من تست کردم و یک شکل تو در تو ایجاد شد

نمی دونم چطوری بیان کنم

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

در مورد پیام خصوصی هم چشم - تکرار نمیشه

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...