워드프레스 기본 포스트 타입인 페이지에도 태그를 사용하도록 조치 (페이지를 목록화 해야 할 필요가 있을 때)
add_action('init', 'oksam_add_tag_to_page', 20);
function oksam_add_tag_to_page() {
register_taxonomy_for_object_type('post_tag', 'page');
}
https://developer.wordpress.org/reference/functions/register_taxonomy_for_object_type/
활용) 특정 태그를 가진 페이지들을 목록화 하여, 버튼 형태로 노출하기
<?php
add_shortcode('show_main_page_links','oks_page_to_tag_button_in_front');
function oks_page_to_tag_button_in_front() {
// Query Arguments
$args = array(
'post_type' => array('page'),
'nopaging' => true,
'order' => 'ASC',
'orderby' => 'menu_order',
'tag' => 'main',
);
// The Query
$page_links = new WP_Query( $args );
// The Loop
if ( $page_links->have_posts() ) { ?>
<?php
while ( $page_links->have_posts() ) {
$page_links->the_post();
?>
<div class="tag-link w-btn-wrapper align_center">
<a class="w-btn style_outlined color_primary icon_none page-tag-button" href="<?php the_permalink(); ?>" style="font-size:13px;"><span class="w-btn-label"># <?php the_title(); ?></span></a>
</div>
<?php
}
} else {
// no posts found
}
/* Restore original Post Data */
wp_reset_postdata();
}