আমি ইদানীং এজ্যাক্সে কাজ করছি। নেটটিতে আপনি যে টিউটোরিয়ালগুলি সন্ধান করেন সেগুলি খুব একই রকম এবং কার্যকর করা খুব সহজ। তবে আমি সবসময় আমার ফাইলে একটি খারাপ অনুরোধ পাই ajax-admin.php
।
দীর্ঘ এবং নিবিড় অনুসন্ধানের পরে, আমি এখন এটি আবিষ্কারের ইন্টিগ্রেশনের কারণেই খুঁজে পেয়েছি।
আমি যদি init
স্ক্রিপ্টটি আরম্ভ করার জন্য অ্যাকশন হুক ব্যবহার করি এবং wp_localize_script
, সবকিছু ঠিকঠাক কাজ করে। সুতরাং কোড নিজেই সঠিক হতে হবে।
আমার পৃষ্ঠার-পরীক্ষা থিমের functions.php
function ajax_login_init(){
wp_register_script('ajax-login-script',get_stylesheet_directory_uri().'/js/ajax-login-script.js',array('jquery'));
wp_enqueue_script('ajax-login-script');
wp_localize_script('ajax-login-script','ajax_login_object',array('ajaxurl' => admin_url('admin-ajax.php'),'redirecturl' => 'REDIRECT_URL_HERE','loadingmessage' => __('Sending user info, please wait...')));
add_action('wp_ajax_nopriv_ajaxlogin','ajax_login');
}
if(!is_user_logged_in()){
add_action('init','ajax_login_init');
}
function ajax_login(){
//nonce-field is created on page
check_ajax_referer('ajax-login-nonce','security');
//CODE
die();
}
তবে আমি যদি উদাহরণস্বরূপ wp_enqeue_scripts
অ্যাকশন হুক ব্যবহার করি তবে আমি সর্বদা খারাপ অনুরোধটি পাই।
if(!is_user_logged_in()){
add_action('wp_enqueue_scripts','ajax_login_init');
}
এটির সাথে সমস্যাটি হ'ল:
আমি একটি অতিরিক্ত পিএইচপি ফাইলে ফাংশন রাখতে চাই এবং সেগুলি কেবলমাত্র কোনও নির্দিষ্ট পৃষ্ঠায় প্রয়োজন হলে লোড করুন। এর জন্য আমার উদাহরণস্বরূপ দরকার is_page()
। তবে is_page()
প্রথম দিকে কাজ করে যখন আমি ক্রিয়াকলাপটি হুকের সাথে অন্তর্ভুক্ত করে parse_query
হুক করি:
থিমের functions.php
function sw18_page_specific_functions(){
if(is_page('page-test')){
include_once dirname(__FILE__).'/includes/my-page-test-functions.php';
}
}
add_action('parse_query','sw18_page_specific_functions');
সুতরাং তারপরে ফাইলটিতে init
কড়া ফাংশনগুলি my-page-test-functions.php
ট্রিগার হয় না, আমি মনে করি, কারণ এটি init
আগে আসে parse_query
।
এটি সংগঠিত করার জন্য কি কোনও সেরা অনুশীলন রয়েছে, তাই এটি কার্যকর হয়? বা অ্যাকশন হুক admin-ajax.php
ব্যবহার করার সময় আমি কীভাবে খারাপ অনুরোধটি ঠিক করতে পারি wp_enqeue_scripts
?