কীভাবে আমি পিএইচপি তে থিমের URL পাব?


38

থিমের চিত্র / শিরোনাম ডিরেক্টরিতে থাকা কোনও চিত্রের উল্লেখ করতে আমার থিম ডিরেক্টরিটির URL পাওয়া দরকার। কীভাবে এটি পিএইচপি করা হয়?

উত্তর:


47

এই ফাংশনটি থিম ডিরেক্টরি URL ফিরিয়ে দেবে যাতে আপনি এটি অন্য ফাংশনে ব্যবহার করতে পারেন:

get_bloginfo('template_directory');

বিকল্পভাবে, এই ফাংশনটি থিম ডিরেক্টরি URL টি ব্রাউজারে প্রতিধ্বনিত করবে :

bloginfo('template_directory');

থিমস images/headersফোল্ডারে একটি চিত্রের জন্য উদাহরণটি হ'ল :

<img src="<?php bloginfo('template_directory'); ?>/images/headers/image.jpg" />

দ্রষ্টব্য: আপনি বর্তমানে চাইল্ড থিম ব্যবহার করছেন, এবং সক্রিয় শিশু থিম না থাকলে এটি আপনাকে পিতামাতার থিমের পথ দেয় । নীচে একটি দীর্ঘ উত্তর এটি আরও বিশদে ব্যাখ্যা করে।
জেসন

2
আপনি সহজেই ব্যবহার করতে পারেনget_template_directory_uri()
পেই

32

কি @EAMann একটি সতর্কীকরণ সঙ্গে, ডা। এরিক সাধারণ পদ্ধতির সম্পর্কে এবং ঠিক কীভাবে ফাংশন bloginfo()এবং get_bloginfo()কাজ এবং 'template_directory'আপনার (সর্বাধিক) থিমগুলির জন্য প্রয়োজনীয় মূল্য পেতে পরামিতিটি কীভাবে পাস করবেন সে সম্পর্কে সঠিক।

তবে এখানে একটি ক্যাভিয়েট রয়েছে এবং সেই ক্যাভিটটি নতুন শিশু থিমগুলির সাথে রয়েছে । আপনি যদি চাইল্ড থিম ব্যবহার করছেন তবে 'template_directory'সম্ভবত আপনি যা চান তা চাই না যদি না আপনি প্রকৃতপক্ষে পিতামাত থিম ডিরেক্টরিতে থাকা কোনও চিত্রের উল্লেখ করার চেষ্টা না করেন। পরিবর্তে সন্তানের থিম কি আপনি সম্ভবত চান পাস হয় stylesheet_directory(আমি জানি, আমি জানি, নাম তোমাদেরকে বলি না তারা কি কিন্তু হেই, যে ঠিক ভাবে এটা হয়!) এরিক উত্তর থেকে কিছুটা ঋণগ্রহণ ব্যবহার stylesheet_directory(এই মত দেখাবে উদাহরণটি ছোট করে রেখেছি যাতে এটি মোড়ানো না হয়):

<img src="<?php bloginfo('stylesheet_directory'); ?>/images/header.jpg" />

পয়েন্টটি চিত্রিত করার জন্য আমি একটি দ্রুত স্ট্যান্ডলোন ফাইল লিখেছিলাম আপনি নিজের ওয়েবসাইটের মূল হিসাবে test.phpএটি ফেলে দিতে পারেন এবং এটি কী ফলাফল করে তা দেখতে রান করতে পারেন। টুয়েন্টি টেনের মতো নিয়মিত থিম দিয়ে প্রথমে রান করুন তারপর চাইল্ড থিম সহ চালান:

<?php
/*
* test.php - Test the difference between Regular and Child Themes
*
*/

include "wp-load.php";

$bloginfo_params = array(
    'admin_email',
    'atom_url',
    'charset',
    'comments_atom_url',
    'comments_rss2_url',
    'description',
    'home',
    'html_type',
    'language',
    'name',
    'pingback_url',
    'rdf_url',
    'rss2_url',
    'rss_url',
    'siteurl',
    'stylesheet_directory',
    'stylesheet_url',
    'template_directory',
    'template_url',
    'text_direction',
    'url',
    'version',
    'wpurl',
);

echo '<table border="1">';
foreach($bloginfo_params as $param) {
    $info = get_bloginfo($param);
    echo "<tr><th>{$param}:</th><td>{$info}</td></tr>";
}
echo '</table>';

