PDA

View Full Version : حرفه ای: قابلیت پلاگین



n0o0b_sina
چهارشنبه 19 آذر 1393, 01:19 صبح
سلام خدمت همه ی استادان گرامی
دوستان من یه cms تقریبا کامل نوشتم برای پروژه های شخصی خودم خوشبختانه همه ی قسمتها کامله و نقصی نداره به غیر از اضافه کردن قابلیت پلاگین که خودمو کشتم یاد نگرفتم :)
همینطور که همه ی دوستان اطلاع دارن مثلا برای اضافه کردن post type جدید به وردپرس از این (http://http://codex.wordpress.org/Post_Types) لینک و توابع:
register_post_type

و
add_action( 'init', 'create_post_type' );

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

perkas
چهارشنبه 19 آذر 1393, 06:11 صبح
سلام خدمت همه ی استادان گرامی
دوستان من یه cms تقریبا کامل نوشتم برای پروژه های شخصی خودم خوشبختانه همه ی قسمتها کامله و نقصی نداره به غیر از اضافه کردن قابلیت پلاگین که خودمو کشتم یاد نگرفتم :)
همینطور که همه ی دوستان اطلاع دارن مثلا برای اضافه کردن post type جدید به وردپرس از این (http://http://codex.wordpress.org/Post_Types) لینک و توابع:
register_post_type

و
add_action( 'init', 'create_post_type' );

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

من تازه کارم تو php ولی برای این کار من از یه شیوه استفاده میکنم که نمیدونم تا چه حد استاندارد و منطقیه

مثلا نوار سمت راست رو در نظر که بگیرین در حالت عادی چند افزونه داره که اونها رو includ میکنم
افزونه هایی رو هم که میخوام بعدا اضافه کنم باز هم از همین شیوه اینکلود میکنم که نامشون رو یا از دیتابیس میگیرم یا از خوندن پوشه های درون پوشه پلاگین ( یعنی افزونه رو بعد از طراحی درون پوشه پلاگین میذارم و بعد اینکلود میکنم و برای اینکلود هم کد فورایچ مینویسم و با بدست آوردن نام پلاگینها ( یا از دیتابیس یا از بدست آوردن نام پوشه ها ) تو قسمتی که میخوام میچینمشون همچنین میشه رکوردی هم تو دیتابیس برای ترتیب قرارگیری درج کرد و ....)

n0o0b_sina
چهارشنبه 19 آذر 1393, 14:31 عصر
نه منظوره من اینجوری نیست، منظوره من پلاگین نویسی بدون دست کاری توی هسته ی cms است :)
مثلا وقتی برای وردپرس افزونه مینویسیم دیگ با هسته ی وردپرس کاری نداریم و یسری توابع کار اضافه کردن بخش های مختلف رو انجام میدن که از قبل توی هسته ی وردپرس تعریف شدن مثل همین تابع بالایی و دیگ به
includ نیازی نیست.
بازم ممنون از پاسختون

Unique
چهارشنبه 19 آذر 1393, 16:42 عصر
از Hooks استفاده کنید ! خود Wordpress هم همینکار را میکنه. این کلاس (https://github.com/bainternet/PHP-Hooks) به دردتون میخوره.

n0o0b_sina
چهارشنبه 19 آذر 1393, 18:32 عصر
از Hooks استفاده کنید ! خود Wordpress هم همینکار را میکنه. این کلاس (https://github.com/bainternet/PHP-Hooks) به دردتون میخوره.
سلام
خیلی کمک کردید مخصوصا که اسمشو فهمیدم خودم میرم پیدا میکنم کی به کیه :)
فقط اگه ممکنه یه راهنمایی هم بکنید:
مثلا ما یه function میسازیم با یسری اطلاعات خاص مثل:

register_post_type($posttypename, $args)
این action های وردپرس اطلاعات $args و $posttypename رو چطوری میگیره؟ یعنی مقداری که برمیگردونه رو چاپ میکنه؟ یا از چند تا action دیگ توی همین استفاده میکنه تا بتونه یه post type با چند تا صفحه متفاوت ایجاد کنه؟ فکر کنم بحث oop رو خوب درک نکردم.
واقعا ممنونم ازتون، اجرتون با خدا به واسطه ی امام حسین

Unique
پنج شنبه 20 آذر 1393, 01:31 صبح
متاسفانه فقط در موردش مطالعه داشتم و چند خط کد تستی ! چون پروژه عملی نداشتم کمک بیشتری نمیتونم بکنم اما یکی از راه حل های پر استفادش همین Hooks هست و از این مطمئنم.