ওয়ার্ডপ্রেস আজাক্স অনুরোধ শেষ করার সেরা উপায় এবং কেন?


16

নিয়মিত ওয়ার্ডপ্রেস এজাক্স অনুরোধগুলি বিবেচনা করে:

add_action( 'wp_ajax_merrychristmas_happynewyear', array( $this, 'merrychristmas_happynewyear' ) );
add_action( 'wp_ajax_nopriv_merrychristmas_happynewyear', array( $this, 'merrychristmas_happynewyear' ) );

এটা শেষ ফাংশন সবচেয়ে বেশি ভালো করবে merrychristmas_happynewyearসঙ্গে die(), die(0), wp_die(), নাকি অন্য কিছু এবং কেন?

উত্তর:


13

ব্যবহার wp_die()করা সেই বিকল্পগুলির মধ্যে সেরা।

অন্যদের উল্লিখিত আছে, সেখানে অনেক কারণ প্লেইন উপর একটি ওয়ার্ডপ্রেস-নির্দিষ্ট ফাংশন পছন্দ করা হয় dieবা exit:

  • এটি অন্য প্লাগইনগুলিকে ডাকা ক্রিয়াগুলিতে আটকানোর অনুমতি দেয় wp_die()
  • প্রসঙ্গের ভিত্তিতে প্রস্থান করার জন্য এটি একটি বিশেষ হ্যান্ডলারের অনুমতি দেয় ( wp_die()অনুরোধটি অ্যাজাক্স অনুরোধ কিনা তা ভিত্তিতে এর আচরণটি তৈরি করা হয়েছে)।
  • এটি আপনার কোড পরীক্ষা করা সম্ভব করে তোলে।

শেষটিটি আরও গুরুত্বপূর্ণ, যে কারণে আমি এই নোটটি কোডেক্সে যুক্ত করেছি । আপনি যদি নিজের কোডের জন্য ইউনিট / ইন্টিগ্রেশন টেস্ট তৈরি করতে চান , আপনি কল exitবা dieসরাসরি কল করে এমন কোনও ফাংশন পরীক্ষা করতে পারবেন না । এটি স্ক্রিপ্টটি সমাপ্ত করবে, যেমনটি মনে করা হয়েছিল। এটি এড়ানোর জন্য যেভাবে ওয়ার্ডপ্রেসের নিজস্ব পরীক্ষাগুলি সেট আপ করা হয় (এজ্যাক্স কলব্যাকগুলির জন্য এটির পরীক্ষা রয়েছে), তা হল ক্রিয়াকলাপের ক্রিয়ায় লিপ্ত হওয়া wp_die()এবং একটি ব্যতিক্রম ছুঁড়ে ফেলা। এটি ব্যতিক্রমটিকে পরীক্ষার মধ্যে ধরা দেয় এবং কলব্যাকের আউটপুট (যদি থাকে) বিশ্লেষণ করা যায়।

কেবলমাত্র আপনি যখন ব্যবহার করবেন dieবা exitতা হ'ল যদি আপনি কোনও বিশেষ পরিচালনা থেকে বাইপাস wp_die()করে তাৎক্ষণিকভাবে মৃত্যুদণ্ড কার্যকর করতে চান। কিছু কিছু জায়গা রয়েছে যেখানে ওয়ার্ডপ্রেস এটি করে (এবং অন্যান্য জায়গাগুলি যেখানে এটি dieসরাসরি ব্যবহার করতে পারে কেবল তাই হ্যান্ডলিং wp_die()গুরুত্বপূর্ণ নয়, বা কেউ কোনও কোডের জন্য এখনও পরীক্ষা তৈরি করার চেষ্টা করেনি, তাই এটি উপেক্ষা করা হয়েছিল)। মনে রাখবেন যে এটি আপনার কোডটিকে পরীক্ষা করা আরও কঠিন করে তোলে, তাই এটি সাধারণত কেবল এমন কোডে ব্যবহার করা হবে যা কোনও ফাংশন বডিতে নেই (যেমন ওয়ার্ডপ্রেস দেয় admin-ajax.php)। সুতরাং যদি হ্যান্ডলিংটি wp_die()বিশেষভাবে পছন্দসই না হয় বা আপনি কোনও নির্দিষ্ট সময়ে সতর্কতা হিসাবে স্ক্রিপ্টটি হত্যা করছেন (যেমনadmin-ajax.phpকরে, আশা করে যে সাধারণত একটি অ্যাজাক্স কলব্যাক ইতিমধ্যে সঠিকভাবে উপস্থিত হয়ে গেছে), তবে আপনি dieসরাসরি ব্যবহারের কথা বিবেচনা করতে পারেন ।

