ফুটারে স্ক্রিপ্টগুলি সারণী করতে পারবেন না?


10

ওয়ার্ডপ্রেস কোডেক্স বলেছেন :

( পুরাতন কোডেক্স পৃষ্ঠা )

$ in_footer

(বুলিয়ান) (alচ্ছিক) সাধারণত স্ক্রিপ্টগুলি বিভাগে রাখা হয়। এই পরামিতিটি সত্য হলে স্ক্রিপ্টটি নীচের অংশে স্থাপন করা হয়। এর জন্য থিমটির উপযুক্ত জায়গায় wp_footer () হুক থাকা দরকার। মনে রাখবেন যে ডাব্লুপি_হেড চালানোর আগে আপনাকে স্ক্রিপ্টটি সজ্জিত করতে হবে, এমনকি এটি পাদলেখের মধ্যে রাখা হবে। (ওয়ার্ডপ্রেস ২.৮ এ নতুন) ডিফল্ট: মিথ্যা

সুতরাং আমি trueপ্রতিটি স্ক্রিপ্টের পরে যুক্ত করেছি src path:

/**
     * JavaScript
     */

    function my_scripts_method() {
        wp_deregister_script( 'jquery' );
        wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js', true );
        wp_enqueue_script( 'jquery' );
    }

    add_action('wp_enqueue_scripts', 'my_scripts_method');

    function media_queries_script() {
        wp_register_script( 'mediaqueries', get_template_directory_uri() . '/js/css3-mediaqueries.js', true );
        wp_enqueue_script( 'mediaqueries' );
    }

    add_action('wp_enqueue_scripts', 'media_queries_script');

    function custom_script() {
        wp_register_script( 'custom', get_template_directory_uri() . '/js/custom.js', true );
        wp_enqueue_script( 'custom' );
    }

    add_action('wp_enqueue_scripts', 'custom_script');

    function replace_script() {
        wp_register_script( 'replace', get_template_directory_uri() . '/js/jquery.ba-replacetext.min.js', true );
        wp_enqueue_script( 'replace' );
    }

    add_action('wp_enqueue_scripts', 'replace_script');

তবে স্ক্রিপ্টগুলি এখনও শিরোনামের অন্তর্ভুক্ত রয়েছে।

এটি ঠিক করার জন্য কোনও পরামর্শ?

উত্তর:


18

আপনি আপনার কোডটি কোথায় রেখেছিলেন?

  1. "সত্য" আর্গুমেন্টগুলিতে যায় wp_register_script();, নাwp_enqueue_script() ;

ফাংশনগুলি হ'ল:

<?php wp_enqueue_script('handle', 'src', 'deps', 'ver', 'in_footer'); ?>

অর্থ

    <?php wp_enqueue_script('NameMySccript', 'path/to/MyScript', 
'dependencies_MyScript', 'VersionMyScript', 'InfooterTrueorFalse'); ?>

ই জি

<?php wp_enqueue_script('my_script', WP_CONTENT_URL . 'plugins/my_plugin/my_script.js', array('jquery', 'another_script'), '1.0.0', true); ?>

  1. আপনার থিম <?php wp_footer(); ?> পৃষ্ঠার শেষে আছে ?

সঙ্গে ক্রিয়া যোগ করুন add_action('wp_print_scripts', 'your function');

বলা হচ্ছে, আপনার সেরা অনুশীলনটি হ'ল:

<?php  
if (function_exists('load_my_scripts')) {  
    function load_my_scripts() {  
        if (!is_admin()) {  
        wp_deregister_script( 'jquery' );  
        wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js');  
        wp_enqueue_script('jquery');  
        wp_register_script('myscript', bloginfo('template_url').'/js/myScript.js'__FILE__), array('jquery'), '1.0', true );  
        wp_enqueue_script('myscript');  
        }  
    }  
}  
add_action('init', 'load_my_scripts');  
?>  

অথবা add_action('wp_print_scripts', 'dl_register_js');


ধন্যবাদ এটি এখন কাজ করছে তবে আমি বুঝতে পেরেছি যে trueউভয়ই রাখুন wp_enqueueবা wp-register_scriptঠিক কাজ করুন work
জানোচেন

4
@ krembo99 wp_register_script()এটি একই পরিমাণে আর্গুমেন্ট নেয় এবং উভয়ই $wp_scriptsবিশ্বব্যাপী অ্যারে এবং dataসুব্রায় যুক্ত করে। আপনার উত্তরের অদম্য পাঠযোগ্যতার সাথে ভুল তথ্যের সংমিশ্রণ, আমি আপনাকে একটি -১ দিতে হবে (পুনরায় কাজ করার পরে মুছে ফেলা হবে)।
কায়সার

1
আমার জন্য ধাঁধাটির অনুপস্থিত অংশটি <?php wp_footer(); ?>পৃষ্ঠা টেমপ্লেটে উপস্থিত ছিল না। এর পরে, trueপ্যারামিটারটি wp_enqueue_scriptতার কাজটি করেছে।
johanna

6

