Wordpress API: 게시물에 태그 추가/제거
간단한 조작이라고 생각됩니다만, 투고 ID를 사용해 투고에 태그를 프로그램적으로 추가 및 삭제하는 방법을 설명하는 자료나 문서를 찾을 수 없습니다.
아래는 사용하고 있는 샘플입니다만, 다른 태그는 모두 덮어쓰는 것 같습니다.
function addTerm($id, $tax, $term) {
$term_id = is_term($term);
$term_id = intval($term_id);
if (!$term_id) {
$term_id = wp_insert_term($term, $tax);
$term_id = $term_id['term_id'];
$term_id = intval($term_id);
}
$result = wp_set_object_terms($id, array($term_id), $tax, FALSE);
return $result;
}
먼저 get_object_terms를 호출하여 기존 용어를 모두 취득해야 합니다.
코드 갱신
function addTerm($id, $tax, $term) {
$term_id = is_term($term);
$term_id = intval($term_id);
if (!$term_id) {
$term_id = wp_insert_term($term, $tax);
$term_id = $term_id['term_id'];
$term_id = intval($term_id);
}
// get the list of terms already on this object:
$terms = wp_get_object_terms($id, $tax)
$terms[] = $term_id;
$result = wp_set_object_terms($id, $terms, $tax, FALSE);
return $result;
}
사용해보십시오.wp_add_post_tags($post_id,$tags)
;
방법은 다음과 같습니다.
$tag="This is the tag"
$PostId=1; //
wp_set_object_terms( $PostId, array($tag), 'post_tag', true );
주의:wp_set_object_terms()
에서는 두 번째 파라미터가 배열이 될 것으로 예상하고 있습니다.
WordPress 3.6부터wp_remove_object_terms( $object_id, $terms, $taxonomy )
그게 바로 그거지.
그$terms
파라미터는slug(s)
또는ID(s)
의term(s)
배열, int 또는 문자열을 제거 및 수락합니다.
출처 : http://codex.wordpress.org/Function_Reference/wp_remove_object_terms
만약 당신이 포스트 아이디를 모른다면요?생성된 모든 새 게시물에 태그를 추가하시겠습니까?
WordPress API 기능을 사용하는 경우add_action('publish_post', 'your_wp_function');
호출하고 있는 함수는 자동으로 다음 값을 가져옵니다.post_id
첫 번째 인수로 삽입됩니다.
function your_wp_function($postid) {
}
실제로 wp_set_object_terms는 필요한 모든 것을 혼자서 처리할 수 있습니다.
다른 기능이 꼭 필요한 경우:
function addTag($post_id, $term, $tax='post_tag') {
return wp_set_object_terms($post_id, $term, $tax, TRUE);
}
wp_set_object_terms
의 파라미터:
- 포스트 아이디
- 접수...
- 단일 문자열(예: 'Awesome Posts')
- 기존 태그의 단일 ID(예: 1) 또는
- 배열(예: 배열('Awesome Posts', 1))
- 메모: NON-ID를 지정하면 태그가 자동으로 생성됩니다.
- 분류법(예: 기본 태그의 경우 'post_tag' 사용)
- 할 것인지...
- (
FALSE
) 기존의 모든 용어를 제공된 용어로 대체하십시오. - (
TRUE_
) 기존 용어에 추가/추가합니다.
- (
해피 코딩!
언급URL : https://stackoverflow.com/questions/2436487/wordpress-api-add-remove-tags-on-posts
'programing' 카테고리의 다른 글
Spring과 통합된 임베디드 Tomcat을 localhost 외에 IP 주소에 대한 요청을 수신하도록 설정하려면 어떻게 해야 합니까? (0) | 2023.03.22 |
---|---|
cat_id와 term_id의 차이점은 무엇입니까? (0) | 2023.03.22 |
특정 스프링 프로필에서 플라이웨이를 비활성화하려면 어떻게 해야 합니까? (0) | 2023.03.22 |
json 배열을 postgres 행으로 변환하는 방법 (0) | 2023.03.22 |
중첩된 데이터 구조(예: JSON 구문 분석)에서 단일 값을 추출하려면 어떻게 해야 합니까? (0) | 2023.03.22 |