API را احراز هویت کنید
keys = {
'wp_key': 'XXXX XXXX XXXX XXXX XXXX XXXX',
'user': 'username'
}
# Define your WP URL
url = 'https://www.example.com/wp-json/wp/v2'
# Define WP Keys
user = keys['wp_key']
password = keys['user']
# Create WP Connection
wp_connection = user + ':' + password
# Encode the connection of your website
token = base64.b64encode(wp_connection.encode())
# Prepare the header of our request
headers = {
'Authorization': 'Basic ' + token.decode('utf-8')
}
دریافت 10 پست اول
# Define Function to Call the Posts Endpoint
def get_posts(url, headers):
api_url = url + f'/posts'
response = requests.get(api_url, headers=headers)
return response.json()
# Call API
r = get_posts(url, headers)
# Print Number of Results Return
print(len(r))
# output: 10
# Show the First Result Tile
r[0]['title']
پست های وردپرس با API
به روز رسانی دسته بندی پست ها
def update_post_categories(post_id, categories, headers=headers, url=url):
# If multiple categories
if isinstance(categories,list):
categories = ','.join(categories)
# Add values
args = {
'categories': categories
}
# Make Request
r = requests.post(
url + '/posts/' + str(post_id),
headers=headers, json=args)
return r.json()
نمایش داده های پست
def show_blog_post(post_id, headers=headers, url=url):
r = requests.get(
url + f'/posts/{str(post_id)}',
headers=headers)
return r.json()
با رسانه های وردپرس کار کنید
نمایش داده های رسانه
def show_media(media_id, headers=headers, url=url):
r = requests.get(
url + f'/media/{str(media_id)}',
headers=headers)
return r.json()
به روز رسانی عنوان رسانه
def update_media_caption(media_id, caption, headers=headers, url=url):
args = {
'caption': caption
}
r = requests.post(
url + '/media/' + str(media_id),
headers=headers, json=args)
return r.json()
با دسته بندی های وردپرس کار کنید
نمایش داده های دسته بندی خاص
def show_category(id, headers=headers, url=url):
response = requests.get(
url + f'/categories/{str(id)}',
headers=headers)
return response.json()
r = show_category(id, headers=headers, url=url)
نمایش همه دسته ها
نمایش تعداد صفحات حداکثر 100 عنصر در هر صفحه وجود دارد.
def get_total_cat_count(per_page=100, headers=headers, url=url):
api_url = url + f'/categories?per_page={per_page}'
response = requests.get(api_url, headers=headers)
page_count = response.headers['X-WP-TotalPages']
return int(page_count)
num_category_pages = get_total_cat_count()
ایجاد تابع برای خواندن دسته های وردپرس.
# Function to read wordpress categories
def read_wordpress_categories(page, per_page=100, headers=headers, url=url):
r = requests.get(url + f'/categories?page={page}&per_page={per_page}', headers=headers)
return r.json()
در هر صفحه حلقه بزنید:
categories = []
for i in range(1,num_category_pages+1):
page_results = read_wordpress_categories(i)
categories.extend(page_results)
حذف یک دسته
def delete_category(id, headers=headers, url=url):
r = requests.delete(
url + f'/categories/{str(id)}?force=True',
headers=headers)
return r.json()
حذف همه دسته ها
for category in categories:
id = category['id']
if str(id) != '1': # Skip Uncategorized
r_json = delete_category(id)
استراتژیست سئو در Tripadvisor، Seek سابق (ملبورن، استرالیا). متخصص در سئو فنی. در تلاش برای سئوی برنامهریزی شده برای سازمانهای بزرگ از طریق استفاده از پایتون، R و یادگیری ماشین.