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 را یکبار ذخیره می کردم بله همینطوره. موفق باشید نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .