Wordpress Enqueue chỉ dành cho trang chủ, Hàm.php, wp-framework


9

Tôi muốn thay thế:

    if(is_home())
    {
        wp_enqueue_script( 'homestuff', get_theme_part( THEME_JS . '/home.js' ), array( 'jquery' ), null, true );
        wp_enqueue_script( 'jquerycolor', get_theme_part( THEME_JS . '/jquery.color.js' ), array( 'jquery' ), null, true );
    };

Mà hiện đang ở trong tệp.php, bằng cách đặt nó trong tệp tin.php. Cố gắng dọn dẹp mọi thứ trên trang web của khách hàng. Tôi đang sử dụng wp-framework và lý tưởng là sẽ gắn cái này bên trong hàm enqueue_assets trong lớp cha_theme chính. Mặc dù đây không thực sự là vấn đề của khung wp, tôi chỉ muốn biết:

Làm cách nào tôi có thể nhận is_home () để làm việc từ tệp chức năng? Có một sự thay thế, sử dụng toàn cầu, tôi cần biết về?

Câu trả lời:


22

Đầu tiên, nếu bạn muốn nhắm mục tiêu Trang trước của trang , bạn cần sử dụng is_front_page(). Điều is_home()kiện trả về đúng khi chỉ mục bài đăng trên blog được hiển thị, có thể có hoặc không có trên Trang trước của trang .

Thứ hai, bạn cần móc chức năng của mình vào một hook thích hợp, nó xuất hiện trong trường hợp này là wp_enqueue_scripts.

(Ngoài ra: đó là get_theme_part()gì? Đây có phải là một chức năng tùy chỉnh trong WP Framework không?)

Ví dụ: bạn có thể làm điều này trong functions.php:

function mytheme_enqueue_front_page_scripts() {
    if( is_front_page() )
    {
        wp_enqueue_script( 'homestuff', get_theme_part( THEME_JS . '/home.js' ), array( 'jquery' ), null, true );
        wp_enqueue_script( 'jquerycolor', get_theme_part( THEME_JS . '/jquery.color.js' ), array( 'jquery' ), null, true );
    }
}
add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_front_page_scripts' );

Chip, bạn là một ngôi sao. Cảm ơn. (Vâng, get_theme_part là một thứ khung wp. Tôi thề với bản phát hành khung wp mới. Thật tuyệt vời)
mjjwatson

Ồ, đúng rồi. Chức năng đó, theo thực tiễn tốt nhất, có tiền tố là wpf_get_theme_part()hoặc một cái gì đó tương tự. Nhưng, tôi đã tra cứu nó; chức năng nhỏ rất đẹp.
Chip Bennett
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.