J'utilise l'API JSON pour obtenir la liste de publication de mon application.
Je dois créer un utilisateur (Enregistrer un nouvel utilisateur) à partir de l'App. Puis-je savoir comment ajouter une nouvelle fonction à Wordpress JSON-API?
Cordialement, Alex
Je n'ai jamais travaillé avec ce plugin et une nouvelle API JSON Rest sera peut-être inclus dans le noyau d'une des futures versions. Jusqu'à présent, il est aussi disponible en plugin.
Pour faire court: il ne semble y avoir actuellement que trois types de contrôleurs dans ce plugin.
Mais il existe une section sur la page du plug-in principal _ qui explique comment étendre le plug-in et comment développer des contrôleurs d'API JSON . Donc c’est en fait juste un copypaste de légèrement modifié, ce que vous auriez pu lire dans le très excellent et page du plugin détaillé} [!
class JSON_API_Hello_Controller
{
public function hello_world()
{
return array(
"message" => "Hello, world"
);
}
}
Votre contrôleur est maintenant disponible en tant que
hello
et expose une méthodehello_world
.Activez ensuite votre contrôleur à partir de l'interface d'administration WordPress, accessible à partir du menu sous Paramètres> API JSON. Vous pouvez soit cliquer sur le lien vers votre méthode
hello_world
à partir de l'interface d'administration, ou le saisir manuellement. Il devrait avoir la forme suivante:http://www.example.org/api/hello/hello_world/?dev=1
ouhttp://www.example.org/?json=hello.hello_world&dev=1
(notez l'utilisation de l'argumentdev
pour permettre une sortie lisible par l'homme). Vous devriez obtenir le résultat suivant:
{
"status": "ok",
"message": "Hello, world"
}
Pour personnaliser le comportement de votre contrôleur, vous souhaiterez utiliser l'objet global
$json_api->query
. Ajoutez la méthode suivante à votre contrôleur:
public function hello_person()
{
global $json_api;
$name = $json_api->query->name;
return array(
"message" => "Hello, $name."
);
}
Ajoutez maintenant le nom de la requête var à l’appel de la méthode:
http://www.example.org/api/hello/hello_world/?dev=1&name=Alice
...ou...
http://www.example.org/?json=hello.hello_world&dev=1&name=Alice.
Le résultat sera:
{
"status": "ok",
"message": "Hello, Alice"
}
Pour rendre votre contrôleur visible depuis un répertoire externe de plugins ou de thèmes, vous devrez utiliser deux filtres:
json_api_controllers
etjson_api_[controller]_controller_path
. Créez simplement un plugin personnalisé contenant votre contrôleur et ajoutez le code suivant:
<?php
/** Plugin Name: (#109019) Custom Hello JSON API Controller */
function add_hello_controller( $controllers )
{
$controllers[] = 'hello';
return $controllers;
}
add_filter( 'json_api_controllers', 'add_hello_controller' );
function set_hello_controller_path()
{
return plugin_dir_path( __FILE__ )."helloController.php";
}
add_filter( 'json_api_hello_controller_path', 'set_hello_controller_path' );
// >> Controller goes here <<
// A more organized file structure might work as well, but it's ok
// to stuff everything in a single file if used as mu-plugin.
Vous pouvez utiliser n’importe quelle sorte de WP fonctions d’API publiques dans votre contrôleur. Néanmoins, l'API JSON possède également une couche intermédiaire. Exemple:
global $json_api;
$posts = $json_api->introspector->get_posts( array(
'meta_key' => $json_api->query->key,
'meta_value' => $json_api->query->value
));
Essayez le utilisateur de l'API JSON plugin. Il annonce qu'il peut enregistrer un nouvel utilisateur pour vous.
Utilisez WP API v2, le contrôleur d'utilisateurs est implémenté. Si vous utilisez V1, il y a un plugin mentionné ci-dessus.