ارتباط تلفنی با پشتیبانی فقط در صورت هماهنگی در پیام رسان بله یا تیکت امکان پذیر هست.
تماس با مشاورین: ۰۹۳۵۸۵۱۰۰۹۱

بطور کلی هسته ی وردپرس (WordPress) شامل سه پوشه زیر هست:

  1. پوشه wp-includes که شامل کلاس ها و توابع اصلی هسته ی وردپرس می باشد به طوری که عملکردهای پایه ای وردپرس مثل مکانیزم پایگاه داده ، نحوه ی اجرای قالب و . در این بخش برنامه نویسی شده اند.
  2. پوشه ی wp-admin که شامل تمامی توابع مربوط به بخش مدیریت وردپرس می باشد چنانچچه دقت کنید زمانی که در صفحات مدیریت وردپرس هستید همواره فایل های PHP در این پوشه هستند که فراخوانی می شوند
  3. پوشه ی wp-content که موضوع بحث امروز ما میباشد و شامل فایل ها و محتواهای وب سایت شما میباشد مانند افزونه های نصب شده ، قالب ها و پوشه هار ترجمه و کش وب سایت.

ساختار پوشه های وردپرس و نحوه ی تغییر آن ها

تفاوت دو سایت وردپرسی در چیست؟

تعریف دقیق هسته ی وردپرس یعنی فایل ها و پوشه های وردپرس که ما تحت هیچ شرایطی اجازه تغییر در آن ها را نداریم که شامل پوشه های wp-admin و wp-includes به همراه تمامی فایل های PHP که در ریشه ی رودپرس قرار دارند.پس اگر بخواهیم تفاوت دو وب سایت وردپرسی را بیان کنیم موارد زیر هست:

  1. پوشه ی wp-content یعنی قالب و افزونه هایی که هر سایت مختص به خود را دارد
  2. پایگاه داده (MySQL) که در آن مطالب و محتویات سایت شما گنجانده شده است
  3. فایل wp-config.php که مربوط به تنظیمات پایگاه داده وب سایت شما می باشد.

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

ثابت سازی آدرس وب سایت وردپرس

برای شروع ابتدا فایل wp-config.php وردپرس خود را باز کنید ، چون ما قرار هست قوانین را در این فایل به شکل کامل تعریف کنیم.اگر با وردپرس آشنا باشید یکی از اصلی ترین تنظیمات همگانی وردپرس مربوط به آدرس وب سایت می باشد که از بخش تنظیمات و زیر منوی عمومی همیشه آن ر تغییر می دهیم.

تغییر آدرس وب سایت وردپرس در تنظیمات عمومی

اگر دقت کنید می توانید به راحتی این فیلد را ویرایش کنید ، این بدان معنا هست که وردپرس در هر بار لود شدن صفحات این آدرس را از پایگاه داده که در جدول wp_options هست فراخوانی می کند ، حال برای ثابت کردن این آدرس به شکلی که همواره از فایل wp-config.php بدون معطلی فراخوانی شود این دو ثابت را به فایل wp-config.php اضافه می کنیم:

define('WP_HOME', 'https://realwp.net');
define('WP_SITEURL', 'https://realwp.net');

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

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

برای تغییر نام پوشه wp-content ابتدا از بخش File Manager هاست خود آن را به نام دلخواه (انگلیسی) تغییر دهید ، من همیشه در برنامه نویسی وردپرس و پروژه ها آن را به نام public تغییر می دهم . حال میبایست وردپرس را از این تغییر مطلع کنیم. برای این کار دو ثابت جدید به فایل wp-config.php اضافه می کنیم:

define('WP_CONTENT_URL', WP_SITEURL . '/public');
define('WP_CONTENT_DIR', ABSPATH . '/public');

در این جا دو ثابت تعریف کردیم:

  1. ابتدا توسط ثابت WP_CONTENT_URL وردپرس را متوجه آن کردیم که از این پس تمامی آدرس های wp-content باید به public برای ما تغییر پیدا کنند ، در مقدار دهی آن نیز از WP_SITEURL استفاده کردیم.
  2. ثابت WP_CONTENT_DIR نیز آدرس فایل دهی سیستمی که برای PHP و اجرای عملیات آن نیاز هست هم به public تغییر پیدا کرد. دقت کنید ثابت ABSPATH در پایان فایل wp-config.php که اشاره به ریشه وردپرس دارد خودش تعریف شده است.

