يتيح دمج بايثون مع ووردبريس للمطورين أتمتة المهام وإدارة المحتوى بكفاءة. باستخدام إمكانيات بايثون مع واجهة برمجة تطبيقات WordPress REST، يمكنك إنشاء المنشورات وتحديثها وحذفها وتحليل البيانات بفعالية.
في هذه المدونة، سنتناول بالتفصيل كيفية إعداد خبراء تطوير ووردبريس لبايثون واستخدامه معهم. كما ستتعرف على مكتبات بايثون الأساسية لتطوير ووردبريس. فلنبدأ إذًا.
كيفية استخدام بايثون مع ووردبريس؟
يتضمن إعداد تكامل بايثون ووردبريس بشكل أساسي استخدام واجهة برمجة تطبيقات WordPress REST لتمكين بايثون من التفاعل مع بيانات ووردبريس. إليك دليل خطوة بخطوة لمساعدتك في إعداد تكامل أساسي.
الخطوة 1: فهم واجهة برمجة تطبيقات WordPress REST
توفر واجهة برمجة تطبيقات REST الخاصة بـ WordPress طريقة للتفاعل مع WordPress من تطبيقات خارجية، مثل سكربت بايثون. يمكنك استرداد وتحديث وحذف وإنشاء محتوى (مثل المنشورات والصفحات والوسائط) باستخدام طلبات HTTP. عادةً ما يمكن الوصول إلى نقاط نهاية واجهة برمجة تطبيقات REST على الرابط: https://your-wordpress-site.com/wp-json/wp/v2/.
الخطوة 2: إعداد WordPress
الآن، تأكد من تشغيل موقع ووردبريس لديك. ستحتاج إلى الوصول إلى واجهة برمجة تطبيقات WordPress REST، وهي مُفعّلة افتراضيًا في إصدار ووردبريس 4.4 والإصدارات الأحدث.
- قم بتسجيل الدخول إلى لوحة تحكم WordPress الخاصة بك.
- انتقل إلى الإعدادات > الروابط الدائمة.
- تأكد من تعيين بنية الرابط الدائم لـ WordPress على أي شيء آخر غير الإعداد الافتراضي (على سبيل المثال، “اسم المنشور”).
لقد تأكدت من أن واجهة برمجة تطبيقات WordPress REST قابلة للوصول وجاهزة للاستخدام.
الخطوة 3: تثبيت وإعداد مكون REST API الإضافي
- انتقل إلى المكونات الإضافية > إضافة جديد.
- ابحث عن مكون إضافي مثل WordPress REST API Authentication.
- تثبيت وتفعيل المكون الإضافي.
يؤدي هذا إلى إضافة وظيفة REST API إضافية إلى موقع WordPress الخاص بك.

الخطوة 4: إنشاء مستخدم API
أنشئ مستخدمًا في ووردبريس لاستخدامه في مصادقة واجهة برمجة التطبيقات. للقيام بذلك، اتبع ما يلي:
- انتقل إلى المستخدمين > إضافة جديد.
- قم بإدخال تفاصيل المستخدم وتعيين الدور إلى “مسؤول” أو دور آخر بالأذونات المناسبة.
- انقر فوق زر إضافة مستخدم جديد لإنشاء مستخدم جديد.
سيتم استخدام حساب المستخدم هذا لمصادقة API.
الخطوة 5: إنشاء كلمة مرور للتطبيق
قم بإنشاء كلمة مرور للتطبيق للمستخدم الذي قمت بإنشائه ثم:
- قم بتسجيل الدخول بالمستخدم الذي قمت بإنشائه.
- انتقل إلى صفحة ملف تعريف المستخدم.
- انتقل إلى الأسفل إلى قسم كلمات مرور التطبيق.
- أدخل اسمًا للتطبيق (على سبيل المثال، “تكامل بايثون”).
- انقر فوق إضافة كلمة مرور جديدة للتطبيق.
- انسخ كلمة المرور المُولَّدة وقم بتخزينها بشكل آمن.
هنا، نقوم بإنشاء طريقة آمنة لـبايثون للوصول إلى موقع ووردبريس الخاص بك عبر واجهة برمجة التطبيقات REST، وحماية بيانات اعتماد ووردبريس الخاصة بك وتمكين تنفيذ البرنامج النصي عن بعد.

