it-swarm-vi.tech

Sử dụng mẫu tùy chỉnh cho các loại bài đăng tùy chỉnh cho khung chủ đề Genesis?

(Ghi chú của người điều hành:Tiêu đề ban đầu là "Làm cách nào tôi có thể tạo và sử dụng mẫu tùy chỉnh cho các loại bài tùy chỉnh trong khung chủ đề Genesis?")

Tôi đang sử dụng khung chủ đề Genesis, với chủ đề con gần như hoàn toàn 'stock'. Tôi có WP Easy Post Type plugin được cài đặt và đã tạo một loại bài đăng tùy chỉnh ("Thành viên"). Tôi có hai trường tùy chỉnh được tạo để sử dụng cho loại bài đăng của 'thành viên' (số điện thoại và địa chỉ). Tôi đang cố gắng tìm ra cách hiển thị thông tin từ các trường đó ở hai nơi: example.com/membersexample.com/members/bob. Genesis không hỗ trợ tệp single-posttype.php điển hình để tạo mẫu cho loại bài đăng tùy chỉnh, nhưng ngay cả khi có, điều đó cũng không quan tâm đến example.com/members. Bất kỳ đề xuất về làm thế nào để có được thông tin mong muốn để hiển thị?

2
Travis Northcutt

Hóa ra tôi đã sai, Genesis hỗ trợ bằng cách sử dụng phương thức page_posttype.php để tạo mẫu tùy chỉnh. Hóa ra rất đơn giản. Đây là nội dung của tệp page_members.php của tôi (nằm trong thư mục chủ đề con):

<?php
/*
Template Name: Members
*/

remove_action('genesis_loop', 'genesis_do_loop');
add_action('genesis_loop', 'custom_loop');
function custom_loop() {

    global $paged;
    $args = array('post_type' => 'members');

    genesis_custom_loop( $args );

}

genesis();
1
Travis Northcutt

Ai đó có thể làm rõ bước tiếp theo của quá trình này? Tôi có một loại bài đăng tùy chỉnh tương tự trong một chủ đề con Genesis và cần thay đổi vòng lặp trên các trang phân loại nhiều bài cũng như các trang bài tùy chỉnh duy nhất. Trường hợp mã tùy chỉnh cho vòng lặp đi đâu trong trường hợp này? Cảm ơn!

0
Adam

Mẫu này cần phải đi vào thư mục chủ đề con, tuy nhiên, không phải Genesis.

Chỉnh sửa:

Bạn sẽ cần phải tự tạo một $ posttype.php và thêm nó vào chủ đề con như đã lưu ý ở trên. Vui lòng xem tại Phân cấp mẫu WordPress . Không cần phải nói bất cứ điều gì bạn thêm vào một chủ đề con sẽ ghi đè lên các tệp chủ đề gốc.

0
Marna

Hãy xem cách Matt Wiebe thực hiện nó trong plugin "Loại thông minh tùy chỉnh thông minh hơn" của mình:

http://somadesign.ca/projects/smarter-custom-post-types/

Các chức năng có liên quan là ở đây:

function my_custom_template_include( $template ) {
    if ( get_query_var('post_type') == 'members' ) {

        if ( is_single() ) {
            if ( $single = locate_template( array( 'members/single.php') ) )
                return $single;
        }
        else { // loop
            return locate_template( array(
                'members/index.php',
                'members.php', 
                'index.php' 
            ));
        }

    }
    return $template;
}

add_filter( 'template_include', 'my_custom_template_include' );
0
John P Bloch