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

درود بر شما

من در حال نوشتن یه افزونه هستم 

فایل های مرتبط رو با این کدها میخوام در فایل اصلی افزونه بیارم تا کدهای داخل اون پوشه ها رو بخونه

با این کد : 

include_once book_inc_dir.'frontend.php'  ;
	
if (is_admin() ) {
 	include_once vip_inc_dir.'backend.php'  ;
 	include_once vip_inc_dir.'ajax.php'  ;
 	include_once vip_inc_dir.'pages.php'  ;
 } 

 اما بعد از سیو کردن با همچین اروری مواجه میشم :

 

 


Warning: include_once(./inc/frontend.php): failed to open stream: No such file or directory in C:\xampp\htdocs\wpvip\wp-content\plugins\wpvip\wpvip.php on line 30

Warning: include_once(): Failed opening './inc/frontend.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\wpvip\wp-content\plugins\wpvip\wpvip.php on line 30

Warning: include_once(./inc/backend.php): failed to open stream: No such file or directory in C:\xampp\htdocs\wpvip\wp-content\plugins\wpvip\wpvip.php on line 33

Warning: include_once(): Failed opening './inc/backend.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\wpvip\wp-content\plugins\wpvip\wpvip.php on line 33

Warning: include_once(./inc/ajax.php): failed to open stream: No such file or directory in C:\xampp\htdocs\wpvip\wp-content\plugins\wpvip\wpvip.php on line 34

Warning: include_once(): Failed opening './inc/ajax.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\wpvip\wp-content\plugins\wpvip\wpvip.php on line 34

Warning: include_once(./inc/pages.php): failed to open stream: No such file or directory in C:\xampp\htdocs\wpvip\wp-content\plugins\wpvip\wpvip.php on line 35

Warning: include_once(): Failed opening './inc/pages.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\wpvip\wp-

0

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


لینک به پست

سلام و درود @f.rahimi

 

اون book_inc_dir و vip_inc_dir دقیقا چی هستن؟

1

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


لینک به پست
در 15 دقیقه قبل، mehran-b گفته است :

سلام و درود @f.rahimi

 

اون book_inc_dir و vip_inc_dir دقیقا چی هستن؟

متغیر هایی هستن که برای دسترسی راحت تر تعریف کردم ، به این شکل

define('vip_dir',plugin_dir_path(_FILE_));
define('vip_inc_dir', trailingslashit(vip_dir.'inc'));
define('vip_url',plugin_dir_url(_FILE_));
define('vip_css_url', trailingslashit(vip_url.'css'));
define('vip_js_url', trailingslashit(vip_url.'js'));
define('vip_img_url', trailingslashit(vip_url.'img'));
 

اون متغیر هم book_inc_dir نیست ، بد تایپ کردم ، متغیر vip_inc_dir  هست 
پوشه های inc , css ,js,img هم داخل پوشه پلاگینم ایجاد شدن

0

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


لینک به پست
در 4 دقیقه قبل، f.rahimi گفته است :

متغیر هایی هستن که برای دسترسی راحت تر تعریف کردم

ثوابت جادویی در PHP با دو آندرلاین شروع و با دو آندرلاین به پایان می رسند.

در نتیجه:

_FILE_ // Incorrect
__FILE__ // Correct

 

موفق باشید

2

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


لینک به پست
در 2 دقیقه قبل، mehran-b گفته است :

ثوابت جادویی در PHP با دو آندرلاین شروع و با دو آندرلاین به پایان می رسند.

در نتیجه:


_FILE_ // Incorrect
__FILE__ // Correct

 

موفق باشید

متشکرم .:)

0

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


لینک به پست
در هم اکنون، f.rahimi گفته است :

متشکرم .:)

خواهش میکنم.

1

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


لینک به پست

ارسال شده در (ویرایش شده)

سلام مجدد ، من یه تابع رو توی پوشه اصلی افزونه فراخوانی کردم با این کد 

 if (is_admin()) {
 	add_action ('admin_menu','vip_add_menu ');
}

 

