मैं अपने बच्चे के विषय में एक .js फ़ाइल संलग्न करना चाहता हूं


16

मैंने अपने बाल थीम निर्देशिका में एक .js फ़ाइल कस्टम करने की कोशिश की।

मेरे बच्चे विषय के कार्यों में। मैं निम्नलिखित कोड ढूंढता हूं

/* After this. you can override Accessible Zen's pluggable functions or add your own.
 * Remember, do your best to stay accessible! :)
 *
 */
 add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_script( 'custom-script.js', 'js/custom-script.js', array('jquery') );
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array( 'parent-style' ) );
}

जहाँ केवल इस भाग को मेरे द्वारा लागू किया गया था और इसे js / folder से मेरे custom.script.js को लोड करना चाहिए था

wp_enqueue_script( 'custom-script.js', 'js/custom-script.js', array('jquery') );

दुर्भाग्य से यह ऐसा नहीं करता है, क्या कोई मदद कर सकता है?

* अद्यतन 2

कोड अब इस तरह दिखता है और यह काम करता है, यह तब काम नहीं करता था जब मैंने फ़ंक्शन को अन्य add_action में जोड़ा। मदद के लिए सभी को धन्यवाद! फिर भी मुझे आश्चर्य है कि अगर इस कोड को थोड़ा काटने का कोई तरीका नहीं है।

add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles' );
function theme_enqueue_styles() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri(), array( 'parent-style' ) );
}

/*add my custom jquery script*/
add_action( 'wp_enqueue_scripts', 'menu_scripts' );
function menu_scripts() {
wp_enqueue_script( 'responsive-menu', get_bloginfo( 'stylesheet_directory' ) . '/js/responsive-menu.js', array( 'jquery' ), '1.0.0' );
wp_enqueue_script(
    'custom-script',
    get_stylesheet_directory_uri() . '/js/custom-script.js',
    array( 'jquery' )
);
        }

यह लाइन किस लिए है

wp_enqueue_script( 'responsive-menu', get_bloginfo( 'stylesheet_directory' ) . '/js/responsive-menu.js', array( 'jquery' ), '1.0.0' );

क्या ये ज़रूरी हैं?


wp_enqueue_script( 'custom-script.js', get_stylesheet_directory_uri() . 'js/custom-script.js', array('jquery') );
पीटर ने

@ पीटर मैंने आपके परिवर्तन को अनुकूलित किया लेकिन यह अभी भी काम नहीं कर रहा है। यह वही है जो मेरे पास .js फ़ाइल में है और यह काम करता है अगर मैं इसे सीधे पेज में डाल दूं। उदाहरण के लिए: <script> अगर (jQuery) {अलर्ट ("jQuery लाइब्रेरी लोड है!"); } और {अलर्ट ("jQuery लाइब्रेरी नहीं मिली!"); } </ स्क्रिप्ट>
MrKainig

@ पीटर ठीक है मैंने प्रश्न में कोड डाल दिया
MrKainig

अपनी js फ़ाइल से स्क्रिप्ट टैग निकालें
Pieter Goosen

जवाबों:


32

यहाँ एक काम कर उदाहरण है:

add_action( 'wp_enqueue_scripts', 'menu_scripts' );
function menu_scripts() {
wp_enqueue_script( 'responsive-menu', get_bloginfo( 'stylesheet_directory' ) . '/js/responsive-menu.js', array( 'jquery' ), '1.0.0' );
wp_enqueue_script(
    'custom-script',
    get_stylesheet_directory_uri() . '/js/custom_script.js',
    array( 'jquery' )
);
        }

या इस तरह जो स्पष्ट रूप से तेजी से लोड होता है:

function my_scripts_method() {
    wp_enqueue_script(
        'custom-script',
        get_stylesheet_directory_uri() . '/js/custom_script.js',
        array( 'jquery' )
    );
}

add_action( 'wp_enqueue_scripts', 'my_scripts_method' );

स्रोत http://codex.wordpress.org/Function_Reference/wp_enqueue_script

get_template_directory_uri() केवल एक मूल विषय में काम करेगा।


1
आप उपयोग क्यों नहीं करते get_stylesheet_directory_uri()?
पीटर गोएयर

वे दोनों मेरे परीक्षण के आधार पर काम करते हैं।
ब्रैड डाल्टन

मैंने पहली कोशिश की, यह काम नहीं किया। क्या आप संभवत: पूर्ण कोड ब्लॉग (मेरे मौजूदा और काम कर रहे एंक्ल सहित) पोस्ट कर सकते हैं? क्योंकि मैं नहीं जानता कि कैसे ठीक से एक मेरी functions.php में पहले से मौजूद के साथ अपने कोड लागू करने के लिए
MrKainig

2
हां, वे करते हैं, लेकिन get_stylesheet_directory_uri()तेज है :-)
पीटर गोज़

इसका केवल एक कार्यशील उदाहरण है। आपके कोड के साथ यह कैसे काम करता है, यह जानने के लिए आपकी ओर से कुछ कार्य आवश्यक हैं। अब आप अपने कोड को फिर से काम कर सकते हैं ताकि यह आपकी थीम में आपकी स्क्रिप्ट को लोड करे।
ब्रैड डाल्टन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.