নিরিখে wp_die()বনাম wp_die( 0 ), যা আপনি ব্যবহার করা উচিত কি সামনে শেষ উপর যে Ajax অনুরোধের প্রতিক্রিয়া হ্যান্ডলিং করা হয় উপর নির্ভর করে। যদি এটি কোনও নির্দিষ্ট প্রতিক্রিয়া সংস্থার প্রত্যাশা করে তবে আপনার সেই বার্তাটি (বা পূর্ণসংখ্যা, এই ক্ষেত্রে) প্রেরণ করতে হবে wp_die()। যদি এটির জন্য সমস্ত কিছু শোনা যাচ্ছে তবে প্রতিক্রিয়াটি সফল হচ্ছে ( 200প্রতিক্রিয়া কোড বা যাই হোক না কেন), তারপরে কোনও কিছু পাস করার দরকার নেই wp_die()। আমি নোট করব, যদিও, এটির সাথে সমাপ্তি wp_die( 0 )প্রতিক্রিয়াটিকে ডিফল্ট admin-ajax.phpপ্রতিক্রিয়া থেকে পৃথক করে তুলবে । সুতরাং 0আপনার কলব্যাকটি সঠিকভাবে জড়িয়ে পড়েছিল এবং আসলে দৌড়েছিল কিনা তা আপনাকে জানায় না। একটি ভিন্ন বার্তা ভাল হবে।

অন্যান্য উত্তরে যেমন উল্লেখ করা হয়েছে, আপনি প্রায়শই এটি wp_send_json()আল পাবেন। আপনি যদি কোনও জেএসএন প্রতিক্রিয়া ফেরত পাঠাচ্ছেন তবে সহায়ক হবেন, যা সাধারণত একটি ভাল ধারণা। এটি কেবল wp_die()একটি কোডের সাথে কল করার চেয়েও উন্নত , কারণ আপনি যদি প্রয়োজন হয় তবে কোনও JSON অবজেক্টে আরও অনেক তথ্য পাস করতে পারেন। ব্যবহার করে wp_send_json_success()এবং wp_send_json_error()সাফল্য / ত্রুটি বার্তাটি একটি স্ট্যান্ডার্ড ফর্ম্যাটে ফেরত পাঠিয়ে দেয় যা ওয়ার্ডপ্রেস দ্বারা সরবরাহিত কোনও জেএস আজাক্স সহায়ক ফাংশন বুঝতে সক্ষম হবে (পছন্দ করতে wp.ajax)।

টিএল; ডিআর: আপনার সম্ভবত সর্বদা ব্যবহার করা উচিত wp_die(), আজাক্স কলব্যাকে থাকুক বা না থাকুক। আরও ভাল, তথ্য wp_send_json()এবং বন্ধুদের সাথে ফিরে প্রেরণ করুন ।


আপনি কিছু ভাল দৃষ্টিভঙ্গি যুক্ত করেছেন। আমি আমার চিন্তা দিয়ে থ্রেড আপডেট করেছি updated ভাল লাগলে মন্তব্য করতে পারেন। @JD
prosti থেকে

@ প্রসটি ধন্যবাদ, আপনি / ওয়ার্ডপ্রেস dieপরিবর্তে কখন এবং কেন ব্যবহার করতে পারেন সে সম্পর্কে আমি একটি অনুচ্ছেদ যুক্ত করেছি wp_die()
জেডি

আমি তোমার প্রচেষ্টার প্রশংসা করি, কিন্তু, আমি কেন ওয়ার্ডপ্রেস কোর মাঝে মাঝে ব্যবহৃত বুঝতে পারছি না die()এবং কখনও কখনও wp_die()
প্রেস্টি

ধন্যবাদ @ প্রসটি। কারণ ওয়ার্ডপ্রেস কখনও কখনও কেন ব্যবহার করে die(), কিছু ক্ষেত্রে এটি কেবলমাত্র উত্তরাধিকারের কোড, বা die()স্ক্রিপ্টটিকে শেষ অবলম্বন হিসাবে হত্যা করতে ব্যবহৃত হয়েছিল যখন সত্যিই অপ্রত্যাশিত কিছু ঘটেছিল এবং wp_die()ডাকা হয়নি। অন্যান্য ক্ষেত্রে, কেউ কোনও কোডের টুকরো জন্য পরীক্ষা তৈরি করে নি, এবং এর থেকে বিশেষ হ্যান্ডলিংয়ের wp_die()বিশেষভাবে প্রয়োজন হয় না, তাই এটি উপেক্ষা করা হয়েছে।
জেডি

