۵ فیلتر کاربردی برای استفاده در قالب وردپرس در این مقاله معرفی شده است. برای استفاده از این کدها کافیست آن ها را در فایل function.php استفاده کنید.
توصیه من : قبل از اینکه در فایل function.php هرگونه تغییری ایجاد کنید، حتما از آن backup تهیه کنید. فایل از طریق ویرایشگر وردپرس تغییر ندهید.اگر مشکلی پیش بیاید، به وب سایتتان دسترسی نخواهید داشت. بلکه برای ایجاد تغییرات از ftp استفاده کنید.
۱- پاک کردن تگ P از دور عکس ها در ادیتور وردپرس
وقتی عکسی در ادیتور وردپرس آپلود میکنید بطور پیشفرض دور آن تگ p اضافه میکند. برای پاک کردن تگ p از دور تمامی عکس های داخل متن میتوانید از فیلتر زیر استفاده کنید.
<?php function filter_ptags_on_images($content){ return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content); } add_filter('the_content', 'filter_ptags_on_images'); ?>
۲- اضافه کردن کلاس به تگ body
گاهی نیاز داریم به یک المان در یک صفحه خاص استایل خاصی بدهیم . از طریق فیلتر زیر به تگ Body کلاس هایی اضافه میشود. مثلا در صفحات نامک (slug) آن صفحه و در پستها نام دستهبندی اضافه میشود.
<?php function add_slug_body_class( $classes ) { global $post; if ( isset( $post ) ) { $classes[] = $post->post_type . '-' . $post->post_name; } return $classes; } add_filter( 'body_class', 'add_slug_body_class' ); ?>
۳- نمایش تعداد دلخواه برای نتیجه جستجو
<?php function limit_posts_per_search_page() { if ( is_search() ) set_query_var('posts_per_archive_page', 2); } add_filter('pre_get_posts', 'limit_posts_per_search_page'); ?>
۴- پاک کردن استایل پیشفرض ابر برچسب ها (Tag Cloud)
ابر برچسب ها بسیار محبوب است و درواقع برچسب هایی که در سایت شما بیشتر استفاده شده است را نمایش میدهد. وردپرس بطور پیشفرض برچسب ها را بزرگ و کوچک نمایش میدهد.توسط فیلتر زیر میتوانیم استایل پیشفرض وردپرس را حذف کنیم
<?php function drweb_remove_tagcloud_inline_style($input){ return preg_replace('/ style=("|\')(.*?)("|\')/','',$input); } add_filter('wp_generate_tag_cloud', 'drweb_remove_tagcloud_inline_style',10,1); ?>
۵- اضافه کردن تصویر شاخص به مطالب فید (Rss)
بطور پیشفرض مطالب فید در وردپرس تصویر شاخص ندارند. اما با یک فیلتر می توانید تصویر شاخص را به آن اضافه کنید.
<?php function evolution_featuredtoRSS($content) { global $post; if ( has_post_thumbnail( $post->ID ) ){ $content = '<div>' . get_the_post_thumbnail( $post->ID, 'large', array( 'style' => 'margin-bottom: 15px;' ) ) . '</div>' . $content; } return $content; } add_filter('the_excerpt_rss', 'evolution_featuredtoRSS'); add_filter('the_content_feed', 'evolution_featuredtoRSS'); ?>