get_template_part বনাম থিমগুলির ক্রিয়াকলাপ হুক


15

আমার কাছে মনে হয় এই উভয়ই থিম ফাইলগুলি (চাইল্ড থিমের মাধ্যমে) সম্পাদনা না করেই শেষ ব্যবহারকারীটির জন্য কোনও থিম পরিবর্তন করার সুযোগ বহন করবে।

আমার প্রশ্ন হ'ল একটি পদ্ধতি কি অন্যের চেয়ে পছন্দ হয়।

উদাহরণস্বরূপ একটি থিম নিন যা আমি এখন ওয়ার্কিগ। আমি সিদ্ধান্ত নেওয়ার চেষ্টা করছি যে হুকের টেম্পলেট অংশগুলি নিয়ে যেতে হবে।

<?php get_template_part('before_sitecontainer' ); ?>
<div id="sitecontainer" class="sitecontainer" <?php //closed in footer ?>>

<?php get_template_part( 'before_topcontainer' ); ?>
<div id="topcontainer ">

    <?php get_template_part( 'before_topedge_navigation' ); ?>
    <?php get_template_part( 'topedge_navigation' ); ?>

    <?php get_template_part( 'before_site_header' ); ?>
    <?php get_template_part( 'site_header' ); ?>

    <?php get_template_part( 'before_second_navigation' ); ?>
    <?php get_template_part( 'second_navigation' ); ?>

    <?php get_template_part( 'after_second_navigation' ); ?>

</div><!-- end topcontainer div -->
<?php get_template_part( 'after_topcontainer' ); ?>

উপরের থিমটির ব্যবহারকারীরা তাদের চাইল্ড থিম ফোল্ডারে কেবল একটি এপ্রোপিয়েটেড নামের ফাইল তৈরি করার পাশাপাশি একই পদ্ধতি দ্বারা প্রতিটি পূর্ববর্তী বিভাগের আগে / পরে নতুন কোড যুক্ত করে বিদ্যমান কোডের যে কোনও বিভাগকে প্রতিস্থাপন করতে পারবেন - টেমপ্লেটের আগে / পরে প্যারেন্ট থিমটিতে পার্ট ফাইলগুলি মোটেই বিদ্যমান নেই এবং কেবল তাদের কোড toোকানোর অনুমতি দেওয়ার জন্য রয়েছে - এবং এই পদ্ধতিটি সম্পাদন করার জন্য তাদের হুক / ফিল্টার বোঝার প্রয়োজন হয় না।

আমি অবশ্যই হুক এবং ফিল্টার ব্যবহার করে একই অর্জন করতে পারি।

পরিবর্তে হুক / ফিল্টার ব্যবহার করার কোনও সুবিধা আছে কি? লক্ষ্য শ্রোতা যে এটি ব্যবহার করবে তা মনে রাখবেন সিদ্ধান্তটি কোড বুদ্ধিমান নয় । আমি তাদের তুলনামূলকভাবে মৌলিক নির্দেশ দিতে পারি যে তারা টেমপ্লেট পদ্ধতিটি ব্যবহার করতে পারে তবে প্রায় অবশ্যই তাদের মধ্যে শয়তানকে হুক দিয়ে বিভ্রান্ত করবে।

অথবা এমন পরিস্থিতি রয়েছে যেখানে একই থিমের মধ্যে একজনের চেয়ে অপরটির চেয়ে ভাল হবে?

উত্তর:


8

আমি হুক পছন্দ করি, যেহেতু সেগুলি আরও নমনীয়: আপনি এগুলি আপনার থিমের functions.phpফাইল থেকে, তবে প্লাগইন থেকেও ookুকতে পারেন। আমি প্লাগিনগুলিতে তত যুক্তি রাখার চেষ্টা করি, যাতে থিমগুলিতে বেশিরভাগ লেআউট স্টাফ থাকে।

আপনি যদি অ্যাকশন হুক ব্যবহার get_template_part() করেন তবে এখনও সেই হুক হ্যান্ডলারটি ব্যবহার সম্ভব । এটি আপনাকে উভয় বিশ্বের সেরা দেয়। আপনি সম্ভবত এমন একটি ডিফল্ট হুক তৈরি করতে পারেন যা কল করে get_template_part(), যাতে লোকেদের কোডিংয়ের সাথে বেশি অভিজ্ঞতা না থাকায় তারা অতিরিক্ত ফাইল যুক্ত করতে পারে এবং অন্যরা না চাইলে এই হুকটি সরিয়ে ফেলতে পারে।

সংক্রান্ত পারফরমেন্স: get_template_part()ব্যবহার ( মধ্যেlocate_template() ) file_exists()এক, দুই অথবা চার বার (কিভাবে আপনি এটা কল উপর নির্ভর করে)। এটি প্রদর্শিত file_exists()হয় খুব দ্রুত , এবং পিএইচপি এবং সম্ভবত ওএসেও ক্যাচিং ব্যবহার করে। সুতরাং এটি সম্ভবত কোনও সমস্যা নয়।


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

4

