• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

چگونه خطای rel=category tag در قالب های وردپرس را حذف کنیم

kapo

Registered User
تاریخ عضویت
18 دسامبر 2010
نوشته‌ها
125
لایک‌ها
7
سن
38
محل سکونت
تهران
این مطلب از بلاگ بیزمن نقل شده است.

دو تابع وردپرسی wp_list_categories و the_category وظیفه لیست کردن دسته بندی ها و نیز نمایش دسته بندی مربوط به هر پست در سایت های وردپرسی را بر عهده دارند.

این توابع همچنین اطلاعات دیگری را به قالب وردپرسی اضافه می کنند که در خروجی html نهایی قابل مشاهده است. به عنوان مثال بخشی از خروجی html یک پست وردپرسی ممکن است به صورت زیر نمایش داده شود:
کد:
…<li><a href=”http://www.bizman.ir/wordPress/” title=”View all posts filed under WordPress” rel=”category tag”>WordPress</a></li>…

همان طور که در کد بالا قابل مشاهده است، وردپرس یکسری استایل های اضافی را به کد قالب اضافه کرده است. یعنی استایل های (class=cat-item cat-item-xxx) و (rel=category tag) با به کارگیری توابع وردپرسی فوق به قالب اضافه شده اند.

خب، حالا فرضاً که استایل های فوق هم اضافه شوند، مشکل کجاست؟ اگر شما به بررسی قالب سایت وردپرسی خودتان (HTML5 validation) در سایت validator.w3.org بپردازید، ممکن است با خطای rel=category tag که شبیه به تصویر زیر می باشد مواجه خواهید شوید:

rel-category-validation-err.jpg

در واقع این خطا به ما می گوید که مقدار category tag برای صفت relationship یا همان rel غیر قابل قبول است. صفت relationship توسط توابع وردپرس و به طور خودکار به قالب ما اضافه شده است.


راه حل رفع خطای (rel=”category tag”) چیست؟

یک راه حل بسیار ساده برای رفع این خطا در قالب های وردپرس وجود دارد. کافی است کد زیر را در فایل functions.php قالب خود قرار دهید. دقت کنید که کد را می بایست قبل از آن که تگ PHP بسته شود قرار دهید، یعنی درست پیش از ?>
کد:
function snip_category_rel($result) {     $result = str_replace(‘rel=”category tag”‘, ”, $result);     return $result; } add_filter(‘the_category’, ‘snip_category_rel’); add_filter(‘wp_list_categories’, ‘snip_category_rel’);

کد بالا از تابع str_replace زبان PHP استفاده می کند که این امکان را به ما می دهد تا یک عبارت خاص را با عبارتی دیگر جایگزین نماییم. در واقع عبارت (rel=category tag) با را با مقدار خالی جایگزین کرده ایم.
 
بالا