غیرفعال سازی افزونه‌های وردپرس در زمان عدم دسترسی به پنل مدیریت

3107 روز پیش

غیرفعال سازی افزونه‌های وردپرس در زمان عدم دسترسی به پنل مدیریتگاهی در زمان ایرادیابی شما نیازمند غیرفعال سازی افزونه‌های وردپرس و فعال سازی تک تک آن‌ها به صورت مجزا هستید. ولی مشکل اینجاست که در بسیاری مواقع شما نمی توانید وارد پنل مدیریت(wp-admin) شوید و به همین دلیل، کار شما کمی سخت می‌شود. اگر تا به حال با صفحه سفید مرگ هنگام ورود به پنل مدیریت وردپرس مواجه شدید کاملا حرفم رو درک می کنید! در این آموزش روش غیرفعال سازی افزونه‌های وردپرس را در زمان عدم دسترسی به پنل مدیریت آموزش خواهم داد.

دو روش برای غیرفعال سازی افزونه‌های وردپرس در این زمان وجود داره که یکی از اون‌ها از طریق FTP و دیگری از طریق phpMyAdmin هست.

غیرفعال سازی همه‌ی افزونه‌های وردپرس از طریق FTP

در این روش شما باید از طریق FTP و یا FileManager وارد هاست خودتون بشید. به پوشه wp-content برید. حالا شما پوشه‌ای با نام plugins رو مشاهده ‌می‌کنید که برای غیرفعال سازی تمام افزونه‌ها کافی است که نام این پوشه را تغییر دهید. برای مثال ما نام آن را به plugins_old تغییر دادیم. حالا که این کار رو انجام دادین تمام افزونه‌های وردپرسی شما غیرفعال شدند.

در بیشتر مواقع با این کار قفل یا مشکل پنل مدیریت برطرف شده و شما می توانید به صورت عادی از سیستم خود استفاده کنید. حالا از طریق wp-login.php به سایت خودتون لاگین کنید. بعد از این کار دوباره از طریق FTP نام پوشه افزونه‌ها را از نامی که تغییر داده‌اید(در مثال ما plugins_old) به نام اصلی برگردانید. پس از تغییر نام مجدد افزونه‌ها به نام اصلی، از پنل مدیریت وردپرس وارد بخش افزونه‌ها شوید. در اینجا می‌بینید که تمام افزونه‌ها غیرفعال شده‌اند. حالا افزونه‌ها را دونه به دونه فعال کنید تا جایی که سیستم دوباره دچار مشکل شود. در این لحظه شما متوجه شده‌اید که کدام افزونه منجر به مشکل شده است. کافی است مجددا مراحل بالا را طی نموده و این بار افزونه‌ی مشکل دار را فعال نکنید!

غیرفعال سازی افزونه‌های وردپرس از طریق phpMyAdmin

در چنین مشکلی بهترین روش استفاده از FTP برای غیرفعال سازی افزونه هاست. در صورتی که تاکنون با phpMyAdmin  کار نکرده‌اید، پیشنهاد ما به شما استفاده از روش بالا است.

در دیتابیس وردپرس خودتون وارد جدول wp_options شوید. به دنبال فیلد active_plugins گشته و با ویرایش مقدار آن، عبارت زیر را وارد کنید.

a:0:{}

امیدوارم این آموزش تونسته باشه، راه شما رو برای حل مشکل کوتاه‌تر کرده باشه…

منبع

تغییر لینک پیش فرض تصاویر هنگام افزودن رسانه در وردپرس

3111 روز پیش

تغییر لینک پیش فرض تصاویر هنگام افزودن رسانه در وردپرسپیدا کردن عنوان برای این مطلب مقداری سخت بود! بهتره توضیح بدم تا کاربرد این مطلب رو درک کنید. یکی از موارد آزار دهنده وردپرس برای من زمانی بود که می خواستم یه پرونده چند رسانه ای مخصوصا عکس رو تو نوشته ها استفاده کنم و زمانی که عکس روی سرور آپلود میشد به صورت پیش فرض لینک به پوسته ی پیوست انتخاب میشد و لینک پیش فرض تصاویر مشکل داشت و این یعنی زمانی که بازدید کننده بر روی عکس کلیک میکنه، به جای باز شدن عکس، فایل مربوط به پوسته ضمیمه باز میشه که جلوه ی مناسبی نداره و کار شما رو برای طراحی پوسته پیوست افزایش میده، البته با همه ی این ها ممکنه که شما هم مثله من از افزونه هایی برای نمایش زیباتر عکس ها به همراه سایه و جلوه های بصری(lightbox or shadowbox) استفاده کنید.

