سلام احترام و خسته نباشید خدمت برنامه نویس عزیز ارجمند ؛ من یه سوال داشتم ؛ ممنون میشم اگه اطلاعی دارید راهنمایی بفرمایید
فولدرproje1 آپلود کردم داخل پوشه public-html ؛ و باید بگم که یک فولدری که حاوی فایل های assest - db - src و چندین فایل php
و در صفحه وردپرسی برگه جدید ساختم به اسم proje1 ؛ که وقتی این صفحه سرچ شد ؛ محتوای این پوشه رو نمایش بده
example.com/proje1/
و با کد نویسی داخل function.php اینکارو انجام دادم ؛ این پیام نشان میده
This page isn’t workingiranaihub.ir is currently unable to handle this
request. HTTP ERROR 500
که گفتم شاید از افزونه ها باشه ؛ غیر فعال کردم ؛ ولی تاثیر نداشت
function custom_template_redirect() {
if (is_page('proje1')) { // تعیین صفحه مورد نظر
$folder_path = get_home_path() . 'proje1'; // مسیر فولدر مورد نظر
$file_content = file_get_contents($folder_path . '/index.php'); // محتوای فایل مورد نظر
// نمایش محتوای فایل
echo '' . htmlentities($file_content) . '';
exit;
}
}
add_action('template_redirect', 'custom_template_redirect');
publichtml/wp-content/themes/ewebot یکبار هم اینجا اپلود کردم ؛ اینبار ؛ یک صفحه سفید نمایش میده
در لوکال هاست تست میکنم بدون مشکل به من نمایش میده ؛ ولی وقتی در هاست می برم ؛ فقط یک صفحه سفید نمایش میده
سلام
برخی از اقداماتی که میتوانی انجام بدی:
استفاده از error_log:
برای رفع این خطاها، بهتر ه از error_log استفاده کنی تا بتوانی خطاهای PHP را بررسی کرده و علت این مشکل را بهتر پیدا کنی. برای این کار کد زیر را به فایل wp-config.php
اضافه کن:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
تنظیمات مجوزها:
مطمعن شو که تمام فایلها و دایرکتوریها پرمیشن های صحیحی دارند.
استفاده از require
یا include
به جای file_get_contents
:
به جای استفاده از file_get_contents
برای خواندن محتوای فایل PHP، از require
یا include
استفاده کن. مثلاً:
if (is_page('proje1')) {
$folder_path = get_home_path() . 'proje1';
require $folder_path . '/index.php';
exit;
}
مسیر صحیح:
مطمئن شو که مسیر فایلها و دایرکتوریها به درستی تنظیم شده باشه.
اگر کماکان مشکل داشتی ارور ها را به اشتراک بذار تا بهتر بتونم کمک کنم
موفق باشی
@mmirabi
سلام بسیار ممنونم از وقتی که گذاشتید
نه متاسفانه جواب نداد
پوشه پروژه رو بهتر داخل تم تعریف کنم publichtml/wp-content/themes/ewebot
یا همین داخل public-html
با توجه به اطلاعات وبسایت شما اگر میخوای یک صفحه ویژه با محتوایی که در پوشه proje1
قرار دارد را نمایش بدی، بهتره که این پوشه را داخل دایرکتوری تم (theme) قرار بدی . در این حالت مسیر دقیق فایل index.php
:
publichtml/wp-content/themes/ewebot/proje1/index.php
میتونی از کد زیر برای نمایش محتوای استفاده کنی:
function custom_template_redirect() {
if (is_page('proje1')) {
$folder_path = get_template_directory() . '/proje1'; // مسیر فولدر مورد نظر داخل تم
$file_content = file_get_contents($folder_path . '/index.php');
// نمایش محتوای فایل
echo '' . htmlentities($file_content) . '';
exit;
}
}
add_action('template_redirect', 'custom_template_redirect');
در این کد، get_template_directory()
از جایگزینی بهتری برای get_home_path()
برای گرفتن مسیر تم استفاده میکند.
اگر مشکل حل نشد لطفا لاگ ها رو هم بفرس ببینم مشکل کجاس
موفق باشی
@mmirabi
نه پاسخی نداد متاسفانه ؛ و فقط کد های داخل index را به من نمایش می داد
باید اشاره کنم که فولدر project حاوی فایل های assest - db - src و چندین فایل php هست
ولی الان فقط index .php نشون داد و فقط کد های داخل ایندکس
سلام ارادت
اگه میخای ی صفحه بسازی باید از page template
استفاده کنی
ی فایل بساز مثلا
x.php
داخلش بنویس
/*Template Name: my Custom page template*/
الان ی صفحه ساختی باید از طریق تابع wp_insert_post بیایی و ی برای این صفحه بسازی فک کنم باید داخل هوک admin_init صداش بزنی
یا میتونی بری داخل همون قسمت برگه ها خودت ی برگه بسازی page template رو بزاری رو اون اسم صفحه ایی که ساختی
الان شما اون فایل x.php بود ساخته بودی هرجا قرارش بدی کار میکنه و میتونی کلا از اول کدنویسیش کنی یچیزی خارج از کدهای قالب یا میتونی گت هدر و فوتر بزنی و...
فقط اون تابع wp_insert_post ی ارگومان داره بنام اگه اشتباه نکنم page template باشه اسمشم اینو مقدارش قرار بده با آدرس فولدر یا صفحه ایی که فایل x.php رو ساختی
@ossvahid
سلام درود خدمت شما ؛ خیلی ممنونم از وقتی که گذاشتید و پیامم مطالعه کردید و پاسخ دادید
من تقریبا به این صورت اقدام کرده بودم ولی پاسخی نداد ؛ اگه اماکانش هست ممنون میشم امشب در حد چند دقیقه مزاحمتون بشم وچند دقیقه ای داخل گوگل میت وقتتون بگیرم
این ایمیل م هست ؛ اگه انلاین شدید لطف کنید پیام بدید اگه فرصت داشتید برای امشب
alireza.daneshmayeh80@gmail.com
@mmirabi
سلام خسته نباشید ؛ آقای میرابی عذر زحمات ما
جناب میرابی ؛ من به هاست که دارم پیام دادم و نظرشون این بود
توی ماه دومنین بار دارم تغیر هاست میدم ؛ اگه اینبار هم انجام بدم ؛ میشه سومین بار
بار اول مدل هاست اقتصالی گرفتم خوب نبود ؛ تغییر دادم به هاست وردپرسی ؛ حالا هم میگن تغییر بده به المان
بنظرتون جواب میده یا برای بازار گرمی دارن این حرف هارو می زنن
خواهش می کنم
شما از اینجا در یک هاست رایگان کدهات رو تست کن اگر جواب گرفتی بعد اقدام کن به تغییر هاست بکن
موفق باشید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