triton 0 ارسال شده در بهمن 96 گزارش بازنشر ارسال شده در بهمن 96 سلام می خواهم افزونه ای بنویسم که برای وب سرویس استفاده می شود (به صورت POST). مسلما نمی تونم برای استفاده از سرویس مسیر فایل اصلی افزونه را بدم و باید از مسیر خاص و ثابتی استفاده کنم. مثلا wordpress.com/wp-my-service/ چطور می تونم از داخل افزونه از مسیر اختصاصی استفاده کنم؟ آیا میشه از برگه ها استفاده کرد؟ اگه میشه چطوری؟ چطور بدون صدا زدن فایل اصلی افزونه سرویس را صدا بزنم؟ لینک به ارسال
mehran-b 2385 ارسال شده در بهمن 96 گزارش بازنشر ارسال شده در بهمن 96 سلام و درود خود وردپرس REST API داره ولی اگر هدفتون اینه که خودتون یه API اختصاصی بنویسید هم میشه از Ajax API استفاده کنید هم میشه با استفاده از query_vars و add_rewrite_rule به طور کلی یه روت برای API تون ایجاد کنید. موفق باشید لینک به ارسال
triton 0 ارسال شده در بهمن 96 مالک گزارش بازنشر ارسال شده در بهمن 96 در 2 دقیقه قبل، mehran-b گفته است : سلام و درود خود وردپرس REST API داره ولی اگر هدفتون اینه که خودتون یه API اختصاصی بنویسید هم میشه از Ajax API استفاده کنید هم میشه با استفاده از query_vars و add_rewrite_rule به طور کلی یه روت برای API تون ایجاد کنید. موفق باشید من از باینری می خواهم استفاده کنم نه از جیسون ... REST API به کارم نمی یاد add_rewrite_rule برای پست ها کار می کنه ولی فایل php من در پوشه پلاگین را اجرا نمی کنه لینک به ارسال
mehran-b 2385 ارسال شده در بهمن 96 گزارش بازنشر ارسال شده در بهمن 96 درود مجدد در 10 دقیقه قبل، triton گفته است : من از باینری می خواهم استفاده کنم نه از جیسون در مورد خروجی باینری API یه توضیحی بدید متوجه نشدم دقیقا چی هست. نقل قول add_rewrite_rule برای پست ها کار می کنه ولی فایل php من در پوشه پلاگین را اجرا نمی کنه هوک های query_vars و add_rewrite_rule میتونند کامل از پایه یه روت روی سایت شما ایجاد کنند. مثل همون مثالی که زدید. نقل قول wordpress.com/wp-my-service/ البته باید کامل مستنداتش رو مطالعه کنید که بتونید ایجاد کنید چیزی رو که میخواید. موفق باشید لینک به ارسال
triton 0 ارسال شده در بهمن 96 مالک گزارش بازنشر ارسال شده در بهمن 96 در 18 ساعت قبل، mehran-b گفته است : در مورد خروجی باینری API یه توضیحی بدید متوجه نشدم دقیقا چی هست. در واقع یک app دارم که با وب سایت باید مرتبط بشه و اطلاعات ارسالی به صورت باینری بین سایت و برنامه تبادل میشه ... خیلی سریعتر از جیسون هست در 18 ساعت قبل، mehran-b گفته است : البته باید کامل مستنداتش رو مطالعه کنید که بتونید ایجاد کنید چیزی رو که میخواید. من هر چی خوندم و تست زدم که نشد. شما تست کنید میشه wordpress.com/wp-content/plugins/my-plugin/gateway.php را به یه آدرسی مثل wordpress.com/my-service تبدیل کرد لینک به ارسال
mehran-b 2385 ارسال شده در بهمن 96 گزارش بازنشر ارسال شده در بهمن 96 درود مجدد شما توی فایل اصلی پلاگینت میای کدهای زیر رو میذاری. add_filter('query_vars', function($vars) { $vars[] = "my-api"; return $vars; }); add_action('init', function() { add_rewrite_rule('^my-api/([^/]*)/?$', 'index.php?my-api=$matches[1]', 'top'); }); add_action('template_redirect', function() { if(get_query_var('my-api', false) !== false) { add_filter('template_include', function() { return plugin_dir_path(__FILE__) . 'gateway.php'; }); } }); بعدش هر درخواستی به این مسیر ها بشه. http://domain.com/my-api/post/ یا http://domain.com/my-api/comment/ یا http://domain.com/my-api/page/ وردپرس درخوسات رو هدیات میکنه سمت فایل gateway.php که توی پوشه اصلی پلاگین هستش. موفق باشید لینک به ارسال
triton 0 ارسال شده در بهمن 96 مالک گزارش بازنشر ارسال شده در بهمن 96 من شبیه این کدها را نوشتم ولی نمی دونم چرا برای من کار نمی کنه و 404 میده لینک به ارسال
triton 0 ارسال شده در بهمن 96 مالک گزارش بازنشر ارسال شده در بهمن 96 مشکل حل شد ... باید از توی تنظیمات Permalinks را یکبار ذخیره می کردم لینک به ارسال
mehran-b 2385 ارسال شده در بهمن 96 گزارش بازنشر ارسال شده در بهمن 96 درود مجدد در 1 دقیقه قبل، triton گفته است : مشکل حل شد ... باید از توی تنظیمات Permalinks را یکبار ذخیره می کردم بله همینطوره. موفق باشید لینک به ارسال
پست های پیشنهاد شده
لطفا برای ارسال دیدگاه وارد شوید
شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید
ورود به حساب کاربری