반응형
워드프레스에서 '루트'를 작성하려면 어떻게 해야 합니까?
제정신을 차리기 위해 다음과 같은 ajax api 루트를 작성하려고 합니다.
/api/<action>
워드프레스를 통해 이 경로를 처리하고 다음 작업을 수행하도록 위임합니다.do_action
워드프레스는 이 작업을 실행할 수 있는 후크를 제공합니까?어디가 좋을까요?
add_rewrite_rule을 사용해야 합니다.
예를 들어 다음과 같습니다.
add_action('init', 'theme_functionality_urls');
function theme_functionality_urls() {
/* Order section by fb likes */
add_rewrite_rule(
'^tus-fotos/mas-votadas/page/(\d)?',
'index.php?post_type=usercontent&orderby=fb_likes&paged=$matches[1]',
'top'
);
add_rewrite_rule(
'^tus-fotos/mas-votadas?',
'index.php?post_type=usercontent&orderby=fb_likes',
'top'
);
}
이것으로 작성됩니다./tus-fotos/mas-votadas
그리고./tus-fotos/mas-votadas/page/{number}
pre_get_posts 필터에서 처리하는 커스텀 쿼리 orderby 쿼리 var를 변경합니다.
새로운 변수는 다음 명령을 사용하여 추가할 수도 있습니다.query_vars
필터와 그것을 개서 규칙에 추가합니다.
add_filter('query_vars', 'custom_query_vars');
add_action('init', 'theme_functionality_urls');
function custom_query_vars($vars){
$vars[] = 'api_action';
return $vars;
}
function theme_functionality_urls() {
add_rewrite_rule(
'^api/(\w)?',
'index.php?api_action=$matches[1]',
'top'
);
}
다음으로 커스텀 요구를 처리합니다.
add_action('parse_request', 'custom_requests');
function custom_requests ( $wp ) {
$valid_actions = array('action1', 'action2');
if(
!empty($wp->query_vars['api_action']) &&
in_array($wp->query_vars['api_action'], $valid_actions)
) {
// do something here
}
}
다음 웹 사이트를 방문하여 다시 쓰기 규칙을 수정하십시오./wp-admin/options-permalink.php
또는 간단한 프로세스가 아니기 때문에 필요한 경우에만 flash_flash_flash_flash를 호출합니다.
Wordpress json-api 플러그인을 찾고 계신 것 같습니다.이 플러그인은 제가 사용해 온 것 중 하나로 매우 쉽게 확장할 수 있습니다.행운을 빌어요.
언급URL : https://stackoverflow.com/questions/12133200/how-do-i-create-a-route-in-wordpress
반응형
'programing' 카테고리의 다른 글
기능하는 setState를 사용하는 경우 (0) | 2023.03.22 |
---|---|
다트 플래터에서 json 문자열을 json 객체로 변환하는 방법? (0) | 2023.03.22 |
농담 테스트를 실행할 때 모든 테스트 설명을 표시하는 옵션이 있습니까? (0) | 2023.03.22 |
mod_pagespeed 캐시 삭제? (0) | 2023.03.22 |
MongoDB는 여러 컬렉션을 동시에 쿼리합니다. (0) | 2023.03.22 |