홈페이지에 원하는 데이터를 부르고 싶을때 WP_Query 를 사용할 수 있습니다.
WP_RESET_POSTDATA ()
커스텀 루프에서 WP_Query 사용자 지정 루프는 기본 쿼리 개체를 변경합니다. 불러줄 개체가 없으면 에러가 날 수 있으니 taxonomy 를 만들어 불러 주도록 합시다.
아래와 같이 포스트에 저장된 사진 데이터를 호출해 홈페이지에 적용해 봅시다.
웹페이지에 WP_Query 코드 입력하기
1. 아래의 코드를 front-page.php 파일에 입력합니다.
<?php $args = array( 'post_type' => 'zb-work', // 임의로 만들어준 포스트 타입 이름 입니다. 'posts_per_page' => 4, 'tax_query' => array( array( 'taxonomy' => 'zb-featured', // 임의로 만들어준 포스트 타입 이름 입니다. 'field' => 'slug', 'terms' => 'front-page' ) ) ); $query = new WP_Query( $args); if( $query -> have_posts() ){ while( $query -> have_posts() ){ $query -> the_post();
echo '<article>'; echo '<a href=" ' . get_permalink() . ' ">'; the_post_thumbnail( 'large' ); echo '<p>' . get_the_title() .'</p>'; echo '</a>'; echo '</article>';
} wp_reset_postdata(); } ?> |
taxonomy 설정하기
2. 아래와 같은 코드를 inc/cpt-taxonomy.php 파일에 입력합니다. 이 텍스트는 카테고리를 만들기위한 데이터 이므로 앞 페이지에서 다룬 zb_register_custom_post_types() 다음에 입력해 줍니다.
실제 코드는 아래를 참조합니다.
function zb_register_taxonomies() { // Add Work Category taxonomy $labels = array( 'name' => _x( 'Work Categories', 'taxonomy general name' ), 'singular_name' => _x( 'Work Category', 'taxonomy singular name' ), 'search_items' => __( 'Search Work Categories' ), 'all_items' => __( 'All Work Category' ), 'parent_item' => __( 'Parent Work Category' ), 'parent_item_colon' => __( 'Parent Work Category:' ), 'edit_item' => __( 'Edit Work Category' ), 'view_item' => __( 'Vview Work Category' ), 'update_item' => __( 'Update Work Category' ), 'add_new_item' => __( 'Add New Work Category' ), 'new_item_name' => __( 'New Work Category Name' ), 'menu_name' => __( 'Work Category' ), ); $args = array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menu' => true, 'show_in_rest' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'work-categories' ), ); register_taxonomy( 'zb-work-category', array( 'zb-work' ), $args );
// Add Featured taxonomy $labels = array( 'name' => _x( 'Featured', 'taxonomy general name' ), 'singular_name' => _x( 'Featured', 'taxonomy singular name' ), 'search_items' => __( 'Search Featured' ), 'all_items' => __( 'All Featured' ), 'parent_item' => __( 'Parent Featured' ), 'parent_item_colon' => __( 'Parent Featured:' ), 'edit_item' => __( 'Edit Featured' ), 'update_item' => __( 'Update Featured' ), 'add_new_item' => __( 'Add New Featured' ), 'new_item_name' => __( 'New Work Featured' ), 'menu_name' => __( 'Featured' ), );
$args = array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'show_in_rest' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'featured' ), );
register_taxonomy( 'zb-featured', array( 'zb-work' ), $args ); function zb_rewrite_flush() {
ms_register_custom_post_types(); flush_rewrite_rules();
} add_action( 'after_switch_theme', 'zb_rewrite_flush' );
} add_action( 'init', 'zb_register_taxonomies');
|
3. 위와 같은 코드를 입력하면 아래와 같은 카테고리 창이 생성됩니다. 여기서 필요한 카테고리를 만들어 줍니다.
4. Featured 창에 Front page 를 추가해줍니다. 앞에서 만든 파일 이미지를 Front page 에서 호출해 주는 역할을 합니다.
5. 앞글에서 만들어 둔 커스텀 포스트를 편집해서 각 카테고리에 넣습니다. 커스텀 포스트 아래에 Quick Edit -> Work Categories -> Graphic , Featured -> Front-page를 선택하고 'Update'를 눌러 저장합니다.
6. 앞에서 처럼 각 카테고리를 설정해주고 원하는 포스트를 Front-page에 나타나도록 설정합니다. 저는 Web 포스트 3개를 Front-page에 나타나도록 설정했습니다.
위와 같은 설정을 마치고 저장하면 프론트페이지에 이미지 파일이 출력되는것을 볼 수 있습니다.
'디지털노마드 > WordPress 강좌' 카테고리의 다른 글
워드프레스에 자바스크립트 링크하는 방법 (0) | 2020.11.28 |
---|---|
웹페이지에 구글맵 넣는 간단한 방법 (2) | 2020.11.27 |
CPT (Custom Post Types) 만들기 (0) | 2020.11.25 |
컨텐츠 부르기와 글 길이 줄이기 (2) | 2020.11.25 |
ACF 텍스트 필드 활용해서 페이지 꾸미기 (0) | 2020.11.23 |