Cách hiển thị Danh mục và Thẻ danh mục đầu tư bên dưới Tiêu đề cho các mục Danh mục đầu tư trong Genesis

Trong nhóm Genesis Facebook, một người dùng đã hỏi:

Làm việc trên một danh mục đầu tư cho một khách hàng muốn danh mục hiển thị trên trang lưu trữ danh mục đầu tư dưới tiêu đề. Cô ấy đang sử dụng plugin Portfolio Post Type. Trong archive-portfolio.php, chúng tôi đã xóa dòng xóa meta bài đăng nhưng các danh mục vẫn không hiển thị. Có ý kiến ​​gì không?

genesis_post_meta Móc lọc có thể được sử dụng để hiển thị Danh mục danh mục đầu tư siêu liên kết và / hoặc Thẻ danh mục đầu tư cho các mục Danh mục đầu tư trong meta mục nhập ở tất cả các chế độ xem (kho lưu trữ, đơn lẻ, v.v.). Sau đó, chúng ta có thể định vị lại meta entry từ entry footer đến entry header.

Bước 1

Thêm phần sau vào functions.php của chủ đề con :

add_filter( 'genesis_post_meta', 'custom_post_meta_filter' );
/**
 * Show Portfolio Type hyperlinked terms (categories and tags).
 *
 * @param  string $post_meta Current entry meta.
 * @return string            Modified entry meta.
 */
function custom_post_meta_filter( $post_meta ) {
    if ( 'portfolio' === get_post_type() ) {
        $post_meta = '[post_terms taxonomy="portfolio_category"][post_terms taxonomy="portfolio_tag" before="Tagged With: "]';
    }

    return $post_meta;
}

add_action( 'genesis_before_entry', 'custom_reposition_post_meta' );
/**
 * Remove post info from entry header.
 * Remove entry footer incl. entry meta.
 * Add entry meta in entry header.
 */
function custom_reposition_post_meta() {
    if ( 'portfolio' !== get_post_type() ) {
        return;
    }

    remove_action( 'genesis_entry_header', 'genesis_post_info', 12 );

    remove_action( 'genesis_entry_footer', 'genesis_entry_footer_markup_open', 5 );
    remove_action( 'genesis_entry_footer', 'genesis_entry_footer_markup_close', 15 );
    remove_action( 'genesis_entry_footer', 'genesis_post_meta' );

    add_action( 'genesis_entry_header', 'genesis_post_meta' );
}

Bước 2

Thêm phần sau vào style.css của chủ đề con :

.portfolio .entry-terms:after {
    display: inline;
    content: '|';
    margin: 0 10px;
}

.portfolio .entry-terms:last-child:after {
    display: none;
    margin: 0;
}