Какой файл редактировать при добавлении пользовательской поддержки API остальных в WordPress - PullRequest
0 голосов
/ 23 мая 2019

Я никогда не работал с php или wordpress, но пытаюсь использовать пользовательский API api из WordPress.

Я нашел эту ссылку: https://developer.wordpress.org/rest-api/extending-the-rest-api/adding-rest-api-support-for-custom-content-types/

где говорят, что я могу просто добавить похожий код, как показано ниже, и он должен работать.

add_action( 'init', 'my_book_cpt' );
function my_book_cpt() {
$args = array(
  'public'       => true,
  'show_in_rest' => true,
  'label'        => 'Books'
);
register_post_type( 'book', $args );
}

Но так как я здесь новичок, я не знаю, в какой файл это вставить? Кто-нибудь знает? Спасибо!

1 Ответ

0 голосов
/ 23 мая 2019

Йохан, вам нужно зарегистрировать собственный путь API REST WP в вашем файле functions.php, примерно так:

add_action('rest_api_init', 'yourPathName');

function yourPathName(){
    register_rest_route('nameItHere/version#', 'routNameHere', array(
        'methods' => WP_REST_SERVER::READABLE,
        'callback' => 'nameACallbackFunction',
    ));
}

function nameACallbackFunction($data) {
    $variablename = new WP_Query(array(
        'post_type' => 'name_of_your_post_type',
        'posts_per_page' => 5,
        's' => $data['term'],
        'orderby' => 'title',
        'order' => 'asc'
    ));

    $anotherVariable = array();

    while ($variableName->have_posts()) {
        $variableName->the_post();
        array_push($anotherVariable, array(
            'id' => get_the_ID(),
            'title' => get_the_title(),
            'content' => get_the_content()
        ));
    }

    return $anotherVariable;
}

Затем вы можете ссылаться на вашу новую конечную точку и данные внутри нее в вашем JSAJAX вызов с использованием XMLHttpRequest()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...