13

প্লাগিনগুলির কোডেক্স এজেএক্স থেকে

add_action( 'wp_ajax_my_action', 'my_action_callback' );

function my_action_callback() {
    global $wpdb; // this is how you get access to the database

    $whatever = intval( $_POST['whatever'] );

    $whatever += 10;

        echo $whatever;

    wp_die(); // this is required to terminate immediately and return a proper response
}

এর wp_die()পরিবর্তে die()বা এর ব্যবহার লক্ষ্য করুন exit()wp_die()আপনার অ্যাজাক্স কলব্যাক ফাংশনে আপনার বেশিরভাগ সময় ব্যবহার করা উচিত । এটি ওয়ার্ডপ্রেসের সাথে আরও ভাল সংহতকরণ সরবরাহ করে এবং আপনার কোডটি পরীক্ষা করা আরও সহজ করে তোলে।


আপনার উল্লিখিত সিকোডেক্স দুর্দান্ত, তবে ওয়ার্ডপ্রেস কোর এটি অনুসরণ করে না। কীভাবে?
prosti থেকে

3
সমস্ত wp_send_json_*ফাংশন wp_send_jsonযা এখনও ব্যবহার করে সেগুলি ব্যবহার করেwp_die
টুনজি

তবে কেন, আমি এখানে কিছু মিস করছি। আপনি কি এই কাজগুলি বিশ্লেষণ করেছেন এবং সিদ্ধান্তে এসেছেন?
prosti থেকে

1
wp_send_jsonউত্তরের সাথে নোটটি যুক্ত করতে আপনার কি আপত্তি আছে ?
মার্ক কাপলুন

1
যা সঠিক? wp_die (0) বা wp_die ()?
আনোয়ার এআর

5

আপনি wp_send_json()কোডেক্স হিসাবে বর্ণিত হিসাবে ব্যবহার করতে পারেনsend a JSON response back to an AJAX request, and die().

সুতরাং, যদি আপনাকে কোনও অ্যারে ফিরিয়ে দিতে হয় তবে আপনি কেবল আপনার ফাংশনটি দিয়ে শেষ করেছেন wp_send_json($array_with_values);। দরকার নেই echoবা die

আপনি দুটি সহায়তা সহায়ক ফাংশন পাবেন wp_send_json_success()এবং wp_send_json_error()এটিতে একটি বা একটি যথাক্রমে যুক্ত successহবে যা যথাক্রমে হবে।truefalse

উদাহরণ স্বরূপ:

$array_val = range( 1,10 );
var_dump( wp_send_json_error( $array_val ) ); # Output: {"success":false,"data":[1,2,3,4,5,6,7,8,9,10]}
echo 'Hey there'; # Not executed because already died.

wp_json_encodeকোনও ব্যতিক্রমের ক্ষেত্রে মিথ্যা ফিরতে পারে, সে ক্ষেত্রে কী হবে?
prosti থেকে

তৃতীয় আর্গুমেন্ট (গভীরতা) ০ এর চেয়ে কম হলে এটি একটি ব্যতিক্রম ছুঁড়ে
ফেলেছে

সুতরাং আপনি বিশ্বাস করেন wp_send_json()যে সবচেয়ে ভাল উপায়? কেন?
prosti থেকে

@ প্রস্টি আমাদের জন্য wp_send_json() কিছু জিনিস রাখেএই প্রশ্নটিও ডিল করে wp_send_json()
Rত্বিক

এটি হ'ল @ আর রিকেশ ঠিক কেন আমি ডাব্লুপি কোরকে জিজ্ঞাসা করছি যে এই ফাংশনটি ব্যবহার করে। তাহলে এই কেন? এটা কি সেভাবে ভাল?
পেশাদাররা

3

ওয়ার্ডপ্রেস এজাক্স / উ কমার্স অ্যাজ্যাক্স সাধারণ সিনট্যাক্স ব্যবহারের জন্য নিম্নরূপ:

add_action( 'wp_ajax_my_action', 'my_action_callback' );
add_action( 'wp_ajax_nopriv_my_action', 'my_action_callback' );
function my_action_callback()
{
// your code goes here

wp_die();

}

