قم بإنشاء ملحقات WordPress باستخدام تقنيات OOP
يمكن أن تساع التعليب الخاص بك ، التعليب للكائنات ، من بين أشياء خرى ، فيا ° ظ Law ، رمكاني Pit إعادة الا Planned إ .. في هذا البرنامج التعليم Law ، سوف أعلمك أساسيات سنستخدم dribbble API كمثال لهذا البرنامج التعلي. مستعد؟
ما نحن بصدد تعلمه:
-
- فوائد استخدام OOP لملحقات WordPress.
-
- كيفية إعداد رمز قصير.
-
- كيفية إعداد علامة قالب.
-
- الرمز المختصر في أدوات WordPress.
-
- التقطر.
لقد قمت بتحسين مكونات ونسخ ملفات وورد إضافية و اكثر.
لماذا تستخدم OOP؟
قبل المضي قدمًا في البرنامج التعليم ، ي ي ي ، يميل إلى الحصول على ما تريده من برنامجًا تعليميًا حول “كيفية كتاب” اعطها قراءة.
تم إنشاء مكونات WordPress ، التعليمة البرمجية ، التعليمة البرمجية للكائنات الفعالة ، والكائنات الفعالة للكائنات الفعالة من أجل الحصول على العديد من الكائنات الحية. للذكرى السنوية للذكرى السنوية. من الأسهل إدارة قاعدة الشفرة وتوس باستخدام تقنيات (
دريبل
لكتابة ملحق WordPress ، نحتاج أولاً إلى إحساس بالاتجاه. سنقوم بكتابة إضافية إضافية ستضيف هذا سنضيف بعد ذلك دعمًا للرمز القصير للمشاركات والأدوات ، وعلامة المناقشة.
اقرا ايضا: 10 مارس 2022
1. فئة البرنامج المساعد
يعتمد الكود الكينوني على الفئات والطرق (الوظائف). ووردبريس.
<?php class WPDribbble { public function __construct() { } } $wpDribbble = new WPDribbble();
PHP على دالة مُنشئ ، __construct
، يتم إنشاء مثيل جديد للفئة. تسجيل أعلى أدوات وفلاتر WordPress تحت مُنشئ فئة البرنامج المساعد الخاا ؆. دعنا نمضي قدمًا ونسجلًا قصيرًا للمكوِّن الإضافي الخاصبنا. ال add_shortcode()
الوظيفة / الخطاف سيخضعان لدالة المُنشئ.
يتم تسجيل المثيل الجديد للفئة new
كلمة رئيسية. الرجوع إلى السطر الأخير في الكود.
<?php class WPDribbble { public function __construct() { add_shortcode('Dribbble', array($this, 'shortcode')); } public function shortcode() { } } $wpDribbble = new WPDribbble();
add_shortcode
:
لاحظ كيف يعني مصفوفة في معامل وظيفة رد الاتصال؟ لتسجيل وظائف مقابل كائن ، علينا استخدام مصفوفة.
البقرة من المصفوفة ، المرغوبة ، عبر $this
. الحلقة الثانية في المصفوفة هي اسم الطريقة داخل الصنف. يجب الإشارة إلى جميع الخطافات والمرشحات بهذا الشكل عندما تكون داخل ا.
وهكذا ، كلما كان Dribbble
ينبغي تنفيذ الرمز ، فسيستدعي shortcode
طريقة WPDribbble
صف دراسي.
لازلت مشوش؟
<?php # 1. Standard usage add_shortcode('shortcode_name', 'shortcode_func'); function shortcode_func() { // Contents of this function will execute when the blogger // uses the [shortcode_name] shortcode. } # 2. With PHP 5.3, we can pass an anonymous function. add_shortcode('shortcode_name', function() { // Contents of this function will execute when the blogger // uses the [shortcode_name] shortcode. }); #3. Within a class class WPDribbble { public function __construct() { add_shortcode('Dribbble', array($this, 'shortcode')); } public function shortcode() { // Contents of this function will execute when the blogger // uses the [shortcode_name] shortcode. } }
2. Dribbble API
تصميم الافًبيقا × لواجج برمجة الافًبيقا × لواجج برمجة الافًبيقا × لواجج برمجة الافًبيقا × لواجج برمجة الافً لواجج برمجة الافًبيقا × لواجج برمجة الافًبيقا. توجد مكتبة متاحة للحصول على مسح ضوئي ، ولكن من أجل الحصول على البرنامج التعليمي Cessi ، سنكتب مكتبة خاصةبنا. سيساعدك هذا على فهم المفاهيم الكامنة وراء هذا البرنامج التعليمي.
سنقوم بكتابة ملف DribbbleAPI
الأنماط getPlayerShots()
للتفاعل مع Dribbble API وإرجاع مجموعة من أحدث اللقطات.
تم طلبه مسبقًا DribbbleAPI.php
<?php class DribbbleAPI { // url to Dribbble api protected $apiUrl=" }
في ال DribbbleAPI
الفصل ، وين وين متغير الفئة التالي:
-
$apiUrl
الرابط إلى Dribbble API ، حيث
نبدأ الخاصية أو اسم المتغير بـ public
إمكانية الاستفادة من قيمة هذه الخاصية من الفصل الدراسي. إذا كنا ige protected
بادئة. يشار إلى هذه باسم باسم. في حالتنا ، حددنا $apiUrl
الملكية للبيع protected
منشأه.
لدينا القاعدة الجاهزة لغلاف Dribbble API الخاص بنا. الآن ، سنقوم بكتابة عملية جديدة getPlayerShots()
. تم البحث عن واجهة برمجة التطبيقات وتحويل النتيجة إلى مصفوفة ver
<?php class DribbbleAPI { // url to Dribbble api protected $apiUrl=" public function getPlayerShots(int $user, int $perPage = 15) : array { $json = wp_remote_get($this->apiUrl . 'players/' . $user . '/shots?per_page=" . $perPage); $array = json_decode($json["body']); $shots = $array->shots; return $shots; } }
تعلم المزيد عن wp_remote_get.
ال getPlayerShots
الطريقة لها حجتين. الوسيطة هي معرف المستخدم ، والذي يستخدمه في عنوان url الخاص بواجهة برمجة التطبيقات. والوسيطة الثانية هي القيمة النهائية التي سيتم استخدامها في لترقية الستارة ٧ سج.
ال getPlayerShots
طريقة استخدام WordPress wp_remote_get
وظيفة للاستعلام عن Dribbble API. واجهة برمجة التطبيقات (ap) json_decode
وظيفة؟ return
كلمة رئيسية.
API في الوقت الحالي – مجرد مجموعة من لقطات اللاعبين. إذا احتجنا إلى مزيد من الوظائف في المستقبل ، فيمكنا المزيد من الطرق إلى الفصل المزيد ، الأبناء إنش شيون. مرة أخرى ، يشار إلى هذا باسم الميراث.
3. دمج DribbbleAPI
فصل
هذا هو الجزء الممتع ؛ المخبوزات DribbbleAPI
سوف تدخل حيز الاستخدام. سنقوم بتكرار اللذيذة من واجهة برمجة التطبيقات ، ونشئ قائمة html باللقطا ypt. ثناء الحلقة ، سيتمخخخين صور Dribbbble 2013 الحجم مؤقتًا xx في مجلد البرنامج المساع ° ، ، وسي Ec إنشاء الصور ا الذكرى .. يمكنك مراجعة هذا التسجيل وتثبيتها. يمكنك أيضًا استخدام اختيارك لمكتبة معالجة الصور بيع بالتجزئة صو asser getImages
طريقة.
حددت الصورة الكاملة المحفوظة بالفعل. URL للملف كف. لهذا الغرض ، سننشئ متغيرين للفئة pluginPath
و pluginURL
في منطقتنا WPDribbble
class ، ثم قاع قيمها من داخل الباني.
سنقوم أيضًا بالملف dribbbleApiObject
متغير لعقد DribbbleAPI
، عليه يحكم عليه لاحقًا في getImages
طريقة. من المهم أن نلاحظ أنه يتعين علينا أن نحترمها DribbbleAPI
أريد أن أجيب على قيد الحياة WPDribbble
صف دراسي.
ضبط متغيرات الفئة
<?php class WPDribbble { protected $pluginPath; protected $pluginUrl; protected $dribbbleApiObject; public function __construct(DribbbleAPI $dribbbleApiObject) : void { // Set Plugin Path $this->pluginPath = dirname(__FILE__); // Set Plugin URL $this->pluginUrl = WP_PLUGIN_URL . '/wp-Dribbble'; // Init DribbbleAPI Object $this->dribbbleApiObject = $dribbbleApiObject; add_shortcode('Dribbble', array($this, 'shortcode')); } }
ال getImages()
طريقة
قم بقراءة طريقة جديدة داخل WPDribbble
فئة getImages.
داخل الفصل ، يمكنك استخدام أسماء عامة للوظائف. لن التعادل.
public function getImages($user, $images = 3, $width = 50, $height = 50, $caption = true) { }
-
- مستخدم $ – المستخدم الخاص بـ Dribbble.
$user
سيتم عند تسجيل مثيل جديد منDribbbleAPI
صف دراسي.
- مستخدم $ – المستخدم الخاص بـ Dribbble.
-
- صور – عدد الصور المراد عرضها.
$images
سيتم عند الاستعلام عن APIgetPlayerShots
طريقة.
- صور – عدد الصور المراد عرضها.
-
- عرض دولار دولار – تخيل أنه سيتم بيعه للبيع بالتجزئة صور مصغرة.
-
- التسمية التوضيحية – خيار تقديم عنوان الصورة.
بعد ذلك ، سنقوم بتضمين ملف DribbbleAPI
فئة في WPDribbble
plugin ، حتى نتمكن من إنشاء مثيل جديد منه لالتقاط اللقطات.
... require_once __DIR__ . '/DribbbleAPI.php'; ...
بعد ذلك ، لنقم مثيل DribbbleAPI
انتظري ، انتظري WPDribbble
صف دراسي.
... ... $wpDribbble = new WPDribbble(new DribbbleAPI()); ... ...
كما ذكرنا سابقًا ، سنقوم بالمرور عبر ملف $shots
الصفحة الرئيسية الخاصة بالحجم المحلي. تخيل ، قم بإنشالد. سنستخدم صور كاملة حقوق الصور بالحجم الكامل ، و مخبأ للصور
سيتم إنشاء HTML داخل الملف $shots
عقدة.
public function getImages(int $user, int $images = 3, int $width = 50, int $height = 50, bool $caption = true) : string { $shots = $this->dribbbleApiObject->getPlayerShots($user, $images); if($shots) { $html[] = '<ul class="wp-Dribbble">'; foreach($shots as $shot) { $image = $shot->image_url; // url of the image $fileName = $shot->id . '.png'; // generating a filename image_id.png $thumbFileName="thumb_" .$shot->id . '.png'; $destThumbFilePath = $this->pluginPath . '/cache/' . $thumbFileName; if (!file_exists($this->pluginPath . '/full-images/' . $fileName)) { // check if the full image exists $rawImage = wp_remote_get($image); // get the full image $newImagePath = $this->pluginPath . '/full-images/' . $fileName; $fp = fopen($newImagePath, 'x'); fwrite($fp, $rawImage['body']); // save the full image fclose($fp); } // generate thumbnail url $imagine = new \Imagine\Gd\Imagine(); $image = $imagine->open($newImagePath); $thumbnail = $image->thumbnail(new Imagine\Image\Box($width, $height)); $thumbnail->save($destThumbFilePath); $destThumbURL = $this->pluginUrl . '/cache/' . $thumbFileName; if($caption) { // if caption is true $captionHTML = '<p class="wp-Dribbble-caption">' . $shot->title . '</p>'; } // combine shot url, title and thumbnail to add to the ul list $html[] = '<li class="wp-Dribbble-list"><a href="' . $shot->url . '" title="' . $shot->title . '"><img src="' . $destThumbURL . '" alt="' . $shot->title . '" /></a>'.$captionHTML.'</li>'; } $html[] = '</ul>'; return implode("\n", $html); }
إضافة الفصول
من الجيد إضافة عبد إلى عنصر عناصر المكون الإضافي. يوفر هذا توفير مزيد من الخدمات المتاحة. تجنب استخدام CSS المضمنة للمباني الخاصة.
4. إعداد الكود القصير
تسمح الكتابة القصيرة ، كما يوحي الاسم ، للمس ، خدمين ، محتوى محتوى معقد
لدينا بالفعل add_shortcode
الخطاف جاهز في برنامج المساعد الخاص بنا. الآن ، سنقوم بكتابة الرمز القصير method
داخل class
استخدم ملف Dribbble getImages()
طريقة.
سنقوم بالاتصال بالرمز المختصر الخاص بنا [Dribbble]
. اسم الرمز القصير المعلمة الأولى ف add_shortcode
وظيفة. علامات الاقتباس getImages()
طريقة. فمثلا: [Dribbble user=haris images=5 width=100 height=100 caption=true]
.
public function shortcode($atts) { // extract the attributes into variables extract(shortcode_atts(array( 'images' => 3, 'width' => 50, 'height' => 50, 'caption' => true, ), $atts)); // pass the attributes to getImages function and render the images return $this->getImages($atts['user'], $images, $width, $height, $caption); }
لأدوات WordPress
وورد يكتب القصيرة ، ومع ذلك widget_text
يتم تضمين جميع العناصر في WordPress.
إضافة عامل التصفية في ملف WPDribbble
منشئ
public function __construct(DribbbleAPI $dribbbleApiObject) : void { // Set Plugin Path $this->pluginPath = dirname(__FILE__); // Set Plugin URL $this->pluginUrl = WP_PLUGIN_URL . '/wp-Dribbble'; add_shortcode('Dribbble', array($this, 'shortcode')); // Add shortcode support for widgets add_filter('widget_text', 'do_shortcode'); $this->dribbbleApiObject = $dribbbleApiObject; }
5. إعداد القالب النموذجي
ووردبريس. سيكون الرئيسي الأساسي لعلامة القالب هو إنشاء مثيل جديد من WPDribbble
لاعبون getImages()
طريقة. بي أتش بي أن يكون لها اسم فريد ؛ خلاف ذلك ، يظهر سيتعارض مع الوظائف / الإضافات التي تحمل اسمًا مشابهًا. منذ أن تم استدعاء البرنامج المساعد الخاص بنا WP-Dribbble
، سوف نسمي علامة القالب ، wp_Dribbble()
.
function wp_Dribbble($user, $images = 3, $width = 50, $height = 50, $caption = true) { $wpDribbble = new WPDribbble(new DribbbleAPI()); echo $wpDribbble->getImages($user, $images, $width, $height, $caption); }
هاهو!
تهانينا! لقد كتبت بنجاح إضافة WordPress مع OOP. إذا كانت لديك أسئلة ، فيرجى إبلاغي بها وسأبذل جهدي لمساعدتك.
Source link