تغییر نام پوشه افزونه یا پلاگین (plugins) در وردپرس

به صورت پیش فرض پوشه plugins در داخل فولدر wp-content در وردپرس قرار دارد ، اما بهتر است کلا این پوشه را از داخل آن جدا کنیم و به ریشه وردپرس ببریم علت آن هم کم تر شدن آدرس دهی فایل ها می باشد که در بحث render شدن HTML و در نهایت افزایش سرعت وب سایت وردپرسی تاثیر فراوانی دارد. من طبق عادت این پوشه را در قسمت ریشه وردپرس انتقال می دهم و نام آن را addons می گذارم.
برای فهماندن این موضوع به وردپرس نیز مانند بالا وردپرس سه ثابت در اختیاز ما قرار داده است که در فایل wp-config.php قرار می دهیم:

define('WP_PLUGIN_DIR', ABSPATH . '/addons');
define('PLUGINDIR', ABSPATH . '/addons');
define('WP_PLUGIN_URL', WP_SITEURL . '/addons');

اگر دقت کرده باشین برای آدرس دهی مسیر فایل در افزونه وردپرس دو ثابت WP_PLUGIN_DIR و PLUGINDIR هست. این بخاطر تغییر در نسخه های جدید وردپرس هست یعنی وردپرس به یادگار و برای عدم تداخل در نسخه های قدیمی همچنان این ثابت دوم رو نگه داشته ما هم به قوانین آن احترام میگذاریم.

تغییر نام پوشه افزونه های جایگزین یا MU-Plugin در وردپرس

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

افزونه وردپرس حتما بخوانید : انواع افزونه وردپرس و دلیل پیدایش ساختار آن ها در هسته وردپرس

فولدر mu-plugins هم در ساختار پوشه های وردپرس در درون wp-content قرار داد .من طبق عادت این پوشه را به config تغییر می دهم و آن را در ریشه ی وردپرس Cut می کنم ( فولدر wp-content بیرون می آورم ). برای افزونه های جایگزین نیز وردپرس در هسته ی خود سه ثابت به ما معرفی کرده که آن را در فایل wp-config.php قرار می دهیم:

define('WPMU_PLUGIN_URL', WP_SITEURL . '/config');
define('WPMU_PLUGIN_DIR', ABSPATH . 'config');
define('MUPLUGINDIR', 'config');

تغییر نام پوشه رسانه ها Uploads در وردپرس

تمامی فایل هایی که به عنوان رسانه اعم از تصویر یا ویدیو که در وردپرس بارگزاری (upload) می کنید ، در پوشه wp-content/uploads قرار میگیرند ، حال چقدر خوب می شد که از همه ی آدرس ها این عبارت wp-content را برداریم و خروجی HTML ما تمیز تر و سرعت بالا برود .من برای پروژه ها فولدر uploads را از ین پوشه به بخش ریشه ی وردپرس منتقل می کنم و نام آن را هم به storage تغییر می دهم. برای آگاهی وردپرس از این تغییر نیز کافی هست این ثابت را اضافه کنیم:

define('UPLOADS', 'storage');

چه بلایی سر آدرس های رسانه های قبلی می آید؟

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

افزونه تغییر آدرس لینک در دیتابیس وردپرس

بعد از نصب افزونه از منوی ابزار ها وارد بخش شوید ، حال باید لینک های قبل و بعد را وارد کنید ، با توجه به ساختاری که ما برای وب سایت در مقاله چیدیم پس مقدار Search for را باید همان پیش فرض وردپرس بگذاریم:

https://realwp.net/wp-content/uploads/

و حال در قسمت Replace with نیز متد آدرس جدید را قرار می دهیم:

https://realwp.net/storage/

به همین راحتی بعد از اجرای دستور تمامی لینک ها جایگزین می شوند. اگرچه ربات های گوگل بسیار هوشمند شدن در زمنیه ی تغییر آدرس ها T ولی میتونید این کد هم در فایل functions.php قالب خودتون بزارید برای بحث ریدایرکت صحیح رسانه ها به آدرس جدید:

