كيفية تفعيل show_in_rest = true في ACF
تعتبر الإضافات المخصصة في ووردبريس وسيلة فعالة لتوسيع وظائف الموقع وتخصيصه بما يتناسب مع احتياجات المستخدمين. من بين هذه الإضافات، تُعتبر إضافة Advanced Custom Fields (ACF) واحدة من أكثر الأدوات شعبية لخلق حقول مخصصة وتحسين تجربة إدارة المحتوى. في هذا المقال، سنتحدث عن كيفية استخدام المعامل show_in_rest = true
في ACF، مما يتيح الوصول إلى البيانات المخصصة عبر واجهة برمجة التطبيقات (REST API) في ووردبريس.
ما هو معامل show_in_rest؟
تُستخدم خاصية show_in_rest
لتحديد ما إذا كان نوع المحتوى يمكن الوصول إليه من خلال API REST في ووردبريس. عندما تكون هذه الخاصية مضبوطة على القيمة true
، فإن ذلك يعني أن محتوى هذا النوع سيكون متاحًا عبر واجهة برمجة التطبيقات، مما يُسهل التعامل معه من خلال أي تطبيق أو واجهة تستخدم هذا API.
في حالة استخدام ACF مع المحرر الكلاسيكي، قد تواجه بعض التحديات في تفعيل show_in_rest
. فالمحرر الكلاسيكي يختلف عن محرر غوتنبرغ، لذا فإن تكامل الحقول المخصصة يتطلب بعض الإعدادات الإضافية.
كيفية تفعيل `show_in_rest` في ACF مع المحرر الكلاسيكي
لتفعيل هذه الخاصية مع ACF، يمكن استخدام دالة register_post_type
لإنشاء نوع محتوى مخصص. يجب التأكد من ضبط خاصية show_in_rest = true
. إليك نموذجًا على كيفية عمل ذلك:
register_post_type(
"article",
array(
"label" => "記事",
"public" => true,
"has_archive" => true,
"show_in_rest" => true, // هنا!
"menu_position" => 5,
"supports" => array (
"title",
"editor",
"revisions",
),
)
);
في النموذج أعلاه، نحدد نوع المحتوى المخصص باسم "article"، ونعطيه جميع الخصائص الضرورية لإظهاره في الواجهة.
التعامل مع الحقول المخصصة
بعد إعداد نوع المحتوى، تأتي خطوة تكامل الحقول المخصصة. إذا كانت لديك حقول مخصصة في ACF وترغب في ظهورها في REST API، فستحتاج إلى استخدام الدالة register_rest_field
. يمكن أن تتضمن الشيفرة الخاصة بك مثالًا مشابهًا لما يلي:
add_action('rest_api_init', function () {
register_rest_field('article', 'custom_field', array(
'get_callback' => function ($data) {
return get_post_meta($data['id'], 'custom_field', true);
}
));
});
هذا الكود سيمكن حقلًا مخصصًا باسم "custom_field" من الظهور في استجابة API الخاصة بنوع المحتوى "article".
ملاحظات هامة
إذا كنت تعمل مع المحرر الكلاسيكي وتواجه مشكلة في ظهور المحتوى في واجهة API، قد تحتاج إلى التأكد من أنك قد قمت بتثبيت وتفعيل الإضافات المطلوبة وأن كل الإعدادات صحيحة. إذا كان المحتوى لا يزال لا يظهر، يمكنك أيضًا التفكير في إنشاء كتلة مخصصة في غوتنبرغ لضمان تفعيل الوظائف التي تحتاجها.
الخاتمة
يعتبر استخدام show_in_rest = true
في ACF خطوة أساسية لفتح آفاق جديدة لتفاعل واجهة المستخدم مع محتوى ووردبريس. هذه الخصائص لا تساعد فقط في تحسين التطبيقات التي تعتمد على API، بل تسهّل أيضًا إدارة المحتوى بفعالية. باستخدام الأدوات الصحيحة، يمكنك تحسين موقعك وتوسيع إمكانياته من خلال حقول مخصصة مرنة وسهلة الاستخدام.