>本教程演示了使用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中文网其他相关文章!