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

سلام خدمت استاد گرامی

در متد get متن زیر return می‌شود

 'success'=>is_user_logged_in() ? 'login':'no login'

در مرورگر  درحال که من لاگین هستم مقدار 

no login

(لاگین بودن یوزر تشخیص داده نمی‌شود)نشان می‌دهد علتش چیست؟

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

اما در 

postman

مقدار 

login

برمی گرداند

 

با تشکر از لطف شما

 

سلام خدمت شما. لطفا اعلام بفرمایید کد زیر دقیقا در کدام بخش وردپرس تعریف کردید؟ و نمونه کدهای اون رو هم قرار بدین.

کیوان علی محمدی ۲۵ اردیبهشت ۱۴۰۰، ۰۷:۲۶

سلام خدمت استاد گرامی

۱- در دایرکتوری اصلی پلاگین یک پوشه به نام class درست کردم و درآن در یک فایل در یک کلاس متدهای زیر را تعریف کرد

    public function api_new_register_rest_route()
    {
        register_rest_route($this->nameSpace . $this->version, $this->route, [
            ['methods' => WP_REST_Server::READABLE,
                'callback' => [$this, 'api_callback_get'],
                   ],
        ]);
    }
    public function api_callback_get(WP_REST_Request    $request)
    {   return [
        'success'=>is_user_logged_in() ? 'login':'no login'
    ];
    }

و سپس کلاس را در فایل اصلی پلاگین آن را 

new

 کردم

 

با تشکر از لطف شما.

رضا ۲۵ اردیبهشت ۱۴۰۰، ۰۷:۴۲

سلام.این تابع جز تابع‌های pluggable هست و بعد از پلاگین‌ها در دسترسی قرار میگیره. شما این تابع رو باید در داخل یک هوک مثل init فرخوانی کنید.

کیوان علی محمدی ۰۱ خرداد ۱۴۰۰، ۱۱:۲۹