Initial commit: AutoBlogger v0.1.0
WordPress plugin that auto-researches topics from Reddit, generates SEO-optimized articles via OpenRouter LLMs, runs them through a chief editor agent, and publishes on a daily schedule. Includes: - Full generation pipeline (collect → analyze → score → generate → review → publish) - Cost tracking and budget enforcement - Admin UI: settings, review queue, metrics, activity log - CI/CD pipeline (GitHub Actions → WordPress REST deploy) - Unit test suite (PHPUnit + Brain Monkey) - Structured logging with configurable verbosity Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
75
templates/admin/metabox-generation-info.php
Executable file
75
templates/admin/metabox-generation-info.php
Executable file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
/**
|
||||
* Post metabox template showing AutoBlogger generation metadata.
|
||||
*
|
||||
* @see admin/class-post-metabox.php — Renders this template.
|
||||
*
|
||||
* @var WP_Post $post The current post.
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
$meta = [
|
||||
'topic' => get_post_meta( $post->ID, '_autoblogger_topic', true ),
|
||||
'type' => get_post_meta( $post->ID, '_autoblogger_article_type', true ),
|
||||
'model' => get_post_meta( $post->ID, '_autoblogger_model_used', true ),
|
||||
'pipeline' => get_post_meta( $post->ID, '_autoblogger_pipeline_mode', true ),
|
||||
'verdict' => get_post_meta( $post->ID, '_autoblogger_editor_verdict', true ),
|
||||
'editor_notes' => get_post_meta( $post->ID, '_autoblogger_editor_notes', true ),
|
||||
'quality_score' => get_post_meta( $post->ID, '_autoblogger_quality_score', true ),
|
||||
'seo_score' => get_post_meta( $post->ID, '_autoblogger_seo_score', true ),
|
||||
'generated_at' => get_post_meta( $post->ID, '_autoblogger_generated_at', true ),
|
||||
'keywords' => get_post_meta( $post->ID, '_autoblogger_target_keywords', true ),
|
||||
];
|
||||
?>
|
||||
<div class="autoblogger-metabox">
|
||||
<p>
|
||||
<strong><?php esc_html_e( 'Generated:', 'autoblogger' ); ?></strong>
|
||||
<?php echo esc_html( $meta['generated_at'] ?: __( 'Unknown', 'autoblogger' ) ); ?>
|
||||
</p>
|
||||
<p>
|
||||
<strong><?php esc_html_e( 'Topic:', 'autoblogger' ); ?></strong>
|
||||
<?php echo esc_html( $meta['topic'] ?: '—' ); ?>
|
||||
</p>
|
||||
<p>
|
||||
<strong><?php esc_html_e( 'Type:', 'autoblogger' ); ?></strong>
|
||||
<?php echo esc_html( ucfirst( $meta['type'] ?: 'article' ) ); ?>
|
||||
</p>
|
||||
<p>
|
||||
<strong><?php esc_html_e( 'Model:', 'autoblogger' ); ?></strong>
|
||||
<?php echo esc_html( $meta['model'] ?: '—' ); ?>
|
||||
</p>
|
||||
<p>
|
||||
<strong><?php esc_html_e( 'Pipeline:', 'autoblogger' ); ?></strong>
|
||||
<?php echo esc_html( 'multi_step' === $meta['pipeline'] ? __( 'Multi-step', 'autoblogger' ) : __( 'Single-pass', 'autoblogger' ) ); ?>
|
||||
</p>
|
||||
<p>
|
||||
<strong><?php esc_html_e( 'Editor Verdict:', 'autoblogger' ); ?></strong>
|
||||
<span class="autoblogger-verdict-<?php echo esc_attr( $meta['verdict'] ?: 'unknown' ); ?>">
|
||||
<?php echo esc_html( ucfirst( $meta['verdict'] ?: __( 'Unknown', 'autoblogger' ) ) ); ?>
|
||||
</span>
|
||||
</p>
|
||||
<?php if ( $meta['quality_score'] ) : ?>
|
||||
<p>
|
||||
<strong><?php esc_html_e( 'Quality:', 'autoblogger' ); ?></strong>
|
||||
<?php echo esc_html( number_format( (float) $meta['quality_score'] * 100, 0 ) ); ?>%
|
||||
|
|
||||
<strong><?php esc_html_e( 'SEO:', 'autoblogger' ); ?></strong>
|
||||
<?php echo esc_html( number_format( (float) $meta['seo_score'] * 100, 0 ) ); ?>%
|
||||
</p>
|
||||
<?php endif; ?>
|
||||
<?php if ( $meta['editor_notes'] ) : ?>
|
||||
<p>
|
||||
<strong><?php esc_html_e( 'Editor Notes:', 'autoblogger' ); ?></strong><br>
|
||||
<?php echo esc_html( $meta['editor_notes'] ); ?>
|
||||
</p>
|
||||
<?php endif; ?>
|
||||
<?php if ( $meta['keywords'] ) : ?>
|
||||
<p>
|
||||
<strong><?php esc_html_e( 'Keywords:', 'autoblogger' ); ?></strong>
|
||||
<?php echo esc_html( implode( ', ', json_decode( $meta['keywords'], true ) ?: [] ) ); ?>
|
||||
</p>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
Reference in New Issue
Block a user