در این حالت، یعنی زمانی که لینک به جایی بجز آدرس اصلی عکس باشه، این افزونه ها کار نمی کنند و برای استفاده از ویژگی های این مدل افزونه ها، شما نیاز به لینک شدن عکس ها به آدرس اصلی اون ها دارید. فکر می کنم حالا متوجه کاربرد این ترفند شدید.

برای این کار شما باید وارد صفحه تنظیمات مخفی وردپرس بشید! تا حالا این صفحه رو ندیدین! درسته چون مخفیه! برای دسترسی به این صفحه از طریق آدرس زیر وارد بشین

http://www.example.com/wp-admin/options.php

فکر نمی کنم لازم به گفتن باشه که به جای example.com آدرس سایت خودتون رو بنویسید.

در صفحه تنظیمات مخفی وردپرس دنبال فیلدی با نام image_default_link_type بگردید. نرسیده به وسط می تونید پیداش کنید. سه حالت می تونه وجود داشته باشه که به بررسی اون ها می پدازیم.

  • خالی باشه! در این صورت به صورت پیش فرض هیچ لینکی به هیچ جایی ایجاد نمیشه و در صورت نیاز باید بعد از آپلود لینک رو وارد کنید.
  • file :در صورتی که کلمه file رو در این فیلد وارد کنید، به صورت پیش فرض لینک به آدرس فایل آپلود شده قرار داده میشه. این همون چیزیه که می خوایم. در این صورت لینک ها به صورت  http://www.example.com/wp-content/image.png در میاد.
  • post : این گزینه همون گزینه پیش فرض انتخابیه که لینک رو به پوسته ضمیمه ایجاد میکنه. در موارد خاص اگه نیاز بود استفاده کنید

به نظر کامل میرسه، امیدوارم این آموزش یه روزی به کارتون بیاد و شما رو هم مثه من از شر تماس های مکرر با کاربر سایت بابت تذکر این نکته راحت کنه! برای دیدن کاربرد افزونه بر روی عکس ضمیمه شده در این مطلب کلیک کنید

منبع

دو نکته برای بهینه سازی وردپرس

3156 روز پیش

بهینه سازی وردپرس

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

تغییر آدرس پوشه wp-content  محتوای وردپرس

همونطور که می دونید، محتوای وردپرس (شامل پوسته ها، افزونه ها، فایل های آپلود شده و…) در پوشه ای با نام wp-content قرار گرفته، اگه اشتباه نکنم از نسخه 2.7 به بعد(تا الان که 3.5 اومده)، این امکان در وردپرس ایجاد شده که بشه نام این پوشه رو تغییر داد، برای این کار تنها دو خط کد رو باید به فایل wp-config.php موجود در پوشه اصلی سایت(root) افزود. پس برای شروع فایل wp-config.php موجود در روت وب سایتتون رو باز کنید. تو خط آخر، عبارت زیر رو پیدا کنید.

require_once(ABSPATH . 'wp-settings.php');

با این خط کاری نداریم، این خط رو برای این پیدا کردیم که کدهامون رو قبل از اون باید قرار بدیم. یعنی کدهایی رو که می خوایم بگیم و قبل از کد بالا اضافه کنید.

حالا دو خط زیر رو به فایلی که باز کردیم (wp-config.php درست قبل از عبارتی که بالا گفتیم)اضافه کنید.

define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/data' ); 
define( 'WP_CONTENT_URL', 'https://evazzadeh.com/data');

تو خط اول توسط دستور WP_CONTENT_DIR وظیفش معرفی نام پوشه ی جدید برای wp-content بوده و خط دوم توسط دستور WP_CONTENT_URL وظیفه ی معرفی آدرس دسترسی به اون پوشه رو داره. پس در خط اول به جای data نام پوشه ی جدیدی رو که دوست دارین، محتوای وردپرسیتون رو در اونجا قرار بدین وارد کرده و در خط دوم آدرس کامل دسترسی به اون رو بنویسید. بدیهی است که تو خط دوم شما باید به جای evazzadeh.com آدرس سایت خودتون رو بنویسید!