الان میخوام تو فایل backend که توی پوشه inc هست همچین تابعی رو تعریف کنم 

<?php function vip_add_menu () {
  add_menu_page ('عضویت ویژه','ویژه','manage_options','vip_main','vip_dashboard_page');
  add_submenu_page('vip_main','عضویت ویژه' , 'صفحه اصلی','manage_options','vip_main');
  add_submenu_page('vip_main','محصولات' , 'صفحه اصلی','manage_options','product_page','vip_product_page'); } ?>

ولی این ارور رو میده 

 

 

Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'vip_add_menu ' not found or invalid function name in C:\xampp\htdocs\vip\wp-includes\class-wp-hook.php on line 289

 
ویرایش شده در توسط f.rahimi
0

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


لینک به پست

درود @f.rahimi

 

خوب شما اسم تابع رو باید همون چیزی که به اکشن دادی بزنی اینجا یه چیز دیگه زدی.

1

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


لینک به پست
در 1 دقیقه قبل، mehran-b گفته است :

درود @f.rahimi

 

خوب شما اسم تابع رو باید همون چیزی که به اکشن دادی بزنی اینجا یه چیز دیگه زدی.

اینجا بد تایپ کرده بودم 

اونجا همینه

0

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


لینک به پست
در 4 دقیقه قبل، f.rahimi گفته است :

اینجا بد تایپ کرده بودم 

اونجا همینه

پیدا نمیکنه تابع vip_add_menu رو.

این تابع رو منتقل کنید به فایل اصلی پلاگین ببینید درست میشه.

1

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


لینک به پست
در 3 دقیقه قبل، mehran-b گفته است :

پیدا نمیکنه تابع vip_add_menu رو.

این تابع رو منتقل کنید به فایل اصلی پلاگین ببینید درست میشه.

نه همونجا هم همین ارور رو میده

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

0

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


لینک به پست
در 2 دقیقه قبل، f.rahimi گفته است :

نه همونجا هم همین ارور رو میده

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

پیداش نمیکنه دیگه کال بک رو.

میشه بدنه تابع رو مستقیم جای پارامتر کال بک بدید.

if(is_admin()) {
 	add_action('admin_menu', function() {
		
		add_menu_page ('عضویت ویژه','ویژه','manage_options','vip_main','vip_dashboard_page');
		add_submenu_page('vip_main','عضویت ویژه' , 'صفحه اصلی','manage_options','vip_main');
		add_submenu_page('vip_main','محصولات' , 'صفحه اصلی','manage_options','product_page','vip_product_page');
		
	});
}

 

1

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


لینک به پست
در 1 دقیقه قبل، mehran-b گفته است :

پیداش نمیکنه دیگه کال بک رو.

میشه بدنه تابع رو مستقیم جای پارامتر کال بک بدید.


if(is_admin()) {
 	add_action('admin_menu', function() {
		
		add_menu_page ('عضویت ویژه','ویژه','manage_options','vip_main','vip_dashboard_page');
		add_submenu_page('vip_main','عضویت ویژه' , 'صفحه اصلی','manage_options','vip_main');
		add_submenu_page('vip_main','محصولات' , 'صفحه اصلی','manage_options','product_page','vip_product_page');
		
	});
}

 

خب اینجوری میارتش ولی من چجوری تابع رو باید فراخوانی کنم که از اون فایل بخونتش  ؟
چون کدای اون فایل خیلی زیاد میشن 

0

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


لینک به پست
در 1 دقیقه قبل، f.rahimi گفته است :

خب اینجوری میارتش ولی من چجوری تابع رو باید فراخوانی کنم که از اون فایل بخونتش  ؟
چون کدای اون فایل خیلی زیاد میشن 

خوب برای اون مورد قطعا یه جا رو اشتباه کردید که من نمیدونم الان کجا رو شما اشتباه کردید.

