本文介紹如何在WordPress中將php獲取的文章標題傳遞給JavaScript,并將其用作ajax請求的參數。這在需要前端利用后端數據時非常實用。
WordPress后臺包含眾多文章,我們需要獲取這些文章標題,并將其作為參數請求外部接口。PHP的get_the_title()函數可以獲取文章標題,而jquery的$.ajax()函數則負責接口請求。關鍵在于如何將PHP變量傳遞給JavaScript。
WordPress的wp_localize_script()函數可以完美解決這個問題,它允許將PHP變量傳遞給JavaScript。步驟如下:
首先,使用PHP獲取所有文章標題。利用WP_Query類查詢所有文章,并用get_the_title()函數提取標題:
立即學習“PHP免費學習筆記(深入)”;
$titles = array(); $args = array( 'post_type' => 'post', 'posts_per_page' => -1, ); $query = new WP_Query($args); if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); $titles[] = get_the_title(); } wp_reset_postdata(); }
接下來,使用wp_enqueue_script()加載JavaScript文件,并用wp_localize_script()將PHP變量傳遞給JavaScript:
wp_enqueue_script('my_script', get_template_directory_uri() . '/JS/my_script.js', array('jquery'), '1.0', true); wp_localize_script('my_script', 'my_script_vars', array( 'titles' => $titles, ));
這將把$titles數組作為my_script_vars.titles對象傳遞到my_script.js文件中。
最后,在my_script.js中,使用my_script_vars.titles訪問文章標題,并將其作為AJAX請求的參數:
jQuery(document).ready(function($) { $.ajax({ type: 'GET', url: 'your_api_endpoint', data: { titles: my_script_vars.titles }, success: function(response) { console.log(response); } }); });
通過以上步驟,成功地將PHP獲取的文章標題傳遞給JavaScript,并在前端用作AJAX請求的參數,實現了WordPress前后端數據交互。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END