فعال کردن حالت عیبیابی وردپرس (WP_DEBUG)
خط `define('WP_DEBUG', false);` را در فایل wp-config.php پیدا کرده و مقدار آن را به `true` تغییر دهید.
/**
* فعالسازی حالت اشکالزدایی عمومی وردپرس
*/
define( 'WP_DEBUG', true );
توابع تمیز، هوکهای کارآمد و اسنیپتهای تستشده برای وردپرس، ووکامرس، لاراول و وب مدرن جهت حذف افزونههای سنگین، بهبود نمره رندر و سرعت، با امکان کپی فوری و دانلود به عنوان افزونه آماده.
خط `define('WP_DEBUG', false);` را در فایل wp-config.php پیدا کرده و مقدار آن را به `true` تغییر دهید.
/**
* فعالسازی حالت اشکالزدایی عمومی وردپرس
*/
define( 'WP_DEBUG', true );
با دو فیلتر `woocommerce_product_single_add_to_cart_text` و `woocommerce_product_add_to_cart_text` متن دکمه را در صفحه محصول و آرشیو تغییر دهید.
<?php
/**
* تغییر متن دکمه افزودن به سبد خرید در صفحه محصول تکی و صفحات آرشیو فروشگاه
*/
function bisco_custom_add_to_cart_text( $text ) {
return 'سفارش آنلاین و پرداخت';
}
add_filter( 'woocommerce_product_single_add_to_cart_text', 'bisco_custom_add_to_cart_text' );
add_filter( 'woocommerce_product_add_to_cart_text', 'bisco_custom_add_to_cart_text' );
با فیلتر `woocommerce_product_tabs` مقدار `$tabs['description']['title']` را به نام جدید تغییر دهید.
<?php
/**
* تغییر نام زبانه پیشفرض «توضیحات» در صفحه محصول ووکامرس
*/
function bisco_rename_description_tab( $tabs ) {
if ( isset( $tabs['description'] ) ) {
$tabs['description']['title'] = 'نقد و بررسی تخصصی';
}
return $tabs;
}
add_filter( 'woocommerce_product_tabs', 'bisco_rename_description_tab', 98 );
با تابع `wp_dequeue_script` در اکشن `wp_enqueue_scripts` با اولویت ۱۰۰، فایلهای JS افزونه را در صفحات مشخص خنثی کنید.
<?php
/**
* لغو بارگذاری اسکریپتهای جاوااسکریپت فرم تماس در صفحات بدون فرم
*/
function bisco_remove_unneeded_plugin_js() {
// اگر صفحه دارای فرم تماس نیست، اسکریپت آن لغو شود
if ( ! is_page( 'contact' ) ) {
wp_dequeue_script( 'contact-form-7' );
}
// لغو اسکریپتهای ووکامرس در وبلاگ
if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
wp_dequeue_script( 'wc-add-to-cart' );
}
}
add_action( 'wp_enqueue_scripts', 'bisco_remove_unneeded_plugin_js', 100 );
با این دستور هدر Access-Control-Allow-Origin روی پسوندهای فونت وب ست شده و مشکل لود نشدن آیکونها و فونتها از CDN حل میشود.
<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
این کد ماژول mod_deflate را در آپاچی برای انواع دادههای متنی فعال کرده و خروجی را پیش از ارسال به مرورگر به صورت Gzip فشرده میکند.
<IfModule mod_deflate.c>
# فشردهسازی خروجی فایلهای متنی و اسکریپتی با Gzip
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE font/otf
</IfModule>
با فیلتر `rest_authentication_errors`، کاربرانی که لاگین نکردهاند را با خطای ۴۰۱ یا WP_Error مسدود کنید.
<?php
/**
* محدودسازی دسترسی به REST API تنها برای کاربران وارد شده به سایت
*/
function bisco_restrict_rest_api_to_logged_in_users( $access ) {
// در صورت وجود خطای قبلی، همان خطا بازگردانده شود
if ( is_wp_error( $access ) ) {
return $access;
}
// اگر کاربر وارد نشده بود، دسترسی مسدود گردد
if ( ! is_user_logged_in() ) {
return new WP_Error(
'rest_cannot_access',
'دسترسی به رابط برنامهنویسی تنها برای کاربران احراز هویت شده مجاز است.',
array( 'status' => rest_authorization_required_code() )
);
}
return $access;
}
add_filter( 'rest_authentication_errors', 'bisco_restrict_rest_api_to_logged_in_users' );
با بازتعریف تگ کانونیکال در هدر و حذف پارامترهای اضافی کوئری استرینگ از آدرس، مطمئنترین آدرس مرجع را به گوگل معرفی کنید.
<?php
/**
* پاکسازی آدرس کانونیکال از پارامترهای اضافه و تضمین آدرس مرجع یکتا
*/
function bisco_custom_canonical_url() {
if ( is_singular() ) {
$canonical_url = get_permalink();
echo '<link rel="canonical" href="' . esc_url( $canonical_url ) . '" />' . "
";
} elseif ( is_home() || is_front_page() ) {
echo '<link rel="canonical" href="' . esc_url( home_url( '/' ) ) . '" />' . "
";
}
}
// حذف کانونیکال پیشفرض وردپرس و جایگزینی با نسخه استاندارد
remove_action( 'wp_head', 'rel_canonical' );
add_action( 'wp_head', 'bisco_custom_canonical_url', 5 );
اگر وبسرور شما از ماژول ngx_brotli در Nginx یا mod_brotli در Apache پشتیبانی میکند، این پیکربندی استانداردترین سطح فشردهسازی را اعمال میکند.
# کانفیگ بروتلی برای وبسرور Nginx
brotli on;
brotli_comp_level 5;
brotli_static on;
brotli_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss font/woff2;
# یا برای وبسرور Apache در صورت فعال بودن mod_brotli:
# <IfModule mod_brotli.c>
# AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css application/javascript application/json
# </IfModule>
با فیلتر `wp_sitemaps_taxonomies`، تاکسونومیهای مورد نظر (مثلاً post_tag یا ویژگیهای ووکامرس) را از sitemap حذف نمایید.
<?php
/**
* حذف برچسبها و تاکسونومیهای دلخواه از نقشه سایت بومی وردپرس
*/
function bisco_remove_taxonomies_from_sitemap( $taxonomies ) {
// حذف برچسبهای پیشفرض نوشتهها
unset( $taxonomies['post_tag'] );
// حذف فرمتهای نوشته
unset( $taxonomies['post_format'] );
return $taxonomies;
}
add_filter( 'wp_sitemaps_taxonomies', 'bisco_remove_taxonomies_from_sitemap' );
با فیلتر `the_content` و بررسی شرط `is_single()`، محتوای دلخواه را به متغیر `$content` الصاق (Append) کنید.
<?php
/**
* افزودن باکس امضا و دعوت به عضویت در خبرنامه به انتهای مقالات
*/
function bisco_append_content_after_post( $content ) {
// تنها در صفحه تکی نوشتههای وبلاگ و درون لوپ اصلی اجرا شود
if ( is_single() && is_main_query() && 'post' === get_post_type() ) {
$custom_box = '
<div class="bisco-after-post-cta" style="background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; padding:20px; margin-top:30px;">
<h4 style="margin-top:0; color:#1e293b;">آیا این مطلب برای شما مفید بود؟</h4>
<p style="color:#64748b; font-size:14px;">برای دریافت آخرین ترفندهای توسعه وب و کدهای کاربردی، در خبرنامه ما عضو شوید.</p>
<a href="/newsletter" style="display:inline-block; background:#6366f1; color:#fff; padding:8px 18px; border-radius:6px; text-decoration:none; font-weight:bold;">عضویت رایگان</a>
</div>';
$content .= $custom_box;
}
return $content;
}
add_filter( 'the_content', 'bisco_append_content_after_post' );
این کد روی هاست دامنه قبلی قرار میگیرد و هر درخواستی به آدرس old.com/path را با کد 301 به new.com/path منتقل مینماید.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-domain\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.old-domain\.com$ [NC]
RewriteRule ^(.*)$ https://new-domain.com/$1 [R=301,L]
</IfModule>
سبد خرید شما خالی است
هنوز محصولی را به سبد خرید اضافه نکردهاید. میتوانید از افزونههای اختصاصی ما دیدن فرمایید.
با تکمیل فرم زیر، کارشناسان فنی بیسکو وب در سریعترین زمان ممکن با شما تماس میگیرند.
دسترسی فوقسریع بدون فیلتر، کارکرد آفلاین و دریافت مستقیم و لحظهای اطلاعیهها و تخفیفها روی گوشی.
برای اعمال آخرین تغییرات کلیک کنید