আমি বলব যে মূল পার্থক্য হ'ল পাঠযোগ্যতা। আপনি যদি বেশ কয়েকটি, নামযুক্ত, টেম্পলেট অংশগুলি দেখতে পান তবে সহজেই কী ঘটছে তা আপনি বুঝতে পারবেন। আপনি যদি কেবল একটি হুক দেখেন তবে হুকের সাথে কী সংযুক্ত রয়েছে তা স্থাপনের জন্য আপনাকে বাকী থিমের অনুসন্ধান করতে হবে।


1
হ্যাঁ, এটি উপলব্ধি করে, এবং উদাহরণ কোড দিয়ে আমি যা অর্জন করার চেষ্টা করেছিলাম তারই একটি অংশ।
অ্যাশলে জি

4

চাইল্ড থিমের হুক থেকে ফাংশন সরিয়ে ফেলা (তুলনামূলকভাবে) সহজ, তবে এটি অযাচিত পিতামাতার টেম্পলেটটিকে উপেক্ষা করা আরও শক্ত।

মূলত হুকের সাথে কাজ করা পিএইচপি পাশের কাছাকাছি এবং টেমপ্লেটগুলির সাথে কাজ করা এইচটিএমএল পাশের কাছাকাছি। আমি হাইব্রিড প্যারেন্ট থিম ব্যবহার করি যা খুব হুক-ওরিয়েন্টেড। আপনার পিতা-মাতার কিছু টেম্পলেট থেকে মুক্তি না পাওয়া পর্যন্ত এটি একটি পরম অধিকার।

যে প্রযুক্তি ব্যবহারকারীরা জানেন না তাদের পক্ষে খুব ভাল বিকল্প নয়। কেন তাদের যেহেতু এই জাতীয় থিম অভ্যন্তরগুলির সাথে গণ্ডগোল করার দরকার হবে?

পারফরম্যান্সের বিষয়গুলিও PS নোট করে। হুক সহ স্টাফ মেমরিতে ঘটে, টেমপ্লেট সহ স্টাফ প্রচুর পরিমাণে ডিস্ক লুকআপ লাগে। বিশেষত আপনি যদি উদাহরণ হিসাবে কিছু লিখছেন।

পিপিএস সবার পছন্দ নয় ... তবে স্ক্র্যাচ থেকে পিতামাতাদের থিমটি লেখার পরিবর্তে বিদ্যমান প্যারেন্ট থিমটি গ্রহণ না করে এবং ব্যবহারকারীকে সহজ শিশু থিম সরবরাহ করবেন না কেন?


কোনও প্যারেন্ট টেম্পলেট উপেক্ষা করা এটিকে প্রতিস্থাপনের জন্য একটি ফাঁকা টেম্পলেট ফাইল তৈরি করা যতটা সহজ হবে ভেবেছিলাম। নন-টেক সচেতন ব্যবহারকারীর জন্য হুক (এবং তার জন্য পিএইচপি) এর সাথে জগাখিচা করার চেয়ে অনেক সহজ। যদিও অভিজ্ঞতার জন্য কারও কারও পক্ষে অনেক সহজ হবে। কেন, সর্বদা যারা কাস্টমাইজ করতে চান তারা থাকেন, আপনি এমনকি স্বীকার করেছেন। আমি কেন একটি থিম তৈরি করছি, সেদিকেই আমি আমার ব্যবসাকে নিয়ে যেতে চাই সে দিকটি else আমি মনে করি আমি আরও ভাল করতে পারি।
অ্যাশলে জি

পারফরম্যান্স ইস্যু সম্পর্কে ভাল পয়েন্ট। যদিও, ওয়ার্ডপ্রেসটি get_template_part নিয়ে কাজ করার জন্য ডিজাইন করা হয়েছিল বলে আমি ভাবতাম এটি এতটা পারফরম্যান্সের হিট না। কারও কি এর কোন মানদণ্ড আছে?
অ্যাশলে জি

কোনও টেম্পলেট অংশ উপেক্ষা করার বিষয়ে আপনি কী বোঝাতে চেয়েছি তা আমি দেখতে পাচ্ছি। আমি যতটা ভেবেছি ততটা সহজ নয়
অ্যাশলে জি

প্রকৃতপক্ষে এটি চাইল্ড ফোল্ডারে একটি ফাঁকা টেম্পলেট ফাইল রাখার মতো সহজ, এটি ফোল্ডারের মূলটিতে সরবরাহ করা। টেম্পলেট ফাইলগুলি যখন পিতামাতার / শিশু থিম ফোল্ডারের সাবফোল্ডারগুলিতে থাকে তখন এটি কঠিন হয়ে যায়
অ্যাশলে জি

আসলে, এমনকি সাবফোল্ডারগুলিও কোনও সমস্যা নয়। আমার সবেমাত্র ফোল্ডারটির নামটি ভুল হয়েছে (একটি নিশ্চিত চিহ্ন যা আমি খুব বেশি দেরি করে LOL নিয়ে কাজ করছি)। কোনও টেম্পলেট অংশটি ওভাররাইড করার জন্য সন্তানের একই পাতায় একই নামের একই ফাইলের পিতামাতার মতো প্রয়োজন
অ্যাশলে জি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.