🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۳ محسن محمدرضاپور
نمایش فقط یک برگه
جامعه وردپرس (برنامه نویسی) ایجاد شده در ۰۴ فروردین ۱۴۰۰

در یک برگه که شرتکد پنل کاربری وجود دارد 

در صورتی که بخواهیم این بخش‌های مختلف در همان صفحه نمایش داده شوند چه باید بکنیم؟

مثلا محتوای صفحه my-account فقط یک شرتکد [npm-profile]  می باشد و در این شرتکد ما با توجه به ادامه url تمپلیت‌های مختلفی را برای بخش کانتنت نمایش بدهیم.

مثلا my-account/downloads 

شما اینجا با استفاده از هوک init این کار را کردید ولی اگر بخواهیم درون شرتکد این اتفاق بیافتد چه کنیم؟

سلام آقای رضاپور
می تونید داخل کد url رو برسی کنید و با اینکار تمپلیت‌های مختلف رو لود کنید

برای بررسی url هم از کد زیر می‌تونید استفاده کنید

global $wp;
$current_url = home_url(add_query_arg(array(), $wp->request));

موفق باشید

 

بهترین پاسخ
مجید زادگی ۱۰ فروردین ۱۴۰۰، ۰۷:۲۷

نکته اینجاست که به صورت متغییر مشکلی برای دریافت محتوا‌های مختلف نیست یعنی به راحتی تمپلیت‌ها اجرا می‌شوند. (home.com/my-account/?order=3456) اما نکته اینجاست که اگر بخواهیم در همان url  به جای متغییر‌های کوئری اینطور استفاده کنیم که home.com/my-account/order/3456 وردپرس صفحه 404 می‌دهد و دیگر شرتکد فراخوانی نمی‌شود تا url را پارس کند و تمپلیت درست نمایش داده شود.

منظورم حالتی است که ووکامرس برای صفحه پنل خود دارد و این اتفاقات با یک شورتکد می‌افتد و برای کاربر اینطور بسیار ساده‌تر است.

 

محسن محمدرضاپور ۱۰ فروردین ۱۴۰۰، ۰۷:۳۶

خوب نمایش صفحه 404  در این وضعیت کاملا طبیعی هست چون این url اشتباه است و تعریف نشده و در نهایت اگر شما به این شکل بخواید استفاده کنید باید از هوک‌ها کمک بگیرید که هوک init هست که با اون آشنا هستید.

 

مجید زادگی ۱۰ فروردین ۱۴۰۰، ۰۷:۴۱