Değerli arkadaşlar başlıkta belirtildiği gibi masaüstünde bulunan makaleleri otomatik olarak wordpress sitenizde paylaşmanızı sağlayan bir program var elimde. Merak etmeyin açık kaynak olarak sizinle paylaşacağım.
Yüklenmesi gereken program: python
Yüklenmesi gereken modüller:
import os
import time
import requests
from pathlib import Path
Siteniz rest api isteklerine açık olmalı hepsi bu kadar.
Kullanım şu şekilde:
Masaüstüne bir klasör oluşturuyoruz.
Programdaki gerekli yere bu ismi yazıyorum mesela "makaleler"
Sonra sitenize girip bir uygulama parolası oluşturuyorsunuz.
Programda gerekli yerlere bunları yazıyorsunuz
admin kısmı: Wordpress kullanıcı adınız genelde zaten admin oluyor.
Şifre de bu uygulama yerinden aldığınız şifre olacak şöyle görünmeli: zBcD AzxS BbBb dDdD EeEe qwer
Daha sonra txt formatında hazırladığınız makaleleri masaüstündeki klasöre atıyorsunuz işlem bu kadar. Daha sonra her bir saatte bir makaleler sitenize yükleniyor. Bu kadar basit. Program kesinlikle güvenli zaten açık kaynak şeklinde burada paylaşacağım. İsteyen istediği kadar inceleyebilir. Şimdilik programı paylaşmıyorum çünkü eklenti, kategori ve makale başlık ve alt başlık kısımlarını ayarlamam lazım. Eğer halledebilirsem wordpress şablonu şeklinde paylaşmayı ayarlayacağım işte o zaman tadından yenmez. Bu programı özelden isteyen arkadaşlar varsa lütfen bunu beğensin PM olarak atalım.
Edit: Yaptım la çok iyi oldu. Buyrun kankiler örnek. link
Edit: Buyrun kaynak kod beyler.
DİZİMİ SAKATLADIM LÜTFEN DUA EDİN. BU GİBİ PROGRAMLARI MİLLET HEM BURADA HEM DE İNTERNETTE PARAYLA KİRALIYOR SATIŞI BİLE YOK. BEN ÜCRETSİZ VERİYORUM ÇÜNKÜ BURADAKİ BİRİSİ BENİ ÇOK ÜZDÜ. GÜYA ÇEKİLİŞLE ÜCRETSİZ VERDİ SONRA GİRİŞİMİ ENGELLEDİ VE SÜREM BİTİNCE DE AYAK YAPTI. HERKES KISACA ADAM OLSUN DELİKANLI OLSUN. YOKSA NE KADAR ÜCRETLİ PROGRAM VARSA ÜCRETSİZİNİ KODLAR BURAYA SALARIM. TERBİYESİZLİK YAPMAYA LÜZUM YOK. BİR UYANIK SİZ DEĞİLSİNİZ.
import os
import time
import requests
from pathlib import Path
from docx import Document
from docx.enum.style import WD_STYLE_TYPE
wordpress_url = "https://siteadresi.com/index.php/wp-json/wp/v2"
username = "admin"
password = "aaa BBBB cccc DDDD eeee"
folder_path = Path.home() / "Desktop" / "yazi"
headers = {
"Content-Type": "application/json"
}
auth = (username, password)
def get_categories():
response = requests.get(f"{wordpress_url}/categories", headers=headers, auth=auth)
if response.status_code == 200:
categories = response.json()
return {category['name']: category['id'] for category in categories}
else:
print("Kategoriler alınamadı:", response.status_code)
try:
print(response.json())
except requests.exceptions.JSONDecodeError:
print("Geçersiz JSON yanıtı:", response.text)
return {}
def parse_docx(docx_file):
document = Document(docx_file)
content = ""
for para in document.paragraphs:
if para.style.name.startswith('Heading'):
level = int(para.style.name.split()[1])
content += f"<h{level}>{para.text}</h{level}>\n"
else:
content += f"<p>{para.text}</p>\n"
return content
def post_to_wordpress(title, content, category_id):
data = {
"title": title,
"content": content,
"status": "publish",
"categories": [category_id]
}
response = requests.post(f"{wordpress_url}/posts", headers=headers, auth=auth, json=data)
if response.status_code == 201:
print("Yazı başarıyla eklendi:", response.json().get("link"))
else:
print("Hata:", response.status_code)
try:
print(response.json())
except requests.exceptions.JSONDecodeError:
print("Geçersiz JSON yanıtı:", response.text)
def main():
categories = get_categories()
if not categories:
print("Kategori bulunamadı.")
return
print("Mevcut Kategoriler:")
for name in categories.keys():
print(f"- {name}")
chosen_category = input("Hangi kategoriye eklemek istersiniz? Lütfen kategori adını girin: ")
category_id = categories.get(chosen_category)
if not category_id:
print("Geçersiz kategori adı.")
return
docx_files = list(folder_path.glob("*.docx"))
for docx_file in docx_files:
title = docx_file.stem
content = parse_docx(docx_file)
post_to_wordpress(title, content, category_id)
# 60 saniyede bir sırayla bu klasördeki word belgelerini wordpress sitede yayınlar. Ama kategoriyi seçtikten sonra tüm yazıları aynı kategoriye atar aklınızda olsun.
time.sleep(60)
if __name__ == "__main__":
main()