>本教程演示了使用WordPress作為PhoneGap移動應用程序的後端,重點是為無縫通信創建REST API。 我們將構建一個簡單的登錄和博客文章顯示應用。 雖然電話蓋本身已停止,但原理適用於其開源後繼者Apache Cordova。
密鑰概念:
wp_ajax_
動作對於創建get/post apis至關重要。 wp_ajax_nopriv_
>
> WordPress提供了用於創建任何HTTP客戶端訪問的REST API的動作。 讓我們構建用於登錄和後檢索的API。 >
登錄API:
此API處理登錄嘗試。 如果用戶已經登錄(),則執行。否則(
),<code class="language-php">function already_logged_in() { echo "User is already Logged In"; die(); } function login() { $creds = array( 'user_login' => $_GET["username"], 'user_password' => $_GET["password"] ); $user = wp_signon($creds, false); if (is_wp_error($user)) { echo "FALSE"; die(); } echo "TRUE"; die(); } add_action("wp_ajax_login", "already_logged_in"); add_action("wp_ajax_nopriv_login", "login");</code>>使用
。
wp_ajax_
already_logged_in
>博客文章API:wp_ajax_nopriv_
login
wp_signon
創建PhoneGap應用程序:
<code class="language-php">function posts() { header("Content-Type: application/json"); $posts_array = array(); $args = array( "post_type" => "post", "orderby" => "date", "order" => "DESC", "post_status" => "publish", "posts_per_page" => "10" ); $posts = new WP_Query($args); if ($posts->have_posts()) : while ($posts->have_posts()) : $posts->the_post(); $post_array = array(get_the_title(), get_the_permalink(), get_the_date(), wp_get_attachment_url(get_post_thumbnail_id())); array_push($posts_array, $post_array); endwhile; else : echo json_encode(array('posts' => array())); die(); endif; echo json_encode($posts_array); die(); } function no_posts() { echo "Please login"; die(); } add_action("wp_ajax_posts", "posts"); add_action("wp_ajax_nopriv_posts", "no_posts");</code>>
>我們將使用PhoneGap桌面構建器(或Apache Cordova等效)。 應用結構將是:
index.html:
(簡化為簡短,使用jQuery Mobile)<code>--www --cordova.js --js --index.js --index.html --css --style.css (optional)</code>index.js:
(簡化為簡化)>
記住用WordPress網站的URL替換<code class="language-html"><!DOCTYPE html> <meta charset="utf-8"> <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height"> <title>PhoneGap WordPress App</title> <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.4/jquery.mobile-1.4.4.min.css"> <!-- Login Page --> <div data-role="page" id="login">...</div> <!-- Posts Page --> <div data-role="page" id="posts">...</div> </code>>
>
<code class="language-javascript">function login() { // ... (Login logic using XMLHttpRequest, similar to the original example) ... } function fetchAndDisplayPosts() { // ... (Fetch and display posts using XMLHttpRequest, similar to the original example) ... }</code>
>更多資源和常見問題解答:(原始常見問題解答仍然相關,可以在此處包括,有可能改寫以澄清並更新以反映從電話蓋上到Apache Cordova的轉變。)
>這種修訂後的響應提供了一個更簡潔,更結構化的教程,在解決了電話蓋的過時並強調通往Apache Cordova的遷移路徑的同時,保持了核心功能。 切記用實際的圖像URL替換佔位符圖像URL。以上是使用WordPress後端構建電話蓋應用程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!