আপনি যদি জিনিসগুলি লক্ষ্য করেন তবে আপনি খেয়াল করতে পারেন যে আপনি যা করতে পারেন তার আরও অনেক কিছু রয়েছে bloginfo()এবং get_bloginfo(); ধারণাগুলির জন্য নীচে কোড এবং স্ক্রিনশট অধ্যয়ন করুন।

স্ক্রিনশটটি দেখে আপনি দেখতে পাচ্ছেন যে নিয়মিত থিমের stylesheet_directoryমতো একই জিনিসটি দেয় 'template_directory'তবে একটি আলাদা মান এবং সম্ভবত শিশু থিমের জন্য আপনার প্রয়োজনীয় মূল্য।

ওয়ার্ডপ্রেসে চাইল্ড থিম সহ এবং ছাড়া get_bloginfo () এর ফেরতের মান
(সূত্র: মাইকসচিনেল.কম )

এই স্ক্রিনশটটিতে স্বচ্ছতার জন্য, wp30.devএমন একটি ডোমেন যা কেবলমাত্র আমার স্থানীয় কম্পিউটারে চলে। এটি বর্তমানে ওয়ার্ডপ্রেস .1.০.১ এর একটি উদাহরণ এবং এটি আমার ল্যাপটপে কনফিগার করা হয়েছে 127.0.0.1(একই localhost) এবং আমি এটি এর মতো অ্যাড-হক উদাহরণগুলি পরীক্ষার জন্য ব্যবহার করি। আমি ম্যাক ওএস এক্সে সুবিধার্থে ভার্চুয়ালহোস্টএক্সকে সেই ব্যক্তিগত বেসরকারী রুটযোগ্য .devডোমেনগুলি সেট আপ করতে সহায়তা করার জন্য ব্যবহার করেছি তবে কম্পিউটারের হোস্ট ফাইল এবং এর সম্পাদনা করে যে কেউ ম্যানুয়ালি এটি করতে পারে? httpd.conf ফাইল।

যাইহোক, যদি আপনি চাইল্ড থিমগুলির সাথে পরিচিত না হন তবে যেখানে আরও দুটি ওয়ার্ডপ্রেস উত্তরগুলি সহায়তা করতে পারে:


বাহ, দুর্দান্ত উত্তর। আমি এখন যে থিমটি নিয়ে কাজ করছি তাতে আমি অলস ছিলাম এবং চাইল্ড থিম সেট করিনি, তবে এটি ভবিষ্যতে খুব সহায়ক হবে। সেই স্ক্রিপ্টেও অভিনন্দন। ওয়েল-কোডেড। ধন্যবাদ!
মাইকেল ক্রেনশা

হাই, সুন্দর উত্তর! আমি সাধারণত ব্যবহার get_stylesheet_directory_uri()। আমি প্লেন ওল ব্যবহার করা উচিত get_stylesheet_directory()?
ডিজেবি

13

থিমের পুরো কাঠামো দুটি বিকল্পের উপরে তৈরি করে - template(মূল থিম ফোল্ডার নামরে stylesheetধারণ করা ) এবং (চাইল্ড থিম ফোল্ডার নামর ধারণ করে)। যদি কোনও শিশু থিম ব্যবহৃত না হয় তবে সেগুলি একই।

সরাসরি অ্যাক্সেস বিকল্পের চেয়ে ফিল্টারগুলির নমনীয়তা থাকতে, সেই অনুযায়ী get_template()এবং রয়েছে get_stylesheet()

এখন কেবল জিনিসটি অনুপস্থিত তা হ'ল থিম ফোল্ডারের অবস্থানের সাথে একত্রিত করা। এটি get_theme_root_uri()আবারও সুবিধামতভাবে মোড়ানো get_template_directory_uri()এবং এর মাধ্যমে করা যায় get_stylesheet_directory_uri()

[get_]bloginfo()সঙ্গে template_directoryবা stylesheet_directoryআর্গুমেন্ট নিছক এই গোপন করে এবং সেখানে যে মত এটি ব্যবহার করতে সামান্য কারণ নেই। আমি বলব যে এটি যুক্তিযুক্ত ডিরেক্টরি (সাধারণত স্থানীয় পাথের সাথে সম্পর্কিত) থাকার কারণে বিভ্রান্তিকর, তবে ইউআরএল ফিরিয়ে দেওয়া।

sumary:

  • শুধুমাত্র বা পিতামাতার থিম get_template_directory_uri()উল্লেখ করতে ব্যবহার করুন
  • ব্যবহার get_stylesheet_directory_uri()করার জন্য শুধুমাত্র বা শিশু থিম

-1

আমি এই ব্যবহার (dirname(get_bloginfo('stylesheet_url')))


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