1

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


لینک به پست
در 2 دقیقه قبل، mehran-b گفته است :

خوب برای اون مورد قطعا یه جا رو اشتباه کردید که من نمیدونم الان کجا رو شما اشتباه کردید.

if ( ! defined( 'ABSPATH' ) ) { 
    exit; // Exit if accessed directly
}
define('vip_dir',plugin_dir_path(__FILE__));
define('vip_inc_dir', trailingslashit(vip_dir.'inc'));
define('vip_url',plugin_dir_url(__FILE__));
define('vip_css_url', trailingslashit(vip_url.'css'));
define('vip_js_url', trailingslashit(vip_url.'js'));
define('vip_img_url', trailingslashit(vip_url.'img'));

include_once vip_inc_dir.'frontend.php';
    
if (is_admin() ) {
     include_once vip_inc_dir.'backend.php';
     include_once vip_inc_dir.'ajax.php';
     include_once vip_inc_dir.'pages.php';
     
}

این همه کدای قبل از فراخوانی تابعه
من توی پوشه افزونه جز فایل افزونه چهار تا پوشه دارم inc .img . js , css 
که فایل های php که توی کد هست توی پوشه inc هستن 

0

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


لینک به پست
در 4 دقیقه قبل، f.rahimi گفته است :

این همه کدای قبل از فراخوانی تابعه
من توی پوشه افزونه جز فایل افزونه چهار تا پوشه دارم inc .img . js , css 
که فایل های php که توی کد هست توی پوشه inc هستن 

این بخش مشکلی نداره.

1

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


لینک به پست

ارسال شده در (ویرایش شده)

در 4 دقیقه قبل، mehran-b گفته است :

این بخش مشکلی نداره.

دیگه چیزی قبلش نیست جز همینا اخه 

 ولی احتمالا پوشه ها رو نتونسته بخونه 

چون اخه تابع هایی که برای زیر منو تعریف کردم هم توی پوشه frontend گذاشتم 

بالان که توی فایل اصلی تابع انجام شد 

برای تابع های زیرمنوهام همین ارور رو میده

 

Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'vip_product_page' not found or invalid function name in C:\xampp\htdocs\vip\wp-includes\class-wp-hook.php on line 289
 
 
 
 
ویرایش شده در توسط f.rahimi
0

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


لینک به پست
در 3 دقیقه قبل، f.rahimi گفته است :

ولی احتمالا پوشه ها رو نتونسته بخونه

اگر فایل ها رو پیدا نکنه یه وارنینگ میده.

1

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


لینک به پست

ارسال شده در (ویرایش شده)

در 4 دقیقه قبل، mehran-b گفته است :

اگر فایل ها رو پیدا نکنه یه وارنینگ میده.

موافقم چون با یکم تغییر کدا الان خوند تابع های زیرمنو رو از  فایلpages 

فقط این backend رو نمیخونه احتمالا

ویرایش شده در توسط f.rahimi
0

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


لینک به پست
در 3 دقیقه قبل، f.rahimi گفته است :

فقط این backend رو نمیخونه احتمالا

فایل backend هم include کرده پیداش نکنه داخل داشبورد وارنینگ میده.

1

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


لینک به پست
در 13 دقیقه قبل، mehran-b گفته است :

فایل backend هم include کرده پیداش نکنه داخل داشبورد وارنینگ میده.

نمیدونم دیگه