ফাংশন শেষে আপনার wp_die () ব্যবহার করা উচিত ause কারণ ওয়ার্ডপ্রেস অভ্যন্তরীণভাবে wp_die () ফাংশন চলাকালীন একটি ফিল্টার ব্যবহার করে o সুতরাং যে ফিল্টারটি ব্যবহার করছে যে কোনও প্লাগইন যদি আমরা wp_die () না অন্তর্ভুক্ত না করে তবে কাজ করতে পারে না। ডাই () এবং অন্যান্য ক্রিয়াকলাপগুলি হ'ল তাত্ক্ষণিকভাবে কোনও ওয়ার্ডপ্রেস ফাংশন বিবেচনা না করে পিএইচপি এক্সিকিউশনটি মেরে ফেলবে যা কার্যকর করার সময় শেষ করার সময় বিবেচনা করা উচিত।

আপনি যদি নিজের অভ্যন্তরে wp_send_json () ব্যবহার করে থাকেন তবে এইভাবে কাজ করে

       function my_action_callback()
    {
    // your code goes here

      wp_send_json();

    //wp_die(); not necessary to use wp_die();

    }

যদি আপনি কলব্যাক ফাংশনের অভ্যন্তরে wp_send_json () অন্তর্ভুক্ত করেন তবে শেষে ডাব্লুপি_ডি () ব্যবহার করার দরকার নেই । কারণ ওয়ার্ডপ্রেস নিজেই wp_send_json () ফাংশনের ভিতরে নিরাপদে wp_die () ফাংশন ব্যবহার করে।


2

এটি অন্যেরা যা বলেছিল তা ছাড়াও এটি। পছন্দ করার কারণটি wp_dieহ'ল কোরটি সেখানে ক্রিয়াকলাপ শুরু করতে পারে এবং প্লাগইনগুলি সঠিকভাবে ট্রেসিং, মনিটরিং বা ক্যাশিংয়ের মতো জিনিসগুলি সম্পূর্ণ করতে পারে।

সাধারণভাবে আপনি সর্বদা একটি কোর এপিআই কল পছন্দ করতে পারেন যদি এটি উপলব্ধ থাকে তবে সম্ভবত এটি সরাসরি পিএইচপি কল থেকে না পেয়ে যা কিছু মান (ক্যাশে, প্লাগইন ইন্টিগ্রেশন বা যা কিছু) যোগ করে।


2

আমি এই উত্তরটি গ্রহণ করব না, এটি ন্যায্য হবে না। আমি যে আইটেমগুলি গুরুত্বপূর্ণ বলে মনে করি তার একটি রূপরেখা এবং সম্ভাব্য ইঙ্গিতগুলি তৈরি করতে চেয়েছিলাম:

ডাব্লুপি-ডাইয়ের মূল সংজ্ঞা ()