add_action('template_redirect', function() {

	$request_uri = $_SERVER['REQUEST_URI'];
	if (strpos($request_uri, '/wp-content/uploads/') === 0) {
		$new_url = str_replace('/wp-content/uploads/', '/storage/', $request_uri);
		wp_redirect(home_url($new_url), 301);
		exit;
	}
});

دقت کنید ویرایشگر گوتنبرگ چون با شناسه ی رسانه ها سر کار دارد ، حتی فکر این بخش هم کرده بود و با هر تغییری در فولدر هیچ مشکلی برای سایت شما ایجاد نمی شود 🙂

ایجاد پوشه جدید برای قالب های وردپرس

اگر به عنوان این بخش دقت کنید کلمه تغییر فولدر قالب را مشاهده نکردید !!! کاملا درست هست. وردپرس اجازه ی تغییر نام پوشه قالب ها که در آدرس wp-content/themes هست را توسط ثابت ها نمی دهد و این بر اساس مکانیزم هسته ی رودپرس می باشد. اما توسط توابع PHP امکان افزودن یک پوشه جدید برای مکان قالب های وردپرس کاملا امکان پذیر هست.

این کار بهتر است در Mu-Plugins ها انجام شود ، تا قبل از بارگزاری افزونه ها ، وردپرس از این امر کامل مطلع شده باشد. فرض کنید می خواهیم یک پوشه به نام template در ریشه ی وردپرس ایجاد کرده و آن معرفی کنیم. ابتدا در فولدر mu-plugins های خود یک فایل php به نام theme-dir.php ایجاد و سپس کد زیر را در آن قرار می دهیم:

register_theme_directory(ABSPATH . '/template');
add_filter('theme_root', function () {
    return ABSPATH . '/template';
});
add_filter('theme_root_uri', function () {
    return home_url('template');
}, 10, 1);

در این کد ابتدا یک پوشه جدید برای قالب ها توسط تابع register_theme_directory ایجاد کردیم سپس توسط هوک وردپرس ، مقدار آدرس دهی اصلی فولدر های قالب وردپرس را به پوشه template تغییر دادیم.

اگر تمامی تنظیمات را به درستی انجام داده باشید الان پوشه های وردپرس بدین شکل برای شما تغییر کرده اند:

ساختار جدید پوشه های وردپرس

ساختار بندی سریع پوشه در پروژه های وردپرس با WP-CLI

اگر در دوره جامع مدیریت وردپرس با خط فرمان یا WP-CLI که در سایت وردپرس واقعی وجود دارد شرکت کرده باشین ، ما توسط WordPress Package Management ها در همان ابتدای پروژه این ساختار را به راحتی تعریف می کنیم و نیازی به ویرایش دستی فایل wp-config.php نیست ، پیشنهاد میکنم اگر با این تکنولوژی آشنایی ندارید حتما در این دوره شرکت کنید.

ایجاد پروژه جدید وردپرس در wp-cli

