يوفر Poet نوع منشور بسيط يعتمد على التكوين والتصنيف ولوحة ألوان المحرر وفئة الكتلة ونمط الكتلة وتسجيل/تعديل الكتلة.
Tools
باستخدام الارتباط الثابت للصفحة. التثبيت عبر الملحن:
$ composer require log1x/poet
ابدأ بنشر ملف تكوين Poet باستخدام Acorn:
$ wp acorn vendor:publish --provider= " Log1xPoetPoetServiceProvider "
كل الإعدادات المتعلقة بـ Poet موجودة في config/poet.php
. ستجد هنا مثالاً لنوع منشور الكتاب الذي تم تكوينه مسبقًا مع بعض الإعدادات الشائعة:
' post ' => [
' book ' => [
' enter_title_here ' => ' Enter book title ' ,
' menu_icon ' => ' dashicons-book-alt ' ,
' supports ' => [ ' title ' , ' editor ' , ' author ' , ' revisions ' , ' thumbnail ' ],
' show_in_rest ' => true ,
' has_archive ' => false ,
' labels ' => [
' singular ' => ' Book ' ,
' plural ' => ' Books ' ,
],
],
],
في أبسط أشكاله، يمكن إنشاء نوع المنشور ببساطة عن طريق تمرير سلسلة:
' post ' => [
' book ' ,
],
لتعديل نوع منشور موجود، ما عليك سوى التعامل معه كما لو كنت تقوم بإنشاء نوع منشور جديد مع تمرير خيارات التكوين التي ترغب في تغييرها فقط:
' post ' => [
' post ' => [
' labels ' => [
' singular ' => ' Article ' ,
' plural ' => ' Articles ' ,
],
],
],
من الممكن أيضًا إلغاء تسجيل نوع منشور موجود بمجرد تمرير false
:
' post ' => [
' book ' => false ,
],
برجاء ملاحظة أن بعض أنواع المنشورات المضمنة (مثل المنشورات) لا يمكن إلغاء تسجيلها بالطريقة التقليدية.
للحصول على خيارات تكوين إضافية لأنواع المنشورات، يرجى الاطلاع على:
register_post_type()
register_extended_post_type()
ملاحظة : لا تقم بدمج التكوين في مفتاح
config
كما هو موضح في وثائق CPTs الموسعة.
تسجيل التصنيف يشبه نوع المنشور. بالنظر إلى config/poet.php
، سترى تصنيفًا للنوع مصاحبًا لنوع منشور الكتاب الافتراضي:
' taxonomy ' => [
' genre ' => [
' links ' => [ ' book ' ],
' meta_box ' => ' radio ' ,
],
],
خيار التكوين الأكثر صلة هو links
التي تحدد نوع المنشور الذي يرتبط به التصنيف. إذا لم يتم تحديد أي رابط، فسيتم post
بشكل افتراضي.
لعرض أرشيف لتصنيف النوع، انسخ قالب Blade المسمى archive.blade.php
إلى ملف جديد يسمى taxonomy-genre.blade.php
.
في أبسط أشكاله، يمكنك ببساطة تمرير سلسلة. المثال أدناه سينشئ تصنيف موضوع لنوع منشور المنشور:
' taxonomy ' => [
' topic ' ,
],
كما هو الحال مع أنواع المنشورات، لتعديل تصنيف موجود، ما عليك سوى تمرير خيارات التكوين التي ترغب في تغييرها فقط:
' taxonomy ' => [
' category ' => [
' labels ' => [
' singular ' => ' Section ' ,
' plural ' => ' Sections ' ,
],
],
],
كما هو الحال أيضًا مع أنواع المنشورات، يمكنك بسهولة إلغاء تسجيل تصنيف موجود ببساطة عن طريق تمرير false
:
' taxonomy ' => [
' post_tag ' => false ,
' category ' => false ,
],
للحصول على خيارات تكوين إضافية للتصنيفات، يرجى الاطلاع على:
register_taxonomy()
register_extended_taxonomy()
ملاحظة : لا تقم بدمج التكوين في مفتاح
config
كما هو موضح في وثائق CPTs الموسعة.
يوفر Poet طريقة سهلة لتسجيل كتلة Gutenberg مع المحرر باستخدام عرض Blade المصاحب لعرض الكتلة على الواجهة الأمامية.
يتم تسجيل الكتل باستخدام namespace/label
المحددة عند تسجيل الكتلة مع المحرر.
إذا لم يتم توفير مساحة اسم، فسيتم استخدام المجال النصي للموضوع الحالي بدلاً من ذلك.
يعد تسجيل الكتلة في معظم الحالات أمرًا بسيطًا مثل:
' block ' => [
' sage/accordion ' ,
],
نظرًا للكتلة sage/accordion
، سيكون عرض Blade المصاحب لك موجودًا في views/blocks/accordion.blade.php
.
تحتوي طرق عرض الكتلة على المتغيرات التالية المتاحة:
$data
- كائن يحتوي على بيانات الكتلة.$content
- سلسلة تحتوي على محتوى InnerBlocks. إرجاع null
عندما تكون فارغة. افتراضيًا، عند التحقق مما إذا كان $content
فارغًا، يتم تمريره عبر طريقة لإزالة جميع العلامات والمسافات البيضاء قبل التقييم. وهذا يؤكد أن المحرر منتفخ مثل nbsp;
أو علامات <p></p>
الفارغة لا تتسبب في إرجاع $content
دائمًا true
عند استخدامه في شرط.
إذا كنت لا تريد هذا السلوك على كتلة معينة، فما عليك سوى تسجيله كمصفوفة:
' block ' => [
' sage/accordion ' => [ ' strip ' => false ],
],
إذا كنت بحاجة إلى تسجيل سمات الكتلة باستخدام PHP على كتلة معينة، فما عليك سوى تمرير السمات في مصفوفة عند التسجيل:
' block ' => [
' sage/accordion ' => [
' attributes ' => [
' title ' => [
' default ' => ' Lorem ipsum ' ,
' type ' => ' string ' ,
],
],
],
],
ضع في اعتبارك كتلة أكورديون مسجلة باستخدام سمة title
واسم className
. قد تبدو وجهة نظرك كما يلي:
<div class="wp-block-accordion {{ $ data -> className ?? '' }}">
@ isset ( $ data -> title )
<h2>{!! $ data -> title !!}</h2>
@endisset
<div>
{!! $ content ?? ' Please feed me InnerBlocks. ' !!}
</div>
</div>
يوفر Poet طريقة سهلة لتسجيل فئات كتلة Gutenberg وتعديلها وإلغاء تسجيلها. عند البحث في التكوين، سترى مثالًا تم التعليق عليه لفئة الحث على اتخاذ إجراء:
' block_category ' => [
' cta ' => [
' title ' => ' Call to Action ' ,
' icon ' => ' star-filled ' ,
],
],
قد يؤدي هذا إلى فئة كتلة بها سبيكة cta
. بمجرد تسجيل فئة الكتلة الخاصة بك، يجب عليك تسجيل الكتلة في مجموعتها الثابتة قبل أن تظهر الفئة في المحرر.
في أبسط أشكاله، يمكنك ببساطة تمرير سلسلة:
' block_category ' => [
' my-cool-blocks ' ,
],
مما قد يؤدي إلى قيام فئة my-cool-blocks
تلقائيًا بتحويل سبيكة إلى حالة عنوان.
يمكنك أيضًا تحديد العنوان عن طريق تمرير قيمة إلى سبيكةك الثابتة:
' block_category ' => [
' my-cool-blocks ' => ' Best Blocks, World. ' ,
],
مثل أنواع المنشورات والتصنيفات، فإن تعديل فئة الكتلة الموجودة هو نفس تسجيل واحدة:
' block_category ' => [
' layouts ' => ' Sections ' ,
' common ' => [ ' icon ' => ' star-filled ' ],
],
يمكنك إلغاء تسجيل فئة كتلة موجودة ببساطة عن طريق تمرير false
:
' block_category ' => [
' common ' => false ,
],
يمكن للشاعر أيضًا تسجيل أنماط الكتل لك، مع عرض Blade اختياري للمحتوى.
يتم تسجيل الأنماط باستخدام namespace/label
المحدد عند تسجيل النمط في المحرر.
إذا لم يتم توفير مساحة اسم، فسيتم استخدام المجال النصي للموضوع الحالي بدلاً من ذلك.
يعد تسجيل الكتلة في معظم الحالات أمرًا بسيطًا مثل:
' block_pattern ' => [
' sage/hero ' => [
' title ' => ' Page Hero ' ,
' description ' => ' Draw attention to the main focus of the page, and highlight key CTAs ' ,
' categories ' => [ ' all ' ],
],
],
يمكنك تسجيل المحتوى الفعلي للنمط هنا أيضًا، باستخدام مفتاح content
. أو اتركه فارغًا لاستخدام طريقة عرض الشفرة المقابلة.
' block_pattern ' => [
' sage/fake-paragraph ' => [
' title ' => ' Fake Paragraph ' ,
' description ' => ' Filler content used instead of actual content for testing purposes ' ,
' categories ' => [ ' all ' ],
' content ' => ' <!-- wp:paragraph --><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione nulla culpa repudiandae nisi nostrum et, labore earum repellendus porro, mollitia voluptas quam? Modi sint tempore deleniti nesciunt ab, perferendis et.</p><!-- /wp:paragraph --> ' ,
],
],
بالنظر إلى الكتلة sage/fake-paragraph
، إذا لم يتم تحديد مفتاح content
، فسيكون عرض Blade المصاحب لك موجودًا في views/block-patterns/fake-paragraph.blade.php
.
قد يبدو عرض نمط الكتلة هذا كما يلي:
<!-- wp:paragraph -->
<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione nulla culpa repudiandae nisi nostrum et, labore earum repellendus porro, mollitia voluptas quam? Modi sint tempore deleniti nesciunt ab, perferendis et.</p>
<!-- /wp:paragraph -->
يمكن إضافة فئات نمط الكتلة بالكود التالي في تكوين الشاعر:
' block_pattern_category ' => [
' all ' => [
' label ' => ' All Patterns ' ,
],
],
يمكنك تحديد جميع خصائص الفئة مثل label
، وفقًا لدليل محرر الكتل.
ملاحظة: في الوقت الحالي، إذا لم تتوفر فئات أنماط الحظر على الإطلاق، فسوف تتعطل علامة التبويب "أنماط الحظر" في المحرر عند النقر عليها.
يحاول الشاعر تبسيط تسجيل لوحة الألوان مع المحرر قليلاً من خلال عدم المطالبة بمثل هذه العلامات الصارمة والهشة للمصفوفة.
في حين أنه يمكنك بالطبع تمرير المصفوفة المذكورة مباشرة، إلا أنك قادر أيضًا على تسجيل الألوان ببساطة عن طريق تمرير سبيكة ثابتة مع اللون والسماح لـ Poet بالتعامل مع الباقي.
' palette ' => [
' red ' => ' #ff0000 ' ,
' blue ' => ' #0000ff ' ,
],
بدلاً من تمرير مصفوفة، يقبل Poet أيضًا ملف JSON
يحتوي على لوحة الألوان الخاصة بك. سيبحث الشاعر عمومًا عن هذا الملف في dist/
افتراضيًا.
' palette ' => ' colors.json ' ,
إذا كنت تستخدم Palette Webpack Plugin، فيمكنك ببساطة تمرير true
لاستخدام palette.json
الذي تم إنشاؤه تلقائيًا أثناء الإنشاء.
' palette ' => true ,
إذا اكتشفت خطأ في الشاعر، يرجى فتح قضية.
إن المساهمة سواء كان ذلك من خلال العلاقات العامة أو الإبلاغ عن مشكلة أو اقتراح فكرة أمر يتم تشجيعه وتقديره.
يتم توفير الشاعر بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.