আপনি নির্ভরতা পরমকে একটি বুল মান দিয়ে যাচ্ছেন। এটা চেষ্টা কর:

 wp_enqueue_script(
      'replace', 
       get_template_directory_uri().'/js/jquery.ba-replacetext.min.js',
       array('jquery'), 
       '', 
       true
);

2
এটি প্রযুক্তিগতভাবে প্রশ্নের প্রশ্নের ভিত্তিতে তার প্রশ্নের সঠিক উত্তর।
অ্যান্ডি ওয়ারেন

4

আমার একই সমস্যা ছিল এবং কিছু অনুসন্ধান করার পরে আমি আমার কাস্টম থিমটিতে এই ফাংশনটি অনুপস্থিত:

 <?php wp_footer();?>

3

আমি এখানে উত্তরটি সরল করতে চাই .. ফুটারে স্ক্রিপ্ট লোড করতে wp_enqueue_script বা wp_register_script ব্যবহার করার সময়, আপনাকে অবশ্যই অন্যান্য প্যারামগুলি ফাঁকা থাকলেও তা নিশ্চিত করতে হবে।

আমি চেষ্টা করছিলাম..

wp_register_script( 'rrssb', get_stylesheet_directory_uri() . '/includes/rrssb.min.js',  true);

যা @ janoChen লক্ষ্য করেছে তেমন কাজ করে নি। ওয়ার্ডপ্রেস জন্য কল

wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );

সুতরাং আপনি '',যে প্যারামিটারগুলি ব্যবহার করছেন না তার জন্য আপনাকে অন্তর্ভুক্ত করতে হবে যদি আপনি ফাংশনটি ইনলাইন ঘোষনা করতে চান। সুতরাং নীচের কোডটি পরিকল্পনা মতো কাজ করে।

wp_register_script( 'rrssb', get_stylesheet_directory_uri() . '/includes/rrssb.min.js', '', '', true);

পরবর্তীকালে আপনি @ ব্রায়ান ফেগটার শোগুলির মতো বিন্যাসের মতো বিন্যাসে ফাংশনটি ঘোষণা করতে পারেন।


আপনাকে কেবল খালি স্ট্রিং সরবরাহ করতে হবে যেখানে স্থানধারক প্রয়োজন।
s_ha_dum

অই হ্যাঁ! অবশ্যই কোর্সের, '',যেখানে প্যারামিটারগুলি প্রয়োজন, notচ্ছিক নয়।
অ্যান্ড্রু-থিঙ্কআপ

2

যদি আপনি শিরোনামে কোনও স্ক্রিপ্ট সজ্জিত করেন তবে পাদলেখকৃত স্ক্রিপ্টের উপর নির্ভরশীলতা ঘোষণা করেন, ওয়ার্ডপ্রেস পাদদেশের স্ক্রিপ্টটিকে নির্ভর করে স্ক্রিপ্ট / এ উপলব্ধ করার জন্য শিরোনামে স্থানান্তরিত করে।


1

অফিসিয়াল ওয়ার্ডপ্রেস ডকুমেন্টেশন অনুসারে (সর্বশেষ চেক - মে 2018)

https://developer.wordpress.org/reference/functions/wp_enqueue_script/

এবং 7+ বছরের ব্যক্তিগত অভিজ্ঞতা।

  1. ইনস্টলড প্লাগইন / থিমগুলির সাথে আরও ভাল সামঞ্জস্যের জন্য আপনার সর্বদা ' wp_enqueue_scriptts ' ফাংশন ব্যবহার করা উচিত ।

     add_action('wp_enqueue_scripts','your_plugin_enqueue');
  2. অফিসিয়াল ডক্স ব্যবহার সম্পর্কে আপনি এখানে আরও জানতে পারেন

       /**** wp_register_script, wp_enqueue_script, wp_dequeue_script ***
    
             *** Personal recommendation
             *  - I strongly recommend registering all scripts before enqueueing,
             *  again -> for better compatibility with other developers. 
             *  :::: For example, so others could manipulate the position 
             *       of your scripts using the wp_dequeue_*type* method. 
             *       (wp_dequeue_script, wp_dequeue_style,...)
    
             *** Official Docs
             *   $in_footer
             *      - (bool) (Optional) Whether to enqueue the script before </body> instead of in the <head>. Default 'false'.
             *      - Default value: false
             *
             ***/
    
             // examples:
    
      function your_plugin_enqueue(){
    
    
    
             wp_dequeue_script('some_script(s)'); // remove conflicting script
    
             wp_register_script( $handle, $src, $deps, $ver, $in_footer=true ); 
             wp_enqueue_script($handle);
             wp_register_script('some_script(s)', $src, $deps, $ver, $in_footer=true);  // re-enqueue scripts after yours for example to elimination of conflicts
    
             wp_enqueue_script('some_script(s)');
    
      }
    
    
      add_action('wp_enqueue_scripts','your_plugin_enqueue');

পিএস যদি আপনি এই উত্তরটি দরকারী মনে করেন তবে দয়া করে এটি একটি '▲' ( অ্যারোআপ ) দিন, আপনি যদি মনে করেন এটির উন্নতি করা যায় তবে নীচে মন্তব্য করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.