صبر کنید! هنوز کار تموم نشده و شما باید نام پوشه ی wp-content رو به نامی که در خط اول وارد کردید (در اینجا data) تغییر بدید. توجه داشته باشین که با این کار ممکنه بعضی از پوسته ها و یا افزونه ها که از آدرس دهی مطلق استفاده کردند، از کار بیفتند. در این صورت شما یا باید از خیر اون پوسته یا افزونه بگذرید و یا اون رو تغییر بدید یا کلا بیخیال این روش بشید! انتخاب با شماست.

تغییر مسیر ذخیره سازی فایل های آپلودی

برای کسانی که وردپرس نسخه 3.5 به بعد رو نصب می کنن، گزینه ی تغییر مسیر ذخیره سازی فایل ها موجود در تنظیم wp-config.php رو ویرایش می کنیم. لازم به ذکره که انجام این کار توسط افزونه و یا دستکاری دیتابیس هم ممکنه ولی این روش مطمئن و راحته. باید توجه داشته باشید که شما با انجام مورد بالایی کلا خودتون رو از این مورد بی نیاز کردین، ولی شاید مشکلی که در انتهای مورد بالایی ذکر شد براتون اتفاق بیفته، یعنی پوسته یا افزونه ای ناسازگار باشه که در این صورت این روش کارتون رو راه میندازه. برای این کار کد زیر رو به فایل اضافه کنید.

define( 'UPLOADS', 'media' );

در این خط کافیه که کلمه media رو با کلمه مورد نظرتون عوض کنید. به همین راحتی! حالا پوشه ای با این نام در روت وب سایتتون بسازید و از این به بعد تمام فایل ها در اونجا آپلود می شوند.

اگه خواستید فایل های آپلودیتون در همون پوشه محتوای وردپرس یعنی wp-content بوده و تنها نام اون تغییر کنه از کد زیر می تونید به جای کد بالا استفاده کنید.

define( 'UPLOADS', 'wp-content/media' );

امیدوارم این مطالب بدردتون بخوره و از وردپرس لذت ببرید! اگه سوالی بود حتما بپرسید تا بتونم کمکتون کنم. موفق باشید…

انواع نوشته در وردپرس

3208 روز پیش

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

برای این کار از پارامتر ‘post_status’  استفاده می کنیم. حالت های مختلفی که تا یه امروز (نسخه 3.5 وردپرس) پشتیبانی میشه به شرح زیر است:

using the post_status parameter, ie. 'post_status' => 'any'
* 'publish' - a published post or page
* 'pending' - post is pending review
* 'draft' - a post in draft status
* 'auto-draft' - a newly created post, with no content
* 'future' - a post to publish in the future
* 'private' - not visible to users who are not logged in
* 'inherit' - a revision. see get_children.
* 'trash' - post is in trashbin. added with Version 2.9.

اگه با نوع پست (post type) آشنایی داشته باشید و یا در وب سایتتون از اون استفاده کردید و خواهان استفاده ترکیبی از مورد بالا و نوع خاصی از نوشته هستید می تونید از الگوی زیر استفاده کنید.

$query = array(
    'post_type' => 'my-post-type',
    'post_status' => array('publish', 'pending', 'draft', 'auto-draft', 'future', 'private', 'inherit', 'trash')    
);
query_posts($query);

به جای my-post-type می تونید از نامی رو که برای نوع پستتون تعریف کردید استفاده کنید.

در آینده شاید یه توضیح کامل درباره پست تایپ در وردپرس دادم، چیزی که هنوز اون طور که باید شناخته نشده! موفق باشید

حذف نوشته های خالی از متن در وردپرس

3216 روز پیش

وردپرس
شاید شما هم مثل من سایت یا سایتهایی رو داشته باشید که بصورت خودکار از طریق آر اس اس محتوا تولید می کنند. اگه اینطور باشه حتما میدونید که گاهی به دلیل یک سری مشکلاتی که ممکنه برای آر اس اس منبع بوجود بیاد، پست های شما خالی از هرگونه متنی باشه. اگه بخوام بیشتر و راحت تر توضیح بدم میتونم بگم که بعد از مدتی شما تعداد زیادی پست دارید که یه تعدادی از اون ها (شاید حدود 10 تا 50 درصد یا حتی بیشتر!) خالی از متن هستند یعنی پلاگین شما فقط تونسته عنوان نوشته رو بخونه و برای دریافت متن به هر دلیلی با مشکل مواجه شده، در حال حاضر ما سعی می کنیم که این نوشته های خالی از متن رو پاک کنیم. برای حذف نوشته ها با ما همراه باشید…
ادامه دارد »»»