File: wp-includes/functions.php
2607: /**
2608:  * Kill WordPress execution and display HTML message with error message.
2609:  *
2610:  * This function complements the `die()` PHP function. The difference is that
2611:  * HTML will be displayed to the user. It is recommended to use this function
2612:  * only when the execution should not continue any further. It is not recommended
2613:  * to call this function very often, and try to handle as many errors as possible
2614:  * silently or more gracefully.
2615:  *
2616:  * As a shorthand, the desired HTTP response code may be passed as an integer to
2617:  * the `$title` parameter (the default title would apply) or the `$args` parameter.
2618:  *
2619:  * @since 2.0.4
2620:  * @since 4.1.0 The `$title` and `$args` parameters were changed to optionally accept
2621:  *              an integer to be used as the response code.
2622:  *
2623:  * @param string|WP_Error  $message Optional. Error message. If this is a WP_Error object,
2624:  *                                  and not an Ajax or XML-RPC request, the error's messages are used.
2625:  *                                  Default empty.
2626:  * @param string|int       $title   Optional. Error title. If `$message` is a `WP_Error` object,
2627:  *                                  error data with the key 'title' may be used to specify the title.
2628:  *                                  If `$title` is an integer, then it is treated as the response
2629:  *                                  code. Default empty.
2630:  * @param string|array|int $args {
2631:  *     Optional. Arguments to control behavior. If `$args` is an integer, then it is treated
2632:  *     as the response code. Default empty array.
2633:  *
2634:  *     @type int    $response       The HTTP response code. Default 200 for Ajax requests, 500 otherwise.
2635:  *     @type bool   $back_link      Whether to include a link to go back. Default false.
2636:  *     @type string $text_direction The text direction. This is only useful internally, when WordPress
2637:  *                                  is still loading and the site's locale is not set up yet. Accepts 'rtl'.
2638:  *                                  Default is the value of is_rtl().
2639:  * }
2640:  */
2641: function wp_die( $message = '', $title = '', $args = array() ) {
2642: 
2643:   if ( is_int( $args ) ) {
2644:       $args = array( 'response' => $args );
2645:   } elseif ( is_int( $title ) ) {
2646:       $args  = array( 'response' => $title );
2647:       $title = '';
2648:   }
2649: 
2650:   if ( wp_doing_ajax() ) {
2651:       /**
2652:        * Filters the callback for killing WordPress execution for Ajax requests.
2653:        *
2654:        * @since 3.4.0
2655:        *
2656:        * @param callable $function Callback function name.
2657:        */
2658:       $function = apply_filters( 'wp_die_ajax_handler', '_ajax_wp_die_handler' );
2659:   } elseif ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) {
2660:       /**
2661:        * Filters the callback for killing WordPress execution for XML-RPC requests.
2662:        *
2663:        * @since 3.4.0
2664:        *
2665:        * @param callable $function Callback function name.
2666:        */
2667:       $function = apply_filters( 'wp_die_xmlrpc_handler', '_xmlrpc_wp_die_handler' );
2668:   } else {
2669:       /**
2670:        * Filters the callback for killing WordPress execution for all non-Ajax, non-XML-RPC requests.
2671:        *
2672:        * @since 3.0.0
2673:        *
2674:        * @param callable $function Callback function name.
2675:        */
2676:       $function = apply_filters( 'wp_die_handler', '_default_wp_die_handler' );
2677:   }
2678: 
2679:   call_user_func( $function, $message, $title, $args );
2680: }

wp_send_json

File: wp-includes/functions.php
3144: /**
3145:  * Send a JSON response back to an Ajax request.
3146:  *
3147:  * @since 3.5.0
3148:  * @since 4.7.0 The `$status_code` parameter was added.
3149:  *
3150:  * @param mixed $response    Variable (usually an array or object) to encode as JSON,
3151:  *                           then print and die.
3152:  * @param int   $status_code The HTTP status code to output.
3153:  */
3154: function wp_send_json( $response, $status_code = null ) {
3155:   @header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ) );
3156:   if ( null !== $status_code ) {
3157:       status_header( $status_code );
3158:   }
3159:   echo wp_json_encode( $response );
3160: 
3161:   if ( wp_doing_ajax() ) {
3162:       wp_die( '', '', array(
3163:           'response' => null,
3164:       ) );
3165:   } else {
3166:       die;
3167:   }
3168: }

wp_doing_ajax

File: wp-includes/load.php
1044: /**
1045:  * Determines whether the current request is a WordPress Ajax request.
1046:  *
1047:  * @since 4.7.0
1048:  *
1049:  * @return bool True if it's a WordPress Ajax request, false otherwise.
1050:  */
1051: function wp_doing_ajax() {
1052:   /**
1053:    * Filters whether the current request is a WordPress Ajax request.
1054:    *
1055:    * @since 4.7.0
1056:    *
1057:    * @param bool $wp_doing_ajax Whether the current request is a WordPress Ajax request.
1058:    */
1059:   return apply_filters( 'wp_doing_ajax', defined( 'DOING_AJAX' ) && DOING_AJAX );
1060: }

সাধারণত আমরা আজাক্স কল থেকে যা পাই তা হ'ল এক ধরণের প্রতিক্রিয়া। প্রতিক্রিয়াটি জসন এ এনকোড করা হতে পারে বা জসন এ এনকোড করা নাও হতে পারে।

আমাদের যদি প্রয়োজন হয় jsonনা wp_send_jsonবা দুটি স্টেটালাইট দুর্দান্ত ধারণা হয়।

যাইহোক, আমরা ফেরত দিতে পারেন x-www-form-urlencodedবা multipart/form-dataবা text/xmlবা অন্য কোন এনকোডিং প্রকার। সেক্ষেত্রে আমরা ব্যবহার করি না wp_send_json

