次の問題について、ここで少し洞察が必要ですか。次のように拡張しようとしている 'test_child'という名前の子テーマを作成しました。
これはtest_child/functions.phpファイルです。
<?php
function load_flaticon() {
wp_enqueue_script(
'flaticon', get_stylesheet_directory_uri() . '/js/flaticon.js', array('jquery')
);
}
add_action( 'wp_enqueue_script', 'load_flaticon' );
?>
次に、これがtest_child/js/flaticon.jsファイルです。
jQuery(document).ready(function($) {
$("a[href$='.pdf']").addClass('flaticon-pdf19');
$("a[href$='.ppt']").addClass('flaticon-ppt');
$("a[href$='.pptx']").addClass('flaticon-pptx2');
$("a[href$='.doc']").addClass('flaticon-doc2');
$("a[href$='.docx']").addClass('flaticon-docx');
$("a[href$='.xls']").addClass('flaticon-xls1');
$("a[href$='.xlsx']").addClass('flaticon-xlsx');
});
// by the way have already tried the " .ready(function() { " version
Test_child/header.phpの中に、私はどこかの行を見ることができます:
<!-- wp_head() -->
<?php wp_head();?>
私は「本によって」それをやっていると思います(そして私は他の似たような質問を勉強しました)。
あなたは新しい一組の目を貸してもらえますか。
私が対処したい質問には2つの部分があります。
アクションが複数形のフォームを使用しているのでうまくいきませんでした:wp_enqueue_scripts
ではなくwp_enqueue_script
。私はこれが起こったと思います、なぜならあなたがここで使用しなければならない関数が - wp_enqueue_script()
- しない単数形を使用します)。
関数wp_enqueue_script()
をそれほど多くのパラメータと一緒に使用しないでください。
登録 スクリプトを早く、 エンキュー 遅く。
function register_flaticon() {
wp_register_script(
'flaticon',
get_stylesheet_directory_uri() . '/js/flaticon.js',
array('jquery')
);
}
function enqueue_flaticon() {
wp_enqueue_script( 'flaticon' );
}
add_action( 'wp_loaded', 'register_flaticon' );
add_action( 'wp_enqueue_scripts', 'enqueue_flaticon' );
その理由は柔軟性です。 4 エンキューアクションがあります。
wp_enqueue_scripts
admin_enqueue_scripts
customize_controls_enqueue_scripts
login_enqueue_scripts
スクリプトを早めに登録すると、あなたや他の誰かが他のアクションの一つでそれをエンキューすることができ、 衝突を避けることができます となります。 jQueryアドオンの命名規則 についてはこちらのスレッドも参照してください。
get_stylesheet_directory_uri()
は、現在の子テーマディレクトリuriを開きます。したがって、子テーマであるため、指定されたファイルは取得されません。
ファイルを取得するにはget_template_directory_uri()
を使用してディレクトリパスを取得します。これにより、style.cssで指定したテンプレートディレクトリが取得されます。
Template:your_parent_theme_folder_name