it-swarm-vi.tech

Tại sao wp_enqueue_script () không hoạt động khi bao gồm tệp JavaScript với TEMPLATEPATH?

Tôi đang cố gắng sử dụng các mẹo từ tại đây để thêm tệp JS của tôi.

Tôi đặt phần sau trong hàm.php của chủ đề atahualpa tôi đã cài đặt

function lektor_init() {
  if (true) {
    wp_enqueue_script('lektor',TEMPLATEPATH.'/js/synteza.js');
  }
}
add_action('init','lektor_init'); 

TEMPLATEPATH đã được sử dụng trước đó, vì vậy tôi chỉ cần điều chỉnh nó. Nhưng nó không xuất hiện.

Tôi đã làm gì sai?

1
naugtur

TEMPLATEPATH là đường dẫn thư mục, không phải url. Bạn sẽ cần sử dụng get_template_directory_uri().

9
John P Bloch
function parent_theme_name_scripts() {
    wp_enqueue_script( 'lektor', get_template_directory_uri() . '/js/synteza.js', array(), '1.0.0', true );
}

add_action( 'wp_enqueue_scripts', 'parent_theme_name_scripts' );

Thêm vào tập tin chức năng chủ đề cha mẹ của bạn.

Tuy nhiên, nếu bạn thêm tập lệnh vào chủ đề gốc, tạo chủ đề con và thêm tập lệnh vào tệp chức năng chủ đề con bằng cách sử dụng get_stylesheet_directory_uri()

add_action( 'wp_enqueue_scripts', 'child_theme_name_scripts' );
function child_theme_name_scripts() {
        wp_enqueue_script( 'lektor', get_stylesheet_directory_uri() . '/js/synteza.js', array(), '1.0.0', true );
    }

Sử dụng wp_enqueue_scripts thay vì initNAME _ .

0
Brad Dalton