আপনাকে যে ধরণের প্যারামিটারগুলি প্রবেশ করতে হবে তার উপর নির্ভর করে একটি অতিরিক্ত বিকল্প Let's আসুন এটি কল করুন (2 এ)। আপনি পিএইচপি স্ক্রিপ্টগুলি তৈরি করতে পারেন যা গতিশীলভাবে উত্পন্ন text/css
বা text/javascript
পরিবর্তে আউটপুট দেয় text/html
এবং তাদের ওয়ার্ডপ্রেস লোড না করে GET পরামিতিগুলি ব্যবহার করার জন্য প্রয়োজনীয় ডেটা সরবরাহ করে। অবশ্যই এটি কেবল তখনই কাজ করে যদি আপনার অপেক্ষাকৃত কমপ্যাক্ট প্যারামিটারের তুলনামূলকভাবে অল্প সংখ্যক পাস করতে হয়। সুতরাং, উদাহরণস্বরূপ, বলুন যে আপনাকে কেবল কোনও পোস্টের URL বা কোনও ফাইলের ডিরেক্টরি বা এর অনুরূপ পাস করতে হবে, আপনি এর মতো কিছু করতে পারেন:
Header.php এ:
<script type="text/javascript" src="<?php print get_stylesheet_directory_uri();
?>/fancy-js.php?foo=bar&url=<?php print urlencode(get_permalink($post->ID)); ?>"></script>
অভিনব-js.php এ:
<?php
header("Content-type: text/javascript");
?>
foo = <?php print json_encode($_GET['foo']); ?>;
url = <?php print json_encode($_GET['url']); ?>;
প্রভৃতি
তবে এটি কেবল আপনাকে জিইটি পরামিতিগুলিতে সরাসরি পাস করা ডেটা অ্যাক্সেসের অনুমতি দেয়; এবং এটি কেবল তখনই কাজ করবে যখন আপনার যে জিনিসগুলির মধ্যে পাস করতে হবে তা সংখ্যা তুলনামূলকভাবে কম এবং সেই জিনিসগুলির উপস্থাপনা তুলনামূলকভাবে কমপ্যাক্ট। (মূলত মুষ্টিমেয় স্ট্রিং বা সংখ্যাসূচক মান - একটি ব্যবহারকারীর নাম, বলুন, বা একটি ডিরেক্টরি; ব্যবহারকারীর সমস্ত সাম্প্রতিক পোস্টের তালিকা বা তেমন কিছু নয়))
এই বিকল্পগুলির মধ্যে কোনটি সবচেয়ে ভাল - আমি জানি না; এটি আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে। অপশন (1) এর সরল হওয়ার যোগ্যতা রয়েছে এবং স্পষ্টভাবে আপনাকে দু'বার ওয়ার্ডপ্রেস লোড করার পারফরম্যান্সের আঘাত ছাড়াই আপনার প্রয়োজন মতো কোনও ওয়ার্ডপ্রেস ডেটা অ্যাক্সেসের অনুমতি দেয়। এটি অবশ্যই আপনার কী করা উচিত যদি না আপনার শক্তিশালী কারণ না থাকে (যেমন স্টাইলশীট বা স্ক্রিপ্ট যা আপনার ব্যবহারের প্রয়োজন সেই আকারের কারণে)।
আকারটি যদি আপনার এক পৃষ্ঠার ওজনের নিরিখে সমস্যা তৈরি করতে পর্যাপ্ত পরিমাণে হয়ে যায় তবে আপনি (2) বা (2 এ) চেষ্টা করে দেখতে পারেন।
অন্যথায় - এটি সম্ভবত আরও ভাল ধারণা - আপনি স্ক্রিপ্টের অংশগুলি বা স্টাইলশীটগুলি পৃথক করে আলাদাভাবে চেষ্টা করতে পারেন যা স্থিরভাবে নির্দিষ্ট করা যায় এমন অংশগুলি থেকে গতিশীল ডেটা ব্যবহার করে। এসে আপনার কাছে একটি স্টাইলশীট রয়েছে যা # আমার-অভিনব উপাদানটির জন্য একটি পটভূমি প্যারামিটার সেট করার জন্য ওয়ার্ডপ্রেস থেকে একটি ডিরেক্টরি পাস করতে হবে। আপনি এই সমস্তগুলি প্রধান উপাদানটিতে রাখতে পারেন:
<style type="text/css">
#my-fancy-element {
background-image: url(<?php print get_stylesheet_directory_uri(); ?>images/fancy.png);
padding: 20px;
margin: 20px;
font-weight: bold;
text-transform: uppercase;
font-size: 12pt;
/* ... KB and KB of additional styles ... */
}
#another-fancy-element {
/* ... KB and KB of additional styles ... */
}
/* ... KB and KB of additional styles ... */
</style>
তবে কেন আপনার এটি করা দরকার? এখানে কেবল একটি লাইন রয়েছে যা ওয়ার্ডপ্রেস থেকে প্রাপ্ত ডেটার উপর নির্ভর করে। ওয়ার্ডপ্রেসের উপর নির্ভর করে কেবল এমন লাইনগুলি বিভক্ত করা ভাল:
<style type="text/css">
#my-fancy-element {
background-image: url(<?php print get_stylesheet_directory_uri(); ?>images/fancy.png);
}
</style>
স্ট্যাটিক স্টাইলশীটে অন্য কোনও কিছু রাখুন যা আপনি একটি স্ট্যান্ডার্ড লিঙ্ক উপাদান (স্টাইল। CSS বা যাই হোক না কেন) দিয়ে লোড করেছেন:
#my-fancy-element {
/* background-image provided dynamically */
padding: 20px;
margin: 20px;
font-weight: bold;
text-transform: uppercase;
font-size: 12pt;
/* ... KB and KB of additional styles ... */
}
#another-fancy-element {
/* ... KB and KB of additional styles ... */
}
/* ... KB and KB of additional styles ... */
এবং ক্যাসকেডটি কাজটি করতে দিন।
এটি জাভাস্ক্রিপ্টের ক্ষেত্রে একই রকম হয়:
<script type="text/javascript">
// Here comes a huge function that uses WordPress data:
function my_huge_function () {
// Do a million things ...
jQuery('#my-fancy').append('<a href="'+<?php json_encode(get_permalink($GLOBALS['post']->ID)); ?>+'">foo</a>);
// Do a million more things ...
my_other_function(<?php print json_encode(get_userdata($GLOBALS['post']->post_author); ?>);
}
function my_other_function (user) {
// Do a million things ...
}
</script>
পরিবর্তে মাথা উপাদান এ জাতীয় কিছু রাখুন:
<script type="text/javascript">
var WordPressPostData = {
url: <?php print json_encode(get_permalink($GLOBALS['post']->ID)); ?>,
author: <?php print json_encode(get_userdata($GLOBALS['post']->post_author)); ?>
}
</script>
এবং তারপরে বাকিগুলিকে একটি স্থিতিশীল জাভাস্ক্রিপ্ট ফাইলে ফেলে দিন, ওয়ার্ডপ্রেসপোস্টডেটা.আরএল এবং ওয়ার্ডপ্রেসপোস্টডেটা.অক্ষেত্রের গ্লোবালগুলি ব্যবহার করতে আমার_হিউজ ফাংশন () এবং মাই_থর_ফংশান () পুনরায় লিখে।
সিএসএসের 40 কে বা জেএস এর 40K প্রায় সর্বদা <1K এ বিভক্ত হতে পারে যা আসলে গতিশীল ডেটার উপর নির্ভর করে, এবং বাকীটি, যা একটি স্ট্যাটিক বাহ্যিক ফাইলে নির্দিষ্ট করা যায় এবং তারপরে ক্যাসকেড (সিএসএসের জন্য) অথবা বিশ্বব্যাপী অ্যাক্সেসযোগ্য ব্যবহার করে পুনরায় সংযুক্ত করা যায় either ভেরিয়েবল (গ্লোবালস, ডিওএম উপাদান বা জেএসের জন্য আপনি যে কোনও কিউবি-হোল পছন্দ করেন)