مطلب رو به اشتراک بگذارید
۹دیدگاه
در بحث‌‌ پیرامون این مقاله شرکت کنید!
ارسال دیدگاه
  • avatar

    عبداللهی

    سه‌شنبه 4 شهریور 1404 8:48 ب.ظ

    سلام وقت شما بخیر جناب مهندس

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

    با توجه به این آموزش تون چنانچه ما بخوایم محتوای رسانه وردپرس که شامل فایل های استاتیک می شود را در ساب دامنه سایت به شکل زیر برای ویدئو ها و عکس ها و داکیومنت ها و فایل های دانلودی و هر نوع فایل دیگری به صورت پوشه بندی مدیریت و همچنین در افزونه های مثل لایت اسپید و کلوفلر تنظیمات CDN را برای این محتوا ها که در ساب دامنه قرار میگیرد کش کنیم کد های که در فایل wp-config توضیح دادید چگونه باید پیکربندی شود؟

    static.domain.com/storge/uploads/images/2025/12
    static.domain.com/storge/uploads/videos/2025/12
    static.domain.com/storge/uploads/edd/2025/12
    ...

    ممنون میشوم در این خصوص راهنمایی لازم رو بفرمائید و همچین بفرمائید که آیا این مورد برای بهبود سرعت بارگزاری محتوای سایت توصیه میشود و بهتر هست یا خیر؟

    • مهرشاد درزی

      مهرشاد درزی

      چهارشنبه 5 شهریور 1404 5:38 ب.ظ

      در صورتی که فایل ها در یک سرور دیگر باشند باید مکانیزم انتقال فایل ها برنامه نویسی شود. به همین دلیل هست که افزونه زیر توسط تیم ما برنامه نویسی شده است:
      https://realwp.net/product/wp-remote-host/
      پاسخ سوال دوم شما صددرصد آری می باشد چون فشار از روی سرور وردپرس برداشته می شود.

  • avatar

    عبداللهی

    چهارشنبه 5 شهریور 1404 10:12 ب.ظ

    سلام و وقت بخیر مجدد خدمت شما جناب مهندس خیلی ممنونم از پاسخگویی شما

    در حال حال حاضر اگر بخوایم از خود ساب دامنه اصلی سایت برای قرار دادن پوشه آپلود ها استفاده کنیم ممنون میشم در پایان همین آموزش تون یا همین دیدگاه این موضوع رو هم توضیح دهید که کدهای تنظیمات پیکربندی فایل wp-config برای آدرس ساب دامنه به چه شکل تغییر میکند متاسفانه در این خصوص بنده نتونستم آموزش درستی از سایت های داخلی و خارجی پیدا کنم.

    https://cdn.domain.com/media/2025/12

    (mediaدر واقع همان پوشه upload بوده است که آموزش ها فرمودید می توان نام آن را تغییر داد.)

  • avatar

    سارا تویسرکانی

    جمعه 4 مهر 1404 10:24 ب.ظ

    سلام وقت شما بخیر جناب

    یک سوال طبق توضیحات و ویدئو آموزشی تون اگر بخوایم داخل پوشه آپلود ها که فرمودید اسمش رو به storage تغییر میدید اگر بخوایم یک زیر پوشه درون آن ایجاد شود و آپلود فایل ها درون آن باشد دستور cli و تنظیم دستی فایل wp-config به چه شکل می شود؟

    مچکر

  • avatar

    سارا تویسرکانی

    پنجشنبه 13 آذر 1404 4:22 ب.ظ

    سلام وقت شما بخیر جناب درزی

    با توجه به آپدیدت جدید وردپرس 6.9 گویا تغییراتی در api وردپرس رخ داده و فایل ایجاد شده توسط پکیج خط فرمان به هنگام نصب با این خطا مواجه میشود باید چه کرد؟

    - Error connecting to WordPress.org API. Please check your internet connection and try again.

    • مهرشاد درزی

      مهرشاد درزی

      شنبه 15 آذر 1404 10:28 ق.ظ

      این خطا به معنای خطای اتصال اینترنت شما می باشد

  • avatar

    سارا تویسرکانی

    شنبه 15 آذر 1404 11:24 ب.ظ

    سلام جناب مهندس

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

  • avatar

    سارا تویسرکانی

    شنبه 15 آذر 1404 11:31 ب.ظ

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

    باتشکر و قدردانی

  • avatar

    سارا تویسرکانی

    یکشنبه 16 آذر 1404 0:22 ق.ظ

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

پرفروش ترین افزونه های وردپرس

گشترس امکانات وردپرس با اتصال به سرویس های همسو

اتصال استاندارد رسانه های وردپرس ، فایل های ووکامرس ، EDD و گرویتی فرم به هاست دانلود

افزایش هشتاد درصدی سرعت وب سایت های وردپرس با اتصال تصاویر ، ویدیو ، صوت و فایل های فروشگاه ووکامرس ، Easy Digital Downloads و گرویتی فرم به هاست دانلود با قابلیت تغییر لینک اتوماتیک رسانه ها در محتوا و محافظ از سرقت فایل فروشی
۶,۰۰۰,۰۰۰ ۳,۸۷۰,۰۰۰ تومان

اتصال نرم افزار حسابداری سپیدار همکاران سیستم به افزونه ووکامرس به همراه پکیج وب سرویس دو طرفه

