كيفية الحصول على استعلام باستخدام رابط ووردبريس
يعتبر استخدام واجهة برمجة التطبيقات (API) في ووردبريس لتصفية البيانات وفحصها من أسهل الطرق لتوفير تجربة مستخدم سلسة وتخصيص البيانات المسترجعة. ستتناول هذه المقالة كيفية استخدام الـ REST API في ووردبريس لتصفية الممتلكات حسب الموقع باستخدام عنوان URL، مما يمكن المطورين من استرداد بيانات محددة بشكل أكثر دقة.
إنشاء نقطة نهاية جديدة باستخدام REST API
للبدء، سنقوم بإنشاء نقطة نهاية (Endpoint) مخصصة في ووردبريس والتي ستمكننا من استرجاع بيانات الممتلكات بناءً على الموقع المحدد. يمكن أن يكون ذلك مفيدًا عند الحاجة لتصفية البيانات المعروضة على موقعك. تتيح لنا هذه الطريقة إنشاء واجهة تناسب احتياجات الموقع ومستخدميه.
قم بإضافة الشيفرة التالية إلى ملف functions.php
في قالبك:
function register_properties_route() {
register_rest_route('custom/v1', '/properties', array(
'methods' => 'GET',
'callback' => 'get_properties_by_location',
'args' => array(
'location' => array(
'required' => true,
'validate_callback' => function($param, $request, $key) {
return is_string($param);
}
),
),
));
}
add_action('rest_api_init', 'register_properties_route');
function get_properties_by_location($request) {
$location = sanitize_text_field($request['location']);
$args = array(
'post_type' => 'properties',
'meta_query' => array(
array(
'key' => 'address_map_location',
'value' => $location,
'compare' => 'LIKE'
)
)
);
$query = new WP_Query($args);
$posts = array();
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
$posts[] = array(
'id' => get_the_ID(),
'title' => get_the_title(),
'acf' => get_fields(get_the_ID())
);
}
wp_reset_postdata();
}
return new WP_REST_Response($posts, 200);
}
توضح هذه الشيفرة كيفية تسجيل نقطة نهاية باستخدام REST API، حيث يقوم بإنشاء نقطة جديدة تحت المسار wp-json/custom/v1/properties
. بعد ذلك، يقوم بجلب بيانات الممتلكات التي تتوافق مع الموقع الذي تم إدخاله.
استخدام النقطة النهائية في تطبيق ReactJS
لتجربة البيانات من النقطة النهائية التي تم إنشاؤها، يمكنك استخدام الـ Axios في تطبيق ReactJS. إليك نموذجًا بسيطًا لكيفية القيام بذلك:
const [properties, setProperties] = useState([]);
const handleSearch = async () => {
try {
const response = await axios.get(`/wp-json/custom/v1/properties`, {
params: {
location: location,
},
});
setProperties(response.data);
} catch (error) {
console.error('Error in fetching properties:', error);
}
};
في هذا الكود، يقوم المستخدم بإجراء بحث عن الممتلكات المحددة باستخدام الموقع، ويتم جلب البيانات بناءً على النقطة النهائية التي قمنا بإنشائها.
فوائد استخدام REST API في ووردبريس
استخدام واجهة API في ووردبريس يوفر العديد من الفوائد. يُمكنك من:
- تحسين أداء الموقع من خلال تحميل البيانات فقط عند الحاجة.
- تخصيص البيانات المسترجعة لتلبية احتياجات المستخدمين.
- توسيع قدرات موقع ووردبريس الخاص بك إلى نطاقات أخرى مثل تطبيقات الجوال.
أخيرًا، يمكننا القول إن استخدام واجهة برمجة التطبيقات في ووردبريس يعد طريقة مرنة وفعالة لاسترجاع البيانات وتصفيتها باستخدام URL، مما يؤدي إلى تحسين تجربة المستخدم العامة. إذا كنت تبحث عن طرق لتحسين التخصيص على موقعك، فإن استخدام REST API يعد خيارًا ممتازًا.