رفتن به مطلب

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


پست های پیشنهاد شده

با سلام خدمت دوستان گل وردپرسی :)

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

لینک به ارسال

یعنی وقتی پوسته نصب میکیند افزونه هایی هم نصب بشن ؟

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

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

لینک به ارسال

پس این پوسته های فروشگاهی که برخی افزونه ها رو هم همراه با خودشون نصب میکنن چطوریه؟!

لینک به ارسال

نصب نمیکنن به قول آقا کسرا هک رو درون خود قالب میزارن.

مثلا اسلایدر ها رو بدون افزونه نصب میکنن.(درون خود پوسته میزارن)

لینک به ارسال

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

گری جونز یه پلاگین برای این کار ساخته.

فایل پیوست رو از حالت زیپ خارج کنید و در پوشه ی پوسته خودتون قرار بدید:

face-off.zip

در فایل functions.php تابع زیر را قرار بدید:


require_once dirname( __FILE__ ) . '/class-tgm-plugin-activation.php';
add_action( 'tgmpa_register', 'my_theme_register_required_plugins' );
function my_theme_register_required_plugins() {
$plugins = array(
array(
'name' => 'پلاگین خوب برای بچه های خوب',
'slug' => 'good-plugin',
'source' => get_stylesheet_directory() . '/lib/plugins/good-plugin.zip',
'required' => true,
'version' => '',
'force_activation' => false,
'force_deactivation' => false,
'external_url' => '',
),
array(
'name' => 'BuddyPress',
'slug' => 'buddypress',
'required' => false,
),

);

$theme_text_domain = 'tgmpa';

$config = array(
'domain' => $theme_text_domain,
'default_path' => '',
'parent_menu_slug' => 'themes.php',
'parent_url_slug' => 'themes.php',
'menu' => 'install-required-plugins',
'has_notices' => true,
'is_automatic' => false,
'message' => '',
'strings' => array(
'page_title' => __( 'نصب پلاگین های مورد نیاز', $theme_text_domain ),
'menu_title' => __( 'نصب پلاگین ها', $theme_text_domain ),
'installing' => __( 'نصب پلاگین: %s', $theme_text_domain ),
'oops' => __( 'خطایی در API پلاگین رخ داده است.', $theme_text_domain ),
'notice_can_install_required' => _n_noop( 'این پوسته نیاز به نصب این افزونه ها دارد: %1$s.', 'این پوسته به پلاگین های زیر نیاز دارد: %1$s.' ),
'notice_can_install_recommended' => _n_noop( 'پلاگین های زیر برای این پوسته پیشنهاد می شوند: %1$s.', 'پلاگین های زیر برای این پوسته پیشنهاد می شوند: %1$s.' ),
'notice_cannot_install' => _n_noop( 'شما مجوز کافی برای نصب این پلاگین را ندارید. می توانید در صورت نیاز با مدیر سایت تماس بگیرید', 'شما مجوز کافی برای نصب این پلاگین را ندارید. می توانید در صورت نیاز با مدیر سایت تماس بگیرید' ),
'notice_can_activate_required' => _n_noop( 'پلاگین های ضروری زیر در حال حاضر غیر فعال می باشند: %1$s.', 'پلاگین های ضروری زیر در حال حاضر غیر فعال می باشند: %1$s.' ),
'notice_can_activate_recommended' => _n_noop( 'پلاگین های پیشنهادی زیر در حال حاضر غیرفعال می باشند: %1$s.', 'پلاگین های پیشنهادی زیر در حال حاضر غیرفعال می باشند: %1$s.' ),
'notice_cannot_activate' => _n_noop( 'شما مجوز کافی برای نصب این پلاگین را ندارید. می توانید در صورت نیاز با مدیر سایت تماس بگیرید', 'شما مجوز کافی برای نصب این پلاگین را ندارید. می توانید در صورت نیاز با مدیر سایت تماس بگیرید' ),
'notice_ask_to_update' => _n_noop( 'پلاگین های زیر نیاز به به روز رسانی دارند: %1$s.', 'پلاگین های زیر نیاز به به روز رسانی دارند: %1$s.' ),
'notice_cannot_update' => _n_noop( 'شما مجوز کافی برای نصب این پلاگین را ندارید. می توانید در صورت نیاز با مدیر سایت تماس بگیرید', 'شما مجوز کافی برای نصب این پلاگین را ندارید. می توانید در صورت نیاز با مدیر سایت تماس بگیرید' ),
'install_link' => _n_noop( 'آغاز نصب افزونه', 'آغاز نصب افزونه' ),
'activate_link' => _n_noop( 'فعال سازی افزونه', 'فعال سازی افزونه ها' ),
'return' => __( 'بازگشت به نصب کننده پلاگین های ضروری', $theme_text_domain ),
'plugin_activated' => __( 'پلاگین با موفقیت فعال شد', $theme_text_domain ),
'complete' => __( 'تمام پلاگین ها با موفقیت نصب و فعال شدند. %s', $theme_text_domain ),
'nag_type' => 'به روز شد'
)
);

tgmpa( $plugins, $config );
}

در صورت انجام این دو کار در پنل وردپرس و در بخش نمایش تغییراتی رو خواهید دید.

در این مثال دو افزونه تعبیه شدند: "افزونه های خوب برای بچه های خوب" و "BuddyPress" که شما به راحتی می تونید تغییرشون بدید.

اما این افزونه ها رو در کجا باید قرار بدید؟ درون پوشه ی پوسته و طبق آنچه که در تابع می بینید در مسیر:


'source' => get_stylesheet_directory() . '/lib/plugins/good-plugin.zip',

که شما می تونید تغییرش بدید

ویرایش شده توسط isk
لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...