-
December 10th, 2019, 10:09
#1
عضو انجمن
خطا در استفاده از توابع وردپرس ===> پلاگین نویسی
سلام و عرض ادب و خسته نباشید خدمت شما
چند روزی هست که در حال طراحی یک افزونه وردپرسی هستم، اما با خطاهایی مواجه میشوم که آشنایی نداریم چطوری باید رفع کرد و مشکل از کجاست
کد:
<?php/*
Plugin Name: plugin name
Plugin URI: http://Bazarwp.com/
Description: plugin descriptions
Author:
Version: 2.0
Author URI: Https://Bazarwp.com
Date: 12/5/2019 16:50
*/
defined( 'ABSPATH' ) || exit( '' );
$to = 'myemail_address@gmail.com';
$subject = 'The subject';
$body = 'The email body content';
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail( $to, $subject, $body, $headers );
?>
خیلی ساده بدون هیچ کار خاصی میخوام یک ایمیل ارسال کنم
این خطا رو میده
کد:
Fatal error: Call to undefined function wp_mail() in /home/site/public_html/wp-content/plugins/my_plugin/my_plugin.php on line 34
ولی وقتی این رو داخل هوک init استفاده میکنم خطا نمیده و ایمیل ارسال میشه
برخی از توابع وردپرس رو استفاده میکنم اینجوری میشه، مشکل از کجاست به نظرتون؟
ممنون میشم راهنمائیم کنید
با تشکر
-
-
December 10th, 2019 10:09
# ADS
-
December 10th, 2019, 16:57
#2
پاسخ : خطا در استفاده از توابع وردپرس ===> پلاگین نویسی
کد PHP:
require_once("../../../wp-load.php");
-
تعداد تشکر ها ازhoka به دلیل پست مفید
-
December 11th, 2019, 12:27
#3
عضو انجمن
پاسخ : خطا در استفاده از توابع وردپرس ===> پلاگین نویسی

نوشته اصلی توسط
hoka
کد PHP:
require_once("../../../wp-load.php");
سلام و عرض ادب
ممنون بابت وقتی که گذاشتین
با روش های مختلف این مورد رو تست کردم
نتیجه نداده
-
-
December 11th, 2019, 13:14
#4
عضو دائم
پاسخ : خطا در استفاده از توابع وردپرس ===> پلاگین نویسی
ولی وقتی این رو داخل هوک init استفاده میکنم خطا نمیده و ایمیل ارسال میشه
برخی از توابع وردپرس رو استفاده میکنم اینجوری میشه، مشکل از کجاست به نظرتون؟
ممنون میشم راهنمائیم کنید
با تشکر
سلام
غلت دقیقا در داخل پرسش هست
شما توابع وردپرس رو باید بعد از لود شدنشون اجرا کنید
وقتی فایل پلاگین شما قبل از فایلی که مثلا تابع wp_mail رو تعریف کرده اجرا میشه طبیعتا خطا دریافت میکنید
اما وقتی از هوک ها استفاده میکنید و بعد از init کدتون رو اجرا میکنید چون اون فایل ها include شدن خطایی نمی گیرید
باید موقع استفاده از توابع دقت کنید در چه فایلی تعریف شده و با چه هوکی در دسترس هست برای این منظور باید داکیومنت توسعه دهندگان
مثلا تابعی که گفتید رو ببینید :
https://developer.wordpress.org/refe...tions/wp_mail/
در داکیومنت اشاره شده که :
کد HTML:
The function is available after the hook 'plugins_loaded'.
-
تعداد تشکر ها از Rezash به دلیل پست مفید
-
December 14th, 2019, 11:10
#5
عضو انجمن
پاسخ : خطا در استفاده از توابع وردپرس ===> پلاگین نویسی

نوشته اصلی توسط
Rezash
سلام
غلت دقیقا در داخل پرسش هست
شما توابع وردپرس رو باید بعد از لود شدنشون اجرا کنید
وقتی فایل پلاگین شما قبل از فایلی که مثلا تابع wp_mail رو تعریف کرده اجرا میشه طبیعتا خطا دریافت میکنید
اما وقتی از هوک ها استفاده میکنید و بعد از init کدتون رو اجرا میکنید چون اون فایل ها include شدن خطایی نمی گیرید
باید موقع استفاده از توابع دقت کنید در چه فایلی تعریف شده و با چه هوکی در دسترس هست برای این منظور باید داکیومنت توسعه دهندگان
مثلا تابعی که گفتید رو ببینید :
https://developer.wordpress.org/refe...tions/wp_mail/
در داکیومنت اشاره شده که :
کد HTML:
The function is available after the hook 'plugins_loaded'.
سلام و عرض ادب خدمت مهندس عزیز و گرامی
بسیار بسیار ممنون و متشکرم از خدمت شما
براتون بهترین ها رو از خداوند منان آرزومندم
-