Title: BahriCanli Publisher
Author: Bahri CANLI
Published: <strong>15 juillet 2026</strong>
Last modified: 9 septembre 2026

---

Recherche d’extensions

![](https://ps.w.org/bahricanli-publisher/assets/banner-772x250.png?rev=3608593)

![](https://ps.w.org/bahricanli-publisher/assets/icon-256x256.png?rev=3608593)

# BahriCanli Publisher

 Par [Bahri CANLI](https://profiles.wordpress.org/bmericc/)

[Télécharger](https://downloads.wordpress.org/plugin/bahricanli-publisher.1.11.1.zip)

 * [Détails](https://fr.wordpress.org/plugins/bahricanli-publisher/#description)
 * [Avis](https://fr.wordpress.org/plugins/bahricanli-publisher/#reviews)
 *  [Installation](https://fr.wordpress.org/plugins/bahricanli-publisher/#installation)
 * [Développement](https://fr.wordpress.org/plugins/bahricanli-publisher/#developers)

 [Support](https://wordpress.org/support/plugin/bahricanli-publisher/)

## Description

**BahriCanli Publisher** is the official WordPress companion plugin for [content-manager.tr](https://content-manager.tr)—
an AI-powered multi-site content management system built and maintained by Bahri
Meriç Canlı.

content-manager.tr manages content for multiple WordPress sites simultaneously, 
generating and scheduling posts with AI assistance. This plugin acts as the bridge:
it exposes a secure endpoint that content-manager.tr uses to create, update and 
delete posts on your site.

Once installed and configured, the plugin allows content-manager.tr to:

 * **Publish** new posts with title, content (Gutenberg blocks supported), excerpt,
   slug, categories, tags, author and featured image
 * **Update** existing posts including replacing the featured image
 * **Delete** posts
 * **Sideload featured images** from external URLs (Unsplash, Pexels, Pixabay, etc.)
   directly into the WordPress media library
 * **Auto-resize** uploaded images to a maximum width of 1600 px to keep storage
   lean

All requests are authenticated with a shared secret token — no OAuth or WordPress
login required.

### External Services

This plugin makes an outbound HTTP request to the WordPress.org API to check whether
a WordPress core update is available. This request is triggered only when the `bahrpu_version`
AJAX action is called by the content-manager.tr application.

 * Service: WordPress.org Core Version Check API
 * URL: `https://api.wordpress.org/core/version-check/1.7/`
 * Purpose: Retrieve the latest available WordPress version number
 * Data sent: No personal data is sent. The request contains only standard HTTP 
   headers.
 * Privacy policy: https://wordpress.org/about/privacy/

## Installation

 1. Upload the `bahricanli-publisher` folder to `/wp-content/plugins/`.
 2. Activate the plugin through the **Plugins** menu in WordPress.
 3. Go to **Settings  BahriCanli Publisher**.
 4. Generate or enter a token and copy it to your content-manager.tr app’s `.env` file
    as `WORDPRESS_PLUGIN_TOKEN`.

## FAQ

### Does this plugin work without the content-manager.tr app?

The plugin exposes an API endpoint that can be called by any HTTP client with the
correct token. However it is designed and maintained specifically for the content-
manager.tr application.

### Is the token stored securely?

The token is stored in the WordPress options table using `get_option` / `update_option`.
It is never exposed in the front end.

### Can I use this with WordPress Multisite?

Each site in a Multisite network needs the plugin activated individually with its
own token.

### What image formats are supported for sideloading?

JPEG, PNG, WebP, GIF and AVIF. The plugin detects the format from the downloaded
file’s MIME type, so URLs without a file extension (common with Unsplash) are handled
correctly. Featured images sideloaded via the `fix_images` action are always stored
as JPEG to ensure compatibility with social media platforms (Instagram, Bluesky)
that do not accept AVIF.

## Avis

Il n’y a aucun avis pour cette extension.

## Contributeurs/contributrices & développeurs/développeuses

« BahriCanli Publisher » est un logiciel libre. Les personnes suivantes ont contribué
à cette extension.

Contributeurs

 *   [ Bahri CANLI ](https://profiles.wordpress.org/bmericc/)

[Traduisez « BahriCanli Publisher » dans votre langue.](https://translate.wordpress.org/projects/wp-plugins/bahricanli-publisher)

### Le développement vous intéresse ?

[Parcourir le code](https://plugins.trac.wordpress.org/browser/bahricanli-publisher/),
consulter le [SVN dépôt](https://plugins.svn.wordpress.org/bahricanli-publisher/),
ou s’inscrire au [journal de développement](https://plugins.trac.wordpress.org/log/bahricanli-publisher/)
par [RSS](https://plugins.trac.wordpress.org/log/bahricanli-publisher/?limit=100&mode=stop_on_copy&format=rss).

## Journal des modifications

#### 1.11.1

 * Dev: WordPress Playground blueprint eklendi — eklenti dizini sayfasındaki « Live
   Preview » butonu artık eklenti kurulu ve etkin bir demo ortamı açıyor.

#### 1.11.0

 * New: Ayarlar sayfasına « Bağlantıyı Test Et » butonu eklendi. Kayıtlı token ile
   gerçek bir istek gönderir — taslak bir test yazısı oluşturur ve hemen siler —
   böylece content-manager.tr’nin karşılaşacağı hatayı kaydetmeden önce görebilirsiniz.

#### 1.10.0

 * New: `post_type` parametresi eklendi (`post` veya `page`). Hem REST hem AJAX 
   endpoint’lerinde; belirtilmezse `post` varsayılır. Artık content-manager.tr üzerinden
   sayfa (page) oluşturulabilir ve güncellenebilir.
 * Dev: Sayfa oluştururken kategori/etiket ataması atlanıyor.

#### 1.9.4

 * Fix: Plugin Check tarafından bulunan sorunlar giderildi — `parse_url()` yerine`
   wp_parse_url()`, `unlink()` yerine `wp_delete_file()` kullanılıyor.
 * Fix: Token-doğrulamalı AJAX endpoint’lerinde ($_POST/$_SERVER okumaları) eksik`
   wp_unslash()`/`sanitize_*()` çağrıları tamamlandı.
 * Dev: `deploy.sh` dağıtım paketinden (`.distignore`) hariç tutuldu.

#### 1.9.3

 * Fix: `bahrpu_sideload_image_as_jpeg` artık WebP’yi de JPEG’e dönüştürüyor. `image_editor_output_format`
   ve `webp_uploads_upload_image_mime_transforms` filtreleri WebP’yi de engelleyecek
   şekilde güncellendi. Instagram ve Bluesky AVIF ve WebP kabul etmiyor.

#### 1.9.2

 * Fix: `bahrpu_fix_images` handler’da featured image artık `bahrpu_sideload_image_as_jpeg`
   ile kaydediliyor — WordPress’in AVIF’e dönüştürmesi engelleniyor. Instagram ve
   Bluesky gibi platformlar AVIF formatını kabul etmediğinden bu değişiklik sosyal
   medya paylaşımlarında görsel hatalarını ortadan kaldırıyor.

#### 1.9.1

 * (internal) No functional change.

#### 1.9.0

 * Feat: Ayarlar sayfasına « Güncelleme Kontrolü » butonu eklendi — tıklanınca update_plugins
   önbelleği temizlenir ve WordPress.org’dan güncel sürüm bilgisi çekilir.

#### 1.8.1

 * Chore: Sideload edilen görselin dosya adı kaynak URL yerine yazı başlığı slug’ından
   oluşturuluyor.

#### 1.8.0

 * Feat: og:image için ayrı küçük JPEG sideload — `original_image_url` parametresi
   Pexels/Unsplash’tan `fm=jpg&w=1200` ile JPEG olarak indirilir, webp-uploads AVIF
   dönüşümü o yükleme için geçici devre dışı bırakılır, WP URL’i `_cm_social_image_url`
   post meta’ya kaydedilir.
 * Fix: update handler’da `$_POST` değişkenleri `fastcgi_finish_request` öncesinde
   okunuyor.
 * Chore: `.jpeg` uzantısı `.jpg`‘ye normalize edildi.

#### 1.7.0

 * Feat: `bahrpu_fix_images` AJAX action now returns `featured_image_url` in the
   response, enabling the content manager to retrieve the sideloaded image URL directly
   without a separate REST API call.

#### 1.6.5

 * Chore: Added a GitHub-facing README.md alongside readme.txt (WordPress.org still
   reads readme.txt).
 * Chore: Deploy action pinned to a fixed commit SHA per automated security review.

#### 1.6.4

 * Add: Full Turkish (tr_TR) translation bundled with the plugin. The settings page
   now automatically
    displays in Turkish when the WordPress site’s language is 
   set to Turkish, and in English otherwise.
 * Improve: All settings-page strings are now wrapped for translation (`load_plugin_textdomain`),
   
   making the plugin translation-ready for additional languages in the future.

#### 1.6.3

 * Fix: readme.txt `Contributors` alanından geçersiz WordPress.org kullanıcı adı(`
   bahricanli`) kaldırıldı.

#### 1.6.2

 * Chore: WordPress.org eklenti sayfası için icon/banner görselleri eklendi (SVN
   assets/ dizini).
 * Chore: Repoda kalan bayat build zip dosyası kaldırıldı. Fonksiyonel bir değişiklik
   yoktur.

#### 1.6.1

 * Chore: GitHub üzerinden WordPress.org SVN’ine otomatik dağıtım (GitHub Actions)
   kuruldu.
    Bu, yalnızca yayın altyapısıyla ilgili bir değişikliktir; eklenti işlevselliğinde
   bir değişiklik yoktur.

#### 1.6.0

 * Fix: Posts published or updated via content-manager.tr now also populate Yoast
   SEO’s per-post
    meta description field (`_yoast_wpseo_metadesc`) from the post
   excerpt. Previously the excerpt was only saved to WordPress’s native excerpt 
   field, so Yoast’s search-result meta description tag was left empty whenever 
   the site’s own Yoast templates had no fallback configured.

#### 1.5.0

 * Fix: All internal function names, defines and the AJAX action prefix renamed 
   from the too-short
    bcp_ to the unique `bahrpu_` prefix, per WordPress.org Plugin
   Review feedback (naming collisions).
 * Fix: Removed direct `curl_*` usage for downloading remote images — now uses the
   WordPress HTTP API
    (`wp_remote_get`), per WordPress.org Plugin Review feedback.

#### 1.4.0

 * Add: « Varsayılan Yazar » (Default Author) setting on the settings page — choose
   which WordPress user
    new posts published via content-manager.tr are assigned
   to (defaults to user ID 1 if unset).

#### 1.3.1

 * Fix: AJAX post oluşturma/güncellemede yanıt (post_id) artık öne çıkan görsel 
   indirilip
    boyutlandırılmadan HEMEN gönderiliyor (mümkünse `fastcgi_finish_request()`
   ile). Önceden yavaş/başarısız görsel indirme adımı content-manager’ın 45sn zaman
   aşımına neden olup post’u « failed » işaretliyor, bu da aynı yazının tekrar gönderilip
   WordPress’te mükerrer post oluşmasına yol açıyordu.

#### 1.3.0

 * Rename: Plugin renamed to BahriCanli Publisher (slug: bahricanli-publisher).
 * Update: All function prefixes changed to `bcp_`, option key to `bahricanli_publisher_token`.
 * Update: REST namespace changed to `bahricanli-publisher/v1`.

#### 1.2.0

 * Fix: Featured image sideloading now works for URLs without a file extension (
   e.g. Unsplash).
 * Fix: Media upload permission granted via capability filter for token-authenticated
   requests.
 * Fix: Sanitize all `$_POST` fields in fix_images handler.

#### 1.1.0

 * Add: Image resize on upload (max 1600 px width).
 * Add: `fix_images` AJAX action to sideload external images already in post content.
 * Add: `version` AJAX action to check installed vs latest WordPress version.
 * Improve: Fallback from custom cURL downloader to `media_sideload_image` on failure.

#### 1.0.0

 * Initial release.
 * REST API endpoints: POST `/bahricanli-publisher/v1/posts`, PUT `/bahricanli-publisher/
   v1/posts/{id}`.
 * AJAX fallback endpoints for hosts that block the REST API.
 * Token-based authentication with settings page.

## Méta

 *  Version **1.11.1**
 *  Dernière mise à jour **il y a 1 mois**
 *  Installations actives **10+**
 *  Version de WordPress ** 6.0 ou plus **
 *  Testé jusqu’à **7.0.7**
 *  Version de PHP ** 8.1 ou plus **
 *  Langue
 * [English (US)](https://wordpress.org/plugins/bahricanli-publisher/)
 * Étiquettes
 * [api](https://fr.wordpress.org/plugins/tags/api/)[automation](https://fr.wordpress.org/plugins/tags/automation/)
   [content](https://fr.wordpress.org/plugins/tags/content/)[publishing](https://fr.wordpress.org/plugins/tags/publishing/)
   [rest-api](https://fr.wordpress.org/plugins/tags/rest-api/)
 *  [Vue avancée](https://fr.wordpress.org/plugins/bahricanli-publisher/advanced/)

## Évaluations

Aucun avis n’a encore été envoyé.

[Votre avis](https://wordpress.org/support/plugin/bahricanli-publisher/reviews/#new-post)

[Tout voir](https://wordpress.org/support/plugin/bahricanli-publisher/reviews/)

## Contributeurs

 *   [ Bahri CANLI ](https://profiles.wordpress.org/bmericc/)

## Support

Quelque chose à dire ? Besoin d’aide ?

 [Voir le forum de support](https://wordpress.org/support/plugin/bahricanli-publisher/)