feat: v0.2.0 — PullPush.io admin UI, version bump, deploy fix

- Remove Reddit OAuth fields (Client ID/Secret) from admin settings
- Add source status indicator showing PullPush.io + .json fallback health
- Add configurable cache TTL, time window, and posts-per-subreddit settings
- Update Test Connections to report which Reddit source is active
- Bump version 0.1.0 → 0.2.0 across plugin header, constant, and readme
- Switch deploy pipeline from zip/REST API to SSH rsync with --delete
- Add LiteSpeed cache purge step to prevent stale OPcache after deploy
- Update CHANGELOG.md and readme.txt for 0.2.0 release

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
peptiderepo
2026-04-12 10:59:35 +07:00
parent fd404a26ab
commit 726b378a52
8 changed files with 218 additions and 155 deletions

View File

@@ -77,18 +77,12 @@ class PRAutoBlogger_Settings_Fields {
'icon' => '🔑',
],
[
'id' => 'prautoblogger_reddit_client_id',
'label' => __( 'Reddit Client ID', 'prautoblogger' ),
'type' => 'text',
'id' => 'prautoblogger_reddit_source_status',
'label' => __( 'Reddit Data Source', 'prautoblogger' ),
'type' => 'source_status',
'section' => 'prautoblogger_api',
'description' => __( 'Create a script app at reddit.com/prefs/apps', 'prautoblogger' ),
'icon' => '🤖',
],
[
'id' => 'prautoblogger_reddit_client_secret',
'label' => __( 'Reddit Client Secret', 'prautoblogger' ),
'type' => 'password',
'section' => 'prautoblogger_api',
'description' => __( 'Uses PullPush.io (primary) and Reddit .json (fallback). No API key required.', 'prautoblogger' ),
'icon' => '📡',
],
// ── AI Models ───────────────────────────────────────────────
@@ -191,7 +185,7 @@ class PRAutoBlogger_Settings_Fields {
'type' => 'checkboxes',
'section' => 'prautoblogger_sources',
'options' => [
'reddit' => __( 'Reddit', 'prautoblogger' ),
'reddit' => __( 'Reddit (via PullPush.io)', 'prautoblogger' ),
'tiktok' => __( 'TikTok (coming soon)', 'prautoblogger' ),
'instagram' => __( 'Instagram (coming soon)', 'prautoblogger' ),
'youtube' => __( 'YouTube (coming soon)', 'prautoblogger' ),
@@ -199,6 +193,39 @@ class PRAutoBlogger_Settings_Fields {
'default' => '["reddit"]',
'description' => __( 'Select which platforms to monitor for topics.', 'prautoblogger' ),
],
[
'id' => 'prautoblogger_pullpush_cache_ttl',
'label' => __( 'Research Cache (hours)', 'prautoblogger' ),
'type' => 'number',
'section' => 'prautoblogger_sources',
'default' => 6,
'min' => 1,
'max' => 72,
'description' => __( 'How long to cache PullPush research results before re-fetching. Saves API calls on low-traffic sites.', 'prautoblogger' ),
],
[
'id' => 'prautoblogger_reddit_time_filter',
'label' => __( 'Reddit Time Window', 'prautoblogger' ),
'type' => 'select',
'section' => 'prautoblogger_sources',
'default' => 'day',
'options' => [
'day' => __( 'Past 24 hours', 'prautoblogger' ),
'week' => __( 'Past week', 'prautoblogger' ),
'month' => __( 'Past month', 'prautoblogger' ),
],
'description' => __( 'How far back to search for trending posts and comments.', 'prautoblogger' ),
],
[
'id' => 'prautoblogger_reddit_posts_per_subreddit',
'label' => __( 'Posts per Subreddit', 'prautoblogger' ),
'type' => 'number',
'section' => 'prautoblogger_sources',
'default' => 25,
'min' => 5,
'max' => 100,
'description' => __( 'Maximum posts to fetch per subreddit per collection run.', 'prautoblogger' ),
],
// ── Schedule & Budget ───────────────────────────────────────
[