اتصال دو طرفه بخش انبارداری یا محصولات و فاکتور های نرم افزار حسابداری سپیدار از شرکت همکاران سیستم با افزونه فروشگاه ساز ووکامرس ، همراه با قابلیت بروزرسانی هماهنگ موجودی ها و قیمت های محصول ، ایجاد فاکتور های اتوماتیک به نام مشتریان وردپرس در نرم افزار حسابداری
۴۵,۰۰۰,۰۰۰ ۳۸,۷۶۰,۰۰۰ تومان

اتصال نرم افزار حسابداری راهکاران همکاران سیستم به افزونه فروشگاه ساز ووکامرس

اتصال دو طرفه بخش انبارداری یا محصولات ، مشتریان و فاکتور های نرم افزار حسابداری راهکاران از شرکت همکاران سیستم با افزونه فروشگاه ساز ووکامرس ، همراه با قابلیت بروزرسانی هماهنگ موجودی ها و قیمت های محصول ، ایجاد فاکتور های اتوماتیک به نام مشتریان وردپرس در نرم افزار حسابداری
۶۰,۰۰۰,۰۰۰ ۴۸,۴۳۰,۰۰۰ تومان

اتصال و هماهنگی دو یا چند وب سایت فروشگاه ووکامرس

اتصال و یکپارچه سازی اطلاعات کامل محصولات (متغیر ، ساده ، خارجی و ..) ، مدیریت لیست سفارشات بین یک یا چند فروشگاه ووکامرسی با قابلیت وب هوک و ثبت تغییرات آنی و ایجاد عملیات گروهی ثبت یا ویرایش محصولات بین سایت ها در سریع ترین زمان
۸,۸۳۰,۰۰۰ ۴,۶۴۰,۰۰۰ تومان

اتصال یک یا چند پنل فروشندگان دیجی کالا به افزونه فروشگاه ساز ووکامرس

اتصال و هماهنگی بخش محصولات ، و سفارشات پنل فروشندگان دیجی کالا با افزونه فروشگاه ساز ووکامرس ، همراه با قابلیت بروزرسانی هماهنگ موجودی ها و قیمت های محصول و مدیریت لیست سفارشات دیجی کالا در مدیریت وردپرس
۲,۸۰۰,۰۰۰ ۲,۴۳۰,۰۰۰ تومان

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

اتصال دو طرفه بخش انبارداری یا محصولات ، مشتریان و فاکتور های نرم افزار حسابداری هلو با افزونه فروشگاه ساز ووکامرس ، همراه با قابلیت بروزرسانی هماهنگ موجودی ها و قیمت های محصول ، ایجاد فاکتور های اتوماتیک به نام مشتریان وردپرس در نرم افزار حسابداری
۲۵,۰۰۰,۰۰۰ ۱۸,۳۴۰,۰۰۰ تومان
آکادمی وردپرس واقعی

دوره جامع مدیریت حرفه ای استارتاپ های وردپرس با خط فرمان و ابزار پکیج منیجر

در دوره جامع WP-CLI یاد خواهید گرفت، به شکل کاملا حرفه ای و با سرعت بیش تر یک یا چند وب سایت وردپرسی خود را مدیریت کنید.عملیات تکراری در مدیریت وردپرس را برای کاهش هدر رفت زمان خود سیستم سازی کنید. وردپرس شما در حین کار با خط فرمان فشار کم تری به سرور ایجاد می کند و این رویکرد می تواند وب سایت شما را بدون نقص و با سرعت عالی ارائه دهد
  • محتوای آموزشی: ۴۶ جلسه آموزشی شامل ۱۶ ساعت ویدیو آموزشی به همراه تمرینات و فایل PDF خلاصه محتوا
  • پروژه عملی دوره: نصب و مدیریت کامل بخش های یک استارتاپ وردپرس در هاست
  • کلاس رفع اشکال: کلاس آنلاین ۳۰ دقیقه ای در پایان دوره به صورت کاملا خصوصی با استاد درزی برای تثبیت محتوا و رفع اشکالات دانشجو
۵,۶۹۷,۰۰۰ تومان
پشتیبانی وردپرس واقعی