نکات برنامه‌نویسی

نکات برنامه‌نویسی و رایانه‌ای - امیرمسعود ایرانی

نکات برنامه‌نویسی

نکات برنامه‌نویسی و رایانه‌ای - امیرمسعود ایرانی

۳ مطلب با کلمه‌ی کلیدی «افزونه» ثبت شده است

به روزرسانی خودکار قالب‌ها و افزونه‌های وردپرس

امیرمسعود ایرانی | چهارشنبه, ۲۶ ارديبهشت ۱۳۹۷، ۰۲:۱۸ ب.ظ | ۰ نظر

وردپرس به صورت پیش‌فرض دارای قابلیتی است که می‌تواند هسته و قالب‌ها و افزونه‌های وردپرس را در صورتی که دارای اشکالات امنیتی جدی باشند، به روزرسانی نماید.

تشخیص اینکه چه زمانی به‌روزرسانی خودکار به انجام برسد و چه زمانی انجام نشود، بر عهده تیم توسعه‌ی وردپرس است.

همانند بخش‌های دیگر وردپرس، امکان سفارشی‌سازی این بخش نیز وجود دارد.

ممکن است بخواهید به‌روزرسانی‌های وردپرس همیشه بدون نیاز به دخالت شما به انجام برسد. البته توجه به این نکته ضروری است که به‌روزرسانی ممکن است با خطاهایی همراه باشد که در صورت رخداد این گونه خطاها، تا زمانی که متوجه شوید زمانی سپری شود و سایت شما مدتی از دسترس خارج گردد.

برای به‌روزرسانی تمامی افزونه‌ها به صورت خودکار، کافی است کد زیر را در فایل functions.php قالب خود یا یک افزونه‌ی جدید درج نمایید و آن را فعال کنید:

add_filter( 'auto_update_plugin', '__return_true' );

همچنین برای به‌روزرسانی تمامی قالب‌های موجود به صورت خودکار این کد را می‌بایست استفاده نمایید:

add_filter( 'auto_update_theme', '__return_true' );

وردپرس به صورت پیش‌فرض تمامی ترجمه‌های به‌روزرشده را نصب می‌کند. اگر می‌خواهید این اتفاق رخ ندهد، از این کد استفاده کنید:

add_filter( 'auto_update_translation', '__return_false' );
  • امیرمسعود ایرانی

روش شناسایی علت کند شدن سایت طراحی شده با وردپرس

امیرمسعود ایرانی | يكشنبه, ۸ اسفند ۱۳۹۵، ۰۵:۰۰ ب.ظ | ۱ نظر

در یکی از سایت‌هایی که با استفاده از ربات محصولات آن درج می‌شد، پس از مدتی با کاهش سرعت بسیار زیاد مواجه شدیم، پس از جستجو و بررسی متوجه شدیم که افزونه‌ی Revolution Slider و JS Composer دو افزونه‌ای هستند که سرعت عملکرد وردپرس را به شدت کاهش می‌دهند.

برای شناسایی این افزونه‌های مشکل دار، لازم بود تا افزونه‌ی Query Monitor را که وظیفه دارد فهرست کوئری‌های اجرا شده روی پایگاه داده را فهرست کند، نصب کردیم.

این افزونه نشان داد که Revolution Slider با اجرای سه کوئری بهینه نشده که برای عملکرد نیازمند پیمایش کل جدول پایگاه داده هستند را به اجرا می‌گذارد.

به دلیل عملکرد ربات و سنگین شدن جدول‌های بانک اطلاعاتی پیش‌فرض وردپرس، هر درخواست در بخش مدیریت حدود ۱۷ ثانیه تاخیر را برای اجرای کوئری‌های فوق به هدر می‌داد.

در هنگام طراحی سایت‌ با وردپرس اگر حجم محتوای شما زیاد است، انتخاب افزونه‌های مناسب که به خوبی بهینه‌سازی شده باشند و موجب ایجاد مشکلات در عملکرد نشوند، ضروری است.

  • امیرمسعود ایرانی

محدود کردن دسترسی به برگه‌ها و نوشته‌های وردپرس توسط افزونه PageRestrict

امیرمسعود ایرانی | سه شنبه, ۱۰ شهریور ۱۳۹۴، ۰۷:۳۷ ب.ظ | ۱ نظر
در بسیاری از مواقع ممکن است بخواهید دسترسی به برگه‌ها یا نوشته‌های وردپرس را تنها برای کاربرانی که وارد سایت شده‌اند امکان‌پذیر کنید
برای انجام این کار روش‌های مختلف و افزونه‌های گوناگونی وجود دارد
در این نوشته از افزونه‌ی PageRestrict استفاده می‌کنیم. علت انتخاب این افزونه، ساده بودن و سبک بودن آن است.

ابتدا افزونه‌ی مورد نظر را از این نشانی دانلود و نصب کنید

این افزونه به دلیل سادگی امکانات کمی دارد و نام فیلدهای آن قابلیت تغییر در بخش مدیریت و فایل‌های ترجمه را ندارد
ولی خوشبختانه با استفاده از یک فیلتر موجود در افزونه، می‌توانیم نام فیلدها را به فارسی تغییر دهیم
برای انجام این کار قطعه کد زیر را در فایل functions.php قالب سایت خود قرار دهید.
بسته به نیاز ممکن است بخواهید نام فیلدها را نیز تغییر دهید.

add_filter( 'pr_page_content', 'amib_pr_content' );

function amib_pr_content( $content ) {
	$content = str_replace( 'Username', 'نام کاربری', $content );
	$content = str_replace( 'Password', 'گذرواژه', $content );
	$content = str_replace( 'Log In', 'ورود به سایت', $content );
	$content = str_replace( ' Remember me', ' مرا به خاطر بسپار', $content );
	$content = str_replace( 'Lost your password?', 'رمز خود را فراموش کردید؟', $content );
	
	return $content;
}
همان گونه که گفته شد. این افزونه بسیار کوچک و ساده است.
برای استفاده در پروژه‌های بزرگتر و تخصصی‌تر می‌بایست از افزونه‌هایی با امکانات و توانایی‌های بیشتر استفاده کنید
  • امیرمسعود ایرانی