আমরা পুরো এইচটিএমএল ফিরিয়ে দিতে পারি এবং সেক্ষেত্রে wp_die()প্রথম এবং দ্বিতীয় প্যারামিটারটি ব্যবহার করার বুদ্ধি রয়েছে , অন্যথায় এই প্যারামিটারগুলি খালি থাকা উচিত।

 wp_die( '', '', array(
      'response' => null,
 ) );

কিন্তু wp_die()পরামিতি ছাড়াই কল করার সুবিধা কী ?


ফাইনালি, আপনি যদি দুর্দান্ত ডাব্লুপি কোরে চেক করেন তবে আপনি খুঁজে পেতে পারেন

File: wp-includes/class-wp-ajax-response.php
139:    /**
140:     * Display XML formatted responses.
141:     *
142:     * Sets the content type header to text/xml.
143:     *
144:     * @since 2.1.0
145:     */
146:    public function send() {
147:        header( 'Content-Type: text/xml; charset=' . get_option( 'blog_charset' ) );
148:        echo "<?xml version='1.0' encoding='" . get_option( 'blog_charset' ) . "' standalone='yes'?><wp_ajax>";
149:        foreach ( (array) $this->responses as $response )
150:            echo $response;
151:        echo '</wp_ajax>';
152:        if ( wp_doing_ajax() )
153:            wp_die();
154:        else
155:            die();

উভয় ফর্ম্যাট ব্যবহার করা হয় die()এবং wp_die()। কেন আপনি ব্যাখ্যা করতে পারেন?

শেষ পর্যন্ত এখানে কি admin-ajax.phpফিরে আসেdie( '0' );

না কেন wp_die(...)?


1

ব্যবহার wp_die()। আপনি যতটা পারেন ওয়ার্ডপ্রেস ফাংশন ব্যবহার করা ভাল।


1

আপনি ব্যবহার করেন তাহলে echo, এটা আপনি ব্যবহার করতে বাধ্য করা হবে die()বা die(0)বা wp_die()

আপনি যদি ব্যবহার না করেন তবে echoজাভাস্ক্রিপ্ট এটি পরিচালনা করতে পারে।

তারপর আপনি ডেটা ফিরিয়ে একটি ভাল উপায় ব্যবহার করা উচিত: wp_send_json()

আপনার কলব্যাকে ডেটা প্রেরণ করতে ( jsonবিন্যাসে), আপনি নিম্নলিখিতগুলি ব্যবহার করতে পারেন:

wp_send_json()

wp_send_json_success()

wp_send_json_error()

এরা সবাই আপনার জন্য মরে যাবে। পরে প্রস্থান বা মারা যাওয়ার দরকার নেই।

হালনাগাদ

এবং যদি আপনার jsonআউটপুট ফর্ম্যাট হিসাবে প্রয়োজন না হয় , আপনার ব্যবহার করা উচিত:

wp_die($response)

এটি মারা যাওয়ার আগে এটি আপনার প্রতিক্রিয়া ফিরিয়ে দেবে। কোডেক্স অনুসারে:

ফাংশনটি wp_die()খালি বা সময়-বহিরাগত প্রতিক্রিয়া এড়াতে মারা যাওয়ার ঠিক আগে আউটপুট দেওয়ার জন্য ডিজাইন করা হয়েছে।

এখানে পুরো কোডেক্স নিবন্ধ পড়ুন ।


1
ধন্যবাদ, আপনি এর পরিবর্তে কিসের পরামর্শ দিন echo?
পেশাদাররা

1
লক্ষণীয়, জাভাস্ক্রিপ্ট হ্যান্ডেল করে না echowp_send_json_*আপনার জন্য ব্যবহার করে echoএবং প্রস্থান করে। ক্লায়েন্ট এবং সার্ভারের মধ্যে এখানে বিভ্রান্তি রয়েছে।
ব্রায়ান ফেগার

@ প্রোস্টি ডাব্লুপি_সেন্ড_জসন ()
ফয়সাল আলভী

ধন্যবাদ, এবং যদি আমাদের jsonআউটপুট ফর্ম্যাট হিসাবে প্রয়োজন হয় না ?
prosti থেকে

1
@ প্রস্টি আপনার চেয়ে WP_die ($ প্রতিক্রিয়া) ব্যবহার করা উচিত কারণ কোডেক্স অনুসারে: ফাংশন wp_die () আউটপুট দেওয়ার জন্য ডিজাইন করা হয়েছে খালি বা সময়-বহিরাগত প্রতিক্রিয়া এড়াতে মারা যাওয়ার ঠিক আগে।
ফয়সাল আলভী
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.