ডাব্লুপি ফাংশন / এইচডিপি শিরোনাম সংশোধন করার জন্য ফিল্টার?


17

এইচটিটিপি শিরোনাম যুক্ত / সংশোধন করার সময় কোনও ডেডিকেটেড ডাব্লুপি ফাংশন, ক্রিয়া বা ফিল্টার ব্যবহার করার আছে?

আপাতত আমি ডাব্লুপি'ইডি'র মধ্যে এইচপি হিসাবে একটি পিএইচপি শিরোলেখ () কলটি হুক করেছি:

add_action('init', 'add_header_xua');
function add_header_xua(){
    if(!is_admin()){
        header('X-UA-Compatible: IE=edge,chrome=1');    
    }
}

তবে এটি কি এটি করার সঠিক উপায়?

উত্তর:


9

Init ক্রিয়াটি এটি করার জন্য ভুল জায়গা। আরও ভাল জায়গাটি টেমপ্লেট_ড্রাইরেক্টে থাকবে, যাতে আপনি কেবল সাইটের সামনের দিকের দৃশ্যকেই প্রভাবিত করেন, প্রশাসনিক অঞ্চলগুলিতে নয়।


হুক সম্পর্কিত ভাল বক্তব্য, তবে এগুলি বাদ দিয়ে 'কাঁচা' শিরোনাম () ফাংশনটি (ডান হুক ব্যবহার করে) সঠিক উপায়ে কল করছে, বা এর জন্য ব্যবহার করা উচিত এমন কোনও ডাব্লুপি র‌্যাপার রয়েছে? সরাসরি শিরোনামকে কল করা কেবল শিরোনামগুলিতে যোগ করার অনুমতি দেয়, সেগুলিকে সংশোধন না করে, যেমন এটি একটি ফিল্টার দিয়ে সম্ভব হয় (যেমন আপনি যখন দেহের শ্রেণিটি পরিচালনা করতে চান)
মিক্কেলব্রেম

1
শিরোনাম () একমাত্র উপায়। তবে এটির একটি দ্বিতীয় প্যারামিটার রয়েছে যা আপনাকে বিদ্যমান শিরোনামগুলিতে যুক্ত করার পরিবর্তে প্রতিস্থাপন করতে দেবে। Php.net/manual/en/function.header.php
অটো

14

আসল প্রশ্ন এবং ডোমিনিক পি এর উত্তরের ভিত্তিতে আমি যে কোডটি ব্যবহার করেছি তা এখানে ...

/*
 * Modify HTTP header
 */
function add_header_xua($headers) {

    // var_dump($headers); #=> if you want to see the current headers...  

    if (!is_admin()) {
        $headers['X-UA-Compatible'] = 'IE=edge,chrome=1';    
    }

    return $headers;     
}
add_filter('wp_headers', 'add_header_xua');

আপনার কোডগুলি আপনার ফাংশন.এফপি ফাইলটিতে যুক্ত করার পরে, আপনি HTTP শিরোনামটি সত্যই পরিবর্তিত হয়েছে তা নিশ্চিত করতে http://web-sniffer.net/ এ একটি পরীক্ষা চালিয়ে এটি কাজ করে তা পরীক্ষা করতে পারেন ।


11

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

প্রথম আর্গুমেন্টটি পাসওয়ার্ড হিসাবে শিরোনামের নাম সহ শিরোনামগুলির একটি অ্যারে passed দ্বিতীয় যুক্তি হ'ল ডাব্লুপি ক্লাস অবজেক্টের একটি রেফারেন্স।


অন্য হুক হল: send_headers। আমি হুক তালিকার কোনও "wp_headers" দেখতে পাচ্ছি না ।
পিক্সলাইন

হুঁ, এটি আকর্ষণীয়। আপনি এখানে wp_headers ফিল্টার চেকআউট ।
ডোমিনিক পি

আমি মনে করি (তবে নিশ্চিত নই) যে "অভ্যন্তরীণ" হুক আছে (যেমন ডাব্লুপি_হেডারস), এবং "পাবলিক" হুক (যেমন "সেন্ড হেডার্স")। "অভ্যন্তরীণ" হুকগুলি ভবিষ্যতের প্রকাশে পরিবর্তিত হওয়ার প্রবণতা বেশি। "পাবলিক" হুকগুলি আরও "স্থিতিশীল" বলে মনে করা হয়। তবে আমি কেবল এখানে ভুল হতে পারি, হুকস নিয়ে করা বিভিন্ন গবেষণা থেকে আমি এই অনুভূতির ব্যাক আপ করার কোনও উত্স পাই না।
পিক্সলাইন

এটি খুব সম্ভব, তবে এই ক্ষেত্রে দেখে মনে হচ্ছে দুটি হুক কেবল আলাদা ফাংশন সম্পাদন করে। send_headersশিরোনামগুলি প্রেরণের পরে প্রেরণ করা wp_headersহয় এমন শিরোনামগুলিতে একটি ফিল্টার যা প্রেরণ করার আগে প্রয়োগ করা হয়
ডোমিনিক পি

ভাল ... যদি কেবল send_headersএকটি কোডেক্স পৃষ্ঠা থাকে তবে এটি ব্যবহার করার কোনও ইঙ্গিত যদি ...
drzaus

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