الخطوة 6: تثبيت مكتبات بايثون المطلوبة
تُسهّل مكتبات بايثون، مثل Requests، إرسال طلبات HTTP إلى واجهة برمجة تطبيقات ووردبريس ومعالجة الاستجابات. يُعد تثبيت هذه المكتبة الخطوة الأولى في إعداد بيئة بايثون للتكامل. سنقوم هنا بتثبيت مكتبة Requests باستخدام pip. لذا، افتح الطرفية أو موجه الأوامر وشغّل:
pip install requests
بهذا نكون قد قمنا بتثبيت مكتبة الطلبات، والتي تعد ضرورية للتعامل مع طلبات HTTP من بايثون للتفاعل مع واجهة برمجة تطبيقات WordPress REST.
الخطوة 7: استرداد البيانات من ووردبريس
للتأكد من عمل المصادقة واتصال واجهة برمجة التطبيقات (API)، ابدأ بكتابة نص برمجي بلغة بايثون لاسترداد البيانات من ووردبريس. ستؤكد هذه الدالة الأساسية إمكانية وصولك بنجاح إلى بيانات ووردبريس باستخدام بايثون. في نص بايثون، استخدم الكود التالي لاسترداد قائمة بالمنشورات الأخيرة.
import requests
url = "https://your-wordpress-site.com/wp-json/wp/v2/posts"
auth = ("your_username", "your_application_password")
response = requests.get(url, auth=auth)
posts = response.json()
for post in posts:
print(f"Title: {post['title']['rendered']}")
print(f"Content: {post['content']['rendered']}\n")
إذا نجحت في استرداد البيانات من ووردبريس، فهذا يعني أن الإعداد تم بشكل صحيح. ولكن دعنا نختبره أيضًا لإنشاء محتوى على مواقع ووردبريس باستخدام بايثون.
الخطوة 8: إنشاء المحتوى في WordPress
بعد ذلك، جرّب إنشاء محتوى في ووردبريس باستخدام بايثون. هذا مفيد لأتمتة نشر المحتوى أو تحديث المعلومات على موقعك دون الحاجة إلى الوصول إلى لوحة تحكم ووردبريس يدويًا. إليك مقتطف شيفرة لإنشاء منشور جديد:
import requests
from requests.auth import HTTPBasicAuth
url = "https://your-wordpress-site.com/wp-json/wp/v2/posts"
headers = {"Content-Type": "application/json"}
auth = HTTPBasicAuth("your_username", "your_application_password")
post_data = {
"title": "New Post from Python",
"content": "This is a post created via Python and the WordPress REST API!",
"status": "publish"
}
response = requests.post(url, headers=headers, auth=auth, json=post_data)
if response.status_code == 201:
print("Post created successfully:", response.json())
else:
print("Failed to create post:", response.status_code, response.text)
لقد أنشأتَ منشورًا جديدًا في ووردبريس باستخدام بايثون بنجاح. تُظهر هذه الخطوة أن التكامل يدعم إنشاء المحتوى برمجيًا.
الخطوة 9: اختبار التكامل وتصحيح أخطائه
الاختبار ضروري لضمان سلاسة عملية التكامل. استخدم طلبات متنوعة لجلب المحتوى وإنشائه وتحديثه وحذفه، مع مراقبة المخرجات بحثًا عن أي أخطاء. شغّل نص بايثون عدة مرات باستخدام إجراءات واجهة برمجة تطبيقات مختلفة لتأكيد كل وظيفة. على سبيل المثال، يمكنك:
- استرداد منشور محدد عن طريق إضافة معرف إلى نقطة النهاية: /wp-json/wp/v2/posts/{post_id}
- تحديث المنشور باستخدام ()requests.put.
- احذف المنشور باستخدام ()requests.delete.
يُؤكّد اختبار التكامل أن كل جزء يعمل كما هو متوقع. أي أخطاء تُصادف أثناء الاختبار تُساعد في تحديد المشاكل في الإعداد وحلها.
الخطوة 10: أتمتة مهام WordPress باستخدام Python (اختياري)
بفضل التكامل، يمكنك توسيع نصوص بايثون لديك لأتمتة مهام ووردبريس المختلفة. تُوفر الأتمتة الوقت وتُحسّن الكفاءة، خاصةً للمهام المتكررة أو العمليات الضخمة. فكّر في أتمتة مهام مثل:
- نشر المحتوى بناءً على بيانات خارجية.
- تحليل بيانات الزوار المسترجعة من واجهة برمجة تطبيقات WordPress.
- تحديث أنواع المحتوى المحددة بانتظام وفقًا لجدول زمني.
إن استخدام Python لأتمتة المهام يمكن أن يزيد من كفاءة إدارة موقع WordPress الخاص بك.
بهذا نكون قد دمجنا بايثون مع ووردبريس، مما يتيح الأتمتة ووظائف موسعة تتجاوز معايير ووردبريس. الآن، لنتعرف على كيفية استخدام مطوري ووردبريس المحترفين لبايثون للتحكم في مواقع ووردبريس.
كيفية التحكم في موقع ووردبريس باستخدام بايثون؟
للتحكم في ووردبريس باستخدام بايثون، تُعد واجهة برمجة تطبيقات WordPress REST الأداة الرئيسية التي ستستخدمها. تتيح هذه الواجهة لبايثون إجراء عمليات CRUD (إنشاء، قراءة، تحديث، حذف) على محتوى ووردبريس، مثل المنشورات والصفحات والوسائط وغيرها. ولكن قبل البدء باستخدام بايثون للتحكم، تأكد من استيفاء التكامل المذكور أعلاه والمتطلبات الأساسية التالية:
- تأكد من أن لديك موقع WordPress قيد التشغيل.
- واجهة برمجة التطبيقات REST: يجب تمكين واجهة برمجة التطبيقات REST الخاصة بـ WordPress (يتم تمكينها افتراضيًا في WordPress 4.4 والإصدارات الأحدث).
- مكون إضافي لكلمات مرور التطبيق: قم بتثبيت مكون إضافي لكلمات مرور التطبيق وإعداده للحصول على مصادقة آمنة.
- بيئة Python: قم بإعداد بيئة Python مع تثبيت مكتبة Requests.
بمجرد تجهيز المتطلبات الأساسية والتكامل، يمكننا البدء بتنفيذ عمليات CRUD المختلفة. إليك كيفية التعامل مع كل إجراء:
إنشاء المشاركات
لإنشاء منشور جديد في WordPress من Python، قم بإرسال طلب POST إلى نقطة نهاية واجهة برمجة تطبيقات REST الخاصة بـ WordPress للمنشورات.
- قم بإعداد مصادقة واجهة برمجة تطبيقات WordPress REST، عادةً عن طريق إنشاء كلمة مرور للتطبيق في WordPress وترميزها باستخدام اسم المستخدم الخاص بك.
- قم بتحديد نقطة نهاية API لإنشاء المنشورات: https://yourwordpresssite.com/wp-json/wp/v2/posts.
- أرسل طلب POST مع بيانات المنشور، بما في ذلك العنوان والمحتوى والحالة وما إلى ذلك.
import requests
import base64
import json
# WordPress site details
url = "https://yourwordpresssite.com/wp-json/wp/v2/posts"
user = "yourusername"
app_password = "your_application_password"
# Encode credentials
token = base64.b64encode(f"{user}:{app_password}".encode()).decode("utf-8")
headers = {
"Authorization": f"Basic {token}"
}
# Post data
data = {
"title": "New Post from Python",
"content": "This is the content of the new post created using Python.",
"status": "publish" # Set to 'draft' if you don’t want to publish immediately
}
# Send the POST request
response = requests.post(url, headers=headers, json=data)
print(response.json())
النتيجة: يرسل هذا الكود طلبًا إلى WordPress لإنشاء منشور جديد بالبيانات المحددة، وتؤكد الاستجابة إنشاء المنشور.
جلب المشاركات
يتيح لك جلب المنشورات استرجاع بيانات المنشورات، والتي قد تكون مفيدة للتحليل أو العرض في تطبيقات أخرى. لجلب المنشورات من ووردبريس، ستستخدم طلب GET إلى واجهة برمجة تطبيقات WordPress REST.
- قم بإعداد نقطة نهاية واجهة برمجة التطبيقات لاسترداد المنشورات، عادةً https://yourwordpresssite.com/wp-json/wp/v2/posts.
- استخدم طريقة requests.get لجلب المنشورات ذات المعلمات الاختيارية مثل per_page، وorder، وorderby، وما إلى ذلك.
import requests
url = "https://your-wordpress-site.com/wp-json/wp/v2/posts"
auth = ("your_username", "your_application_password")
response = requests.get(url, auth=auth)
posts = response.json()
for post in posts:
print(f"Title: {post['title']['rendered']}")
print(f"Content: {post['content']['rendered']}\n")
النتيجة: سيقوم كود Python أعلاه باسترجاع قائمة بالمشاركات مع تفاصيل مثل العنوان والمعرف، والتي يمكنك معالجتها أو عرضها بشكل أكبر.
تحديث المشاركات
لتحديث منشور، ستحتاج إلى مُعرّف المنشور، وستُرسل طلب POST لتعديله. يُفيد هذا الإجراء في تعديل المحتوى الحالي، سواءً للتصحيحات أو التحديثات الدورية.
- قم بتحديد معرف المنشور الذي تريد تحديثه.
- قم بتحديد نقطة النهاية باستخدام معرف المنشور: https://yourwordpresssite.com/wp-json/wp/v2/posts/{post_id}.
- إرسال طلب POST بالبيانات المحدثة.
# Update a specific post by ID
post_id = 123 # Replace with the actual post ID
url = f"https://yourwordpresssite.com/wp-json/wp/v2/posts/{post_id}"
# Updated data
data = {
"title": "Updated Title from Python",
"content": "This content has been updated using Python."
}
# Send the POST request to update the post
response = requests.post(url, headers=headers, json=data)
print(response.json())
النتيجة: يقوم هذا الكود بتحديث عنوان المنشور المحدد ومحتواه، ويقوم WordPress بتأكيد التحديث من خلال الاستجابة.
حذف المشاركات
لحذف منشور، أرسل طلب حذف إلى نقطة نهاية واجهة برمجة تطبيقات REST لمعرّف المنشور المحدد. يُساعد حذف المحتوى على أتمتة عملية تنظيف المنشورات القديمة أو غير المُحدّثة.
- قم بتحديد معرف المنشور الذي ترغب في حذفه.
- قم بتحديد نقطة نهاية الحذف باستخدام معرف المنشور: https://yourwordpresssite.com/wp-json/wp/v2/posts/{post_id}.
- أرسل طلب حذف مع التأكيد إذا كنت ترغب في الحذف الدائم.
# Post ID to delete
post_id = 123 # Replace with the actual post ID
url = f"https://yourwordpresssite.com/wp-json/wp/v2/posts/{post_id}?force=true" # Add ?force=true for permanent delete
# Send the DELETE request
response = requests.delete(url, headers=headers)
print(response.json())
النتيجة: سيقوم الكود أعلاه بحذف المنشور المحدد، إما بنقله إلى سلة المهملات أو حذفه بشكل دائم استنادًا إلى المعلمات.
من خلال التحكم في ووردبريس باستخدام بايثون، يمكنك أتمتة المهام وإدارة المحتوى وتحسين كفاءة معالجة بيانات ووردبريس.
أفضل مكتبات بايثون لتطوير ووردبريس
لاستخدام بايثون بفعالية مع ووردبريس، يُمكن لعدة مكتبات تبسيط مهام مثل استخراج بيانات الويب والتفاعل مع ووردبريس نفسه. إليك كيف تُساهم مكتبات بايثون المختلفة في تطوير ووردبريس:
Requests
تُستخدم مكتبة الطلبات على نطاق واسع لإنشاء طلبات HTTP، وهي قيّمة للغاية عند العمل مع واجهة برمجة تطبيقات WordPress REST. يمكنك استخدامها لإرسال طلبات GET وPOST وPUT وDELETE للتفاعل مع محتوى WordPress، بما في ذلك استرداد المنشورات وتحديثها، وغير ذلك الكثير.
import requests
url = "https://yourwordpresssite.com/wp-json/wp/v2/posts"
response = requests.get(url)
posts = response.json()
for post in posts:
print(post['title']['rendered'])
حالة الاستخدام: هذه المكتبة ضرورية للمهام مثل جلب المنشورات وإنشاء منشورات جديدة وإدارة المستخدمين على WordPress مباشرة من Python.
BeautifulSoup
BeautifulSoup مثالي لتحليل مستندات HTML وXML، مما يجعله مفيدًا عند العمل مع محتوى الويب. يمكنك استخدامه لجمع المحتوى من مواقع WordPress أو تنسيق HTML وتنظيفه قبل إرساله إلى WordPress عبر واجهة برمجة التطبيقات.
from bs4 import BeautifulSoup
import requests
url = "https://yourwordpresssite.com"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
for title in soup.find_all('h2'):
print(title.get_text())
حالة الاستخدام: إذا لم يكن من الممكن الوصول إلى بيانات معينة بشكل مباشر من خلال واجهة برمجة التطبيقات REST، يمكن لـ BeautifulSoup استخراج HTML من صفحات WordPress لاستخراج البيانات وتنظيمها.
WordPress XML-RPC
تتيح مكتبة XML-RPC في ووردبريس التفاعل المباشر مع ووردبريس عبر بروتوكول XML-RPC. يُعد هذا مفيدًا بشكل خاص لإدارة محتوى ووردبريس عند عدم تفعيل واجهة برمجة التطبيقات REST أو عند التعامل مع إصدارات ووردبريس القديمة.
import xmlrpc.client
wp_url = "https://yourwordpresssite.com/xmlrpc.php"
username = "yourusername"
password = "yourpassword"
client = xmlrpc.client.ServerProxy(wp_url)
new_post = {
'title': 'New Post from Python',
'description': 'Content created via XML-RPC in Python',
'post_type': 'post'
}
post_id = client.metaWeblog.newPost('', username, password, new_post, True)
print(f"Post ID: {post_id}")
حالة استخدام: أتمتة مهام مثل نشر محتوى جديد، أو تعديل منشورات موجودة، أو جلب تعليقات المستخدمين. كان XML-RPC يُستخدم تقليديًا قبل دعم واجهة برمجة التطبيقات REST، ولكنه لا يزال مفيدًا للأنظمة القديمة.
Pandas
باندا مكتبة فعّالة لمعالجة البيانات وتحليلها، تُستخدم غالبًا للتعامل مع مجموعات البيانات الضخمة. في تطوير ووردبريس، تُساعد في معالجة بيانات مثل تحليلات مواقع الويب، وبيانات المستخدمين، ومقاييس أداء المحتوى.
import pandas as pd
# Load data from a CSV file
df = pd.read_csv("wordpress_data.csv")
print(df.head())
# Basic data analysis
print(df.describe())
حالة الاستخدام: تحليل البيانات التي تم جمعها من WordPress، مثل إحصائيات أداء المدونة، أو سجلات الزوار، أو تصدير البيانات المخصصة.
NumPy
NumPy مكتبة أساسية للعمليات الحسابية، تُستخدم غالبًا مع Pandas. وهي مفيدة في تطوير ووردبريس للتعامل مع مجموعات البيانات الضخمة أو إجراء حسابات معقدة على البيانات المسترجعة من مواقع ووردبريس.
import numpy as np
# Example array of user interactions per post
views = np.array([120, 340, 280, 150, 220])
average_views = np.mean(views)
print(f"Average views per post: {average_views}")
حالة الاستخدام: حساب الاتجاهات أو المتوسطات في بيانات WordPress الرقمية، مثل معدلات مشاركة المستخدمين أو المشاهدات الشهرية.
تُضيف كلٌّ من هذه المكتبات وظائفَ مهمةً إلى سير عمل تطوير ووردبريس عند استخدام بايثون. فهي تُمكّن مُطوّري ووردبريس الخبراء من إدارة واجهات برمجة التطبيقات (APIs) والتفاعل معها، ومعالجة مجموعات البيانات الضخمة بكفاءة.
اكتشاف المزيد من بايثون العربي
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.