AJAX- সক্ষম প্লাগইনগুলি লেখার পছন্দের পদ্ধতিটি কী?


49

আমি ভাবছি যে এজেএক্স কলগুলি মোকাবেলার জন্য পছন্দসই পদ্ধতিটি কী। পোষ্ট প্রসেস করার জন্য কেউ কি একই প্লাগইন পিএইচপি ফাইল ব্যবহার করতে হবে বা আলাদা? কোনটি ক্লিনার বা নিরাপদ?

উত্তর:


47

"নিরাপদ এবং ক্লিনার" উপায়টি হ'ল অ্যাডমিন-অজ্যাক্স.এফপি ব্যবহার করুন যা ওয়ার্ডপ্রেস এবং wp_ajaxআপনার প্লাগইন ফাইল থেকে প্রসেসিং ফাংশনটি কল করতে হুকের সাথে আসে এবং কলটির অখণ্ডতা পরীক্ষা করার জন্য ডাব্লুপি-ননস ব্যবহার করে।

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

আপনার এজ্যাক্স জিকুয়েরি কল হবে

<script type="text/javascript" >
jQuery(document).ready(function($) {

    var data = {
        action: 'ACTION_NAME',
            Whatever: '1234',
            _ajax_nonce: '<?php echo wp_create_nonce( 'my_ajax_nonce' ); ?>'

    };

    // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
    // If you need it on a public facing page, uncomment the following line:
    // var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?>';
    jQuery.post(ajaxurl, data, function(response) {
        alert('Got this from the server: ' + response);
    });
});
</script>

তারপরে আপনার প্লাগইন ফাইল এড করুন

//if you want only logged in users to access this function use this hook
add_action('wp_ajax_ACTION_NAME', 'my_AJAX_processing_function');

//if you want none logged in users to access this function use this hook
add_action('wp_ajax_nopriv_ACTION_NAME', 'my_AJAX_processing_function');

* আপনি যদি লগ ইন ব্যবহারকারী এবং অতিথিদের আজাক্স দ্বারা আপনার ফাংশন অ্যাক্সেস করতে চান তবে উভয় হুক যুক্ত করুন। * ACTION_NAME অবশ্যই আপনার এজাক্স পোস্টে ক্রিয়াকলাপের সাথে মেলে।

তারপরে আপনার কার্যক্রমে নিশ্চিত হয়ে নিন যে অনুরোধটি বৈধ উত্স থেকে এসেছে

function my_AJAX_processing_function(){
   check_ajax_referer('my_ajax_nonce');
   //do stuff here...
}

আশাকরি এটা সাহায্য করবে


1
এই বাস্তবায়ন কেবল অ্যাডমিন পক্ষের পক্ষে ভাল? ব্যবহারকারী পক্ষ সম্পর্কে কি? আমি আড়াল করতে / ডাব্লুপি-অ্যাডমিন / এবং অ্যাডমিন ইউআরএল পরিবর্তন করতে চাই, তাই লুকানো ইউআরএল-এর অনুরোধটি ভাল হবে না
inferusvv
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.