0

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط stevej
      سلام این ارور برای چی هست ؟؟؟
       
       
      Fatal error: Call to undefined function porto_woocommerce_product_nav() in /home/farhangp/public_html/static/woocommerce/single-product/title.php on line 43
       
    • توسط eniac
      سلام
      آیا ميشه تبلیغات بنری یا کلیکی رو داخل صفحه Amp گذاشت یا شورتکد تبلیغ؟
      توی مستندات amp يه چیزهایی نوشته ولی متوجه نشدم.
    • توسط imaniy
      سلام دوستان من افزونه Subscribe to Comments Reloaded رو نصب و پیکربندی کردم تا کاربر وقتی نظرش تایید شد یا پاسخ داده شد واسش ایمیل ارسال بشه ولی این کار رو نمیکنه نمیدونم چرا راستی تو قسمت نشانی رایان‌نامه فرستنده جیمیل من هستش این چطوری میتونه با جیمیل من برای کسی ایمیل ارسال کنه مگه سترسی داره؟ اگه مشکل همینه باید چیکار کنم؟ راستی راهی هست وقتی کاربر نظری ثبت میکنه بهش گفته بشه نظر شما منتظر تایید مدیریت میباشد؟ امیدوارم اینم افزونه نخاد.
    • توسط sae13
      سلام من یه تابع دارم.
      که نگاه میکنه اگه داده های خاصی توی دیتابیس ذخیره نیستن اونا رو اضافه میکنه.
      کد تابع من اینه :
       
       
      function add_sellers_brand_size_to_db() { include_once dirname( __FILE__ ).'/sellers_brands.php'; // installation_db(); global $seller_array; global $brands_array; global $tire_sabok_size_gf_field_id; global $tire_sangin_size_gf_field_id; global $tire_gravity_form_id; $current_user = wp_get_current_user(); $current_user_name = $current_user->user_login; // $entry_size=GFAPI::get_entry() $tire_field = GFAPI::get_field($tire_gravity_form_id, $tire_sabok_size_gf_field_id); $tire_field = $tire_field->choices; $tire_sabok_size_array = array(); foreach ($tire_field as $tire) { array_push($tire_sabok_size_array, $tire['text']); } $tire_field = GFAPI::get_field($tire_gravity_form_id, $tire_sangin_size_gf_field_id); $tire_field = $tire_field->choices; $tire_sangin_size_array = array(); foreach ($tire_field as $tire) { array_push($tire_sangin_size_array, $tire['text']); } $tire_table_array = array(); foreach ($seller_array as $seller_name => $seller) { $tire_seller_sells_sabok = in_array('sabok', $seller['tire_type']); $tire_seller_sells_sangin = in_array('sangin', $seller['tire_type']); foreach ($seller['brands'] as $brand_name) { $brand = $brands_array[$brand_name]; $tire_sabok_is_in_brand = in_array('sabok', $brand['type']); $tire_sangin_is_in_brand = in_array('sangin', $brand['type']); if ($tire_seller_sells_sangin) { if ($tire_sangin_is_in_brand) { foreach ($tire_sangin_size_array as $size) { $seller_table_array = array($seller, $brand, $size, false); array_push($tire_table_array, $seller_table_array); } } } if ($tire_seller_sells_sabok) { if ($tire_sabok_is_in_brand) { foreach ($tire_sabok_size_array as $size) { $seller_table_array = array($seller_name, $brand_name, $size, true); array_push($tire_table_array, $seller_table_array); } } } } } foreach ($tire_table_array as $row) { global $wpdb; $table_name = $wpdb->prefix . 'tire_seller'; $seller = $row[0]; $brand = $row[1]; $size = $row[2]; $is_sabok = $row[3]; $id = $wpdb->get_var(" select max(id) from $table_name where tire_seller='$seller' and tire_brand='$brand' and tire_size='$size' ; "); if ($id == NULL) { $insert_array = array( 'tire_seller' => $seller, 'tire_brand' => $brand, 'tire_size' => $size, 'tire_type_is_sabok' => $is_sabok, 'added_by' => $current_user_name ); $wpdb->insert($table_name, $insert_array); } } }  
       
      وقتی این تابع رو میذارم توی
      register_activation_hook(__FILE__,'add_sellers_brand_size_to_db');  فرجی نمیشه ولی وقتی خالی خالی اجراش میکنم بدون هیچ مشکلی کار میکنه.
      ویدیوش
      http://gg.gg/cmdmn
      limit.zip