ওয়ার্ডপ্রেস লোড করা থাকলেই ওয়ার্ডপ্রেস ফাংশনগুলি উপলব্ধ। আপনি যদি আপনার style.php
সরাসরি কল করেন তবে আপনি কোনও ওয়ার্ডপ্রেস ফাংশন ব্যবহার করতে পারবেন না।
আপনার পিএইচপি চালিত স্টাইলশিটের জন্য ওয়ার্ডপ্রেস লোড করার একটি সহজ উপায় হ'ল ওয়ার্ডপ্রেসের একটি শেষ পয়েন্ট যুক্ত করুন: একটি কাস্টম, সংরক্ষিত ইউআরএল যেখানে আপনি নিজের টেম্পলেট ফাইলটি লোড করেন।
সেখানে যাওয়ার জন্য আপনাকে এইগুলি করতে হবে:
'init'
সাথে একটি শেষ পয়েন্ট নিবন্ধন করুন add_rewrite_endpoint()
। এর নাম দিন 'phpstyle'
।
Ook 'request'
ুকুন এবং নিশ্চিত করুন 'phpstyle'
যে এটি সেট করা থাকলে শেষ পয়েন্টটি ভেরিয়েবলটি খালি নয়। এখানে কী চলছে তা বোঝার জন্য ক্রিস্টোফার ডেভিসের দুর্দান্ত এ (বেশিরভাগ ক্ষেত্রে) ওয়ার্ডপ্রেস পুনর্লিখনের API এর সম্পূর্ণ গাইডটি পড়ুন ।
'template_redirect'
ডিফল্ট টেম্পলেট ফাইলের পরিবর্তে আপনার ফাইলটি প্রবেশ করুন এবং বিতরণ করুন index.php
।
জিনিসগুলিকে সংক্ষিপ্ত রাখতে আমি নীচের ডেমো প্লাগইনটিতে একটি ফাংশনে তিনটি সাধারণ ধাপ একত্রিত করেছি ।
প্লাগইন পিএইচপি স্টাইল
<?php # -*- coding: utf-8 -*-
/*
* Plugin Name: PHP Style
* Description: Make your theme's 'style.php' available at '/phpstyle/'.
*/
add_action( 'init', 'wpse_54583_php_style' );
add_action( 'template_redirect', 'wpse_54583_php_style' );
add_filter( 'request', 'wpse_54583_php_style' );
function wpse_54583_php_style( $vars = '' )
{
$hook = current_filter();
// load 'style.php' from the current theme.
'template_redirect' === $hook
&& get_query_var( 'phpstyle' )
&& locate_template( 'style.php', TRUE, TRUE )
&& exit;
// Add a rewrite rule.
'init' === $hook && add_rewrite_endpoint( 'phpstyle', EP_ROOT );
// Make sure the variable is not empty.
'request' === $hook
&& isset ( $vars['phpstyle'] )
&& empty ( $vars['phpstyle'] )
&& $vars['phpstyle'] = 'default';
return $vars;
}
প্লাগইনটি ইনস্টল wp-admin/options-permalink.php
করুন, পুনর্লিখনের নিয়মগুলি রিফ্রেশ করতে একবার যান এবং style.php
আপনার থিমটিতে একটি যুক্ত করুন ।
নমুনা style.php
<?php # -*- coding: utf-8 -*-
header('Content-Type: text/css;charset=utf-8');
print '/* WordPress ' . $GLOBALS['wp_version'] . " */\n\n";
print get_query_var( 'phpstyle' );
এখন দেখুন yourdomain/phpstyle/
। আউটপুট:
/* WordPress 3.3.2 */
default
আপনি যদি yourdomain/phpstyle/blue/
আউটপুট যান তবে:
/* WordPress 3.3.2 */
blue
সুতরাং আপনি মূল্যের উপর নির্ভর করে একটি ফাইলের সাথে বিভিন্ন স্টাইলশিট সরবরাহ করতে শেষ পয়েন্টটি ব্যবহার করতে পারেন get_query_var( 'phpstyle' )
।
বিচারকার্য স্থগিত রাখার আদেশ
এটি আপনার সাইটকে ধীর করবে। ওয়ার্ডপ্রেস প্রতিবারের জন্য দুবার লোড করতে হয়। আক্রমণাত্মক ক্যাচিং ছাড়া এটি করবেন না।