Eu estou tentando criar alguns pontos de extremidade JSON personalizados para o meu plugin. Eu instalei o plugin WP API e aqui está todo o conteúdo do meu plugin php.
<?php
/**
* Plugin Name: Quiz Wordpress Plugin
* Plugin URI: http://www.domain.com
* Description: This plugin handles quiz functionality.
* Version: 1.0.0
* Author: Ray Hwang
* Author URI: http://www.domain.com
* License: private
*/
function quiz_api_init() {
global $quiz_api;
$quiz_api = new QUIZ_API();
add_filter( "json_endpoints", array( $quiz_api, "register_routes" ) );
}
add_action( "wp_json_server_before_serve", "quiz_api_init" );
class QUIZ_API {
public function register_routes( $routes ) {
$routes["/api"] = array(
array( array( $this, "get_quiz"), WP_JSON_Server::READABLE ),
array( array( $this, "new_quiz"), WP_JSON_Server::CREATABLE | WP_JSON_Server::ACCEPT_JSON ),
);
return $routes;
}
public function get_quiz($_headers, $data = ""){
return array ("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5);
}
public function new_quiz($_headers, $data = ""){
return array ("a"=>1,"b"=>2,"c"=>3,"d"=>4,"e"=>5);
}
}
Não há erros quando eu ativo o plugin. Quando eu peço o endpoint. eu recebo
Not Found
The requested URL /api was not found on this server.
Apache/2.4.7 (Ubuntu) Server at ec2-----.compute-1.amazonaws.com Port 80
Tem algo a ver com reescrita ou permalinks de URL?
Minhas configurações de permalink estão definidas como padrão http://ec2--------.compute-1.amazonaws.com/?p=123
Respostas:
0 para resposta № 1Você precisará garantir que entrou em configurações de permalink e salvou para forçar as regras de regravação a serem gravadas novamente.
Também uma ótima ferramenta que eu uso durante o desenvolvimento do meu plugin para garantir que as regras de reescrita sejam realmente aplicadas é Reescrever o Inspetor de Regras listará todas as suas regras atuais, incluindo seus novos pontos de extremidade, caso tenham sido adicionados.