14 پاسخ

کد php در ودرپرس

سلام احترام و خسته نباشید خدمت برنامه نویس عزیز ارجمند ؛ من یه سوال داشتم ؛ ممنون میشم اگه اطلاعی دارید راهنمایی بفرمایید
فولدر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 یکبار هم اینجا اپلود کردم ؛ اینبار ؛ یک صفحه سفید نمایش میده

در لوکال هاست تست میکنم بدون مشکل به من نمایش میده ؛ ولی وقتی در هاست می برم ؛ فقط یک صفحه سفید نمایش میده


ثبت پرسش جدید
مهدی میرابی
تخصص : full-stack developer
@mmirabi 1 سال پیش مطرح شد
0

سلام

برخی از اقداماتی که می‌توانی انجام بدی:

  1. استفاده از error_log:
    برای رفع این خطاها، بهتر ه از error_log استفاده کنی تا بتوانی خطاهای PHP را بررسی کرده و علت این مشکل را بهتر پیدا کنی. برای این کار کد زیر را به فایل wp-config.php اضافه کن:

    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);
  2. تنظیمات مجوزها:
    مطمعن شو که تمام فایل‌ها و دایرکتوری‌ها پرمیشن های صحیحی دارند.

  3. استفاده از 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;
    }
  4. مسیر صحیح:
    مطمئن شو که مسیر فایل‌ها و دایرکتوری‌ها به درستی تنظیم شده باشه.

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

موفق باشی


0

@mmirabi
سلام بسیار ممنونم از وقتی که گذاشتید
نه متاسفانه جواب نداد
پوشه پروژه رو بهتر داخل تم تعریف کنم publichtml/wp-content/themes/ewebot
یا همین داخل public-html


مهدی میرابی
تخصص : full-stack developer
@mmirabi 1 سال پیش مطرح شد
0

با توجه به اطلاعات وب‌سایت شما اگر می‌خوای یک صفحه ویژه با محتوایی که در پوشه 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() برای گرفتن مسیر تم استفاده می‌کند.

اگر مشکل حل نشد لطفا لاگ ها رو هم بفرس ببینم مشکل کجاس

موفق باشی


0

@mmirabi
نه پاسخی نداد متاسفانه ؛ و فقط کد های داخل index را به من نمایش می داد
باید اشاره کنم که فولدر project حاوی فایل های assest - db - src و چندین فایل php هست
ولی الان فقط index .php نشون داد و فقط کد های داخل ایندکس


مهدی میرابی
تخصص : full-stack developer
@mmirabi 1 سال پیش مطرح شد
0

محتوایی که می خوایید نمایش بده کدهای html هست؟


مهدی میرابی
تخصص : full-stack developer
@mmirabi 1 سال پیش مطرح شد
0

@ossvahid
وحید جان شاید شما بهتر بتونید کمکشون کنید.


0

@mmirabi جناب آقای میرابی عزیز ؛ خیلی ممنونم از وقتی که گذاشتید ؛ بسیار تشکر


مهدی میرابی
تخصص : full-stack developer
@mmirabi 1 سال پیش مطرح شد
0

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


vahid1379
تخصص : wp developer
@vahid1379 1 سال پیش مطرح شد
0

سلام ارادت
اگه میخای ی صفحه بسازی باید از 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 رو ساختی


0

@ossvahid
سلام درود خدمت شما ؛ خیلی ممنونم از وقتی که گذاشتید و پیامم مطالعه کردید و پاسخ دادید
من تقریبا به این صورت اقدام کرده بودم ولی پاسخی نداد ؛ اگه اماکانش هست ممنون میشم امشب در حد چند دقیقه مزاحمتون بشم وچند دقیقه ای داخل گوگل میت وقتتون بگیرم
این ایمیل م هست ؛ اگه انلاین شدید لطف کنید پیام بدید اگه فرصت داشتید برای امشب
alireza.daneshmayeh80@gmail.com


0

 تصویر

@mmirabi
سلام خسته نباشید ؛ آقای میرابی عذر زحمات ما
جناب میرابی ؛ من به هاست که دارم پیام دادم و نظرشون این بود
توی ماه دومنین بار دارم تغیر هاست میدم ؛ اگه اینبار هم انجام بدم ؛ میشه سومین بار
بار اول مدل هاست اقتصالی گرفتم خوب نبود ؛ تغییر دادم به هاست وردپرسی ؛ حالا هم میگن تغییر بده به المان
بنظرتون جواب میده یا برای بازار گرمی دارن این حرف هارو می زنن


مهدی میرابی
تخصص : full-stack developer
@mmirabi 1 سال پیش مطرح شد
0

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


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 1 سال پیش مطرح شد
0

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


1

@Raymond درود بر شما ؛ بسیار ممنونم از مشارکتی که داشتید ؛ نکته ی خوبی بود ؛ ممنونم این رو تست نکرده بودم

@mmirabi ممنونم آقای میرابی باید اینم باید تست کنم


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام