π WordPress DAON Integration
Protect all your WordPress content automatically with seamless integration.
π Quick Installation
Option 1: WordPress Plugin (Recommended)
1. WordPress Admin β Plugins β Add New
2. Search "DAON Creator Protection"
3. Install & Activate
4. Configure in Settings β DAON Protection
5. Done! All new posts automatically protected
Option 2: Manual Installation
# Download plugin
wget https://github.com/daon-network/wordpress-plugin/releases/latest/download/daon-creator-protection.zip
# Upload via WordPress Admin
# Plugins β Add New β Upload Plugin
βοΈ Plugin Configuration
Initial Setup
Settings β DAON Protection:
β
Enable automatic protection for new posts
β
Show protection badges on posts
β
Include in RSS feeds
π License: Liberation License v1.0 (recommended)
π API Key: [Your DAON API key]
Content Types Protected
- β Blog Posts - All new posts protected on publish
- β Pages - Static pages get protection
- β Custom Post Types - Works with any content
- β WooCommerce Products - Product descriptions protected
- β Portfolio Items - Creative work portfolios
License Options
Liberation License v1.0:
β’ Blocks AI training without compensation
β’ Allows personal use and education
β’ Perfect for bloggers and creators
Creative Commons BY-NC:
β’ Academic-friendly sharing
β’ Non-commercial use allowed
β’ Good for educational content
All Rights Reserved:
β’ Maximum copyright protection
β’ Commercial licensing control
β’ Best for premium content
π¨ Theme Integration
Automatic Protection Badges
The plugin automatically adds protection notices:
<!-- Automatically inserted after post content -->
<div class="daon-protection-notice">
π‘οΈ This content is protected by DAON
<a href="https://verify.daon.network/abc123" target="_blank">Verify Protection</a>
<span class="protection-date">Protected: March 15, 2024</span>
</div>
Custom Template Tags
Add to your theme templates:
<?php
// Check if content is protected
if (daon_is_protected(get_the_ID())) {
echo '<div class="protection-badge">';
echo 'π‘οΈ Protected by DAON';
echo '<a href="' . daon_get_verification_url(get_the_ID()) . '">Verify</a>';
echo '</div>';
}
// Get protection details
$protection = daon_get_protection_details(get_the_ID());
if ($protection) {
echo '<p>Protected: ' . $protection['date'] . '</p>';
echo '<p>License: ' . $protection['license'] . '</p>';
}
// Manual protection button for editors
if (current_user_can('edit_post', get_the_ID())) {
echo '<button onclick="daonProtectPost(' . get_the_ID() . ')">Protect with DAON</button>';
}
?>
π οΈ Developer Integration
Hooks and Filters
// Customize protection metadata
add_filter('daon_protection_metadata', function($metadata, $post_id) {
$post = get_post($post_id);
// Add custom fields
$metadata['category'] = get_the_category_list(',', '', $post_id);
$metadata['reading_time'] = estimate_reading_time($post->post_content);
$metadata['seo_title'] = get_post_meta($post_id, '_yoast_wpseo_title', true);
return $metadata;
}, 10, 2);
// Custom protection triggers
add_action('daon_before_protection', function($post_id) {
// Run before protection (e.g., content validation)
update_post_meta($post_id, '_daon_protection_queued', time());
});
add_action('daon_after_protection', function($post_id, $result) {
// Run after successful protection
if ($result->success) {
// Send notification to author
wp_mail(
get_the_author_meta('email', get_post_field('post_author', $post_id)),
'Content Protected',
'Your post "' . get_the_title($post_id) . '" is now protected by DAON.'
);
}
});
// Filter which post types get protected
add_filter('daon_protected_post_types', function($post_types) {
// Add custom post types
$post_types[] = 'portfolio';
$post_types[] = 'testimonials';
// Remove post types you don't want protected
unset($post_types['revision']);
return $post_types;
});
Manual Protection API
// Protect specific content manually
$result = daon_protect_post($post_id, $license = 'liberation_v1');
if ($result->success) {
echo 'Protected! Verification: ' . $result->verification_url;
} else {
echo 'Protection failed: ' . $result->error;
}
// Bulk protect existing posts
$posts = get_posts(['numberposts' => -1, 'post_status' => 'publish']);
foreach ($posts as $post) {
if (!daon_is_protected($post->ID)) {
daon_protect_post($post->ID);
}
}
// Protect with custom metadata
daon_protect_content([
'content' => $post_content,
'metadata' => [
'title' => $post_title,
'author' => $author_name,
'url' => get_permalink($post_id),
'custom_field' => get_post_meta($post_id, 'custom_field', true)
],
'license' => 'cc_by_nc'
]);
πͺ E-commerce Integration
WooCommerce Protection
// Protect product descriptions automatically
add_action('woocommerce_new_product', 'daon_protect_product');
function daon_protect_product($product_id) {
$product = wc_get_product($product_id);
if ($product && $product->get_description()) {
daon_protect_content([
'content' => $product->get_description(),
'metadata' => [
'title' => $product->get_name(),
'type' => 'product_description',
'price' => $product->get_price(),
'sku' => $product->get_sku()
],
'license' => 'all_rights' // Commercial protection
]);
}
}
// Show protection on product pages
add_action('woocommerce_single_product_summary', function() {
global $product;
if (daon_is_protected($product->get_id())) {
echo '<div class="daon-product-protection">';
echo 'π‘οΈ Product description protected by DAON';
echo '</div>';
}
}, 25);
Digital Product Protection
// Protect digital downloads
add_action('edd_complete_download_purchase', 'protect_digital_product');
function protect_digital_product($payment_id, $new_status, $old_status) {
$downloads = edd_get_payment_meta_downloads($payment_id);
foreach ($downloads as $download) {
$download_files = edd_get_download_files($download['id']);
foreach ($download_files as $file) {
// Protect file description/content
daon_protect_content([
'content' => $file['name'] . ' - ' . edd_get_download_excerpt($download['id']),
'metadata' => [
'title' => get_the_title($download['id']),
'type' => 'digital_product',
'file_url' => $file['file']
],
'license' => 'all_rights'
]);
}
}
}
π Analytics & Tracking
Protection Analytics
// Dashboard widget showing protection stats
add_action('wp_dashboard_setup', 'daon_add_dashboard_widget');
function daon_add_dashboard_widget() {
wp_add_dashboard_widget(
'daon_protection_stats',
'π‘οΈ DAON Protection Stats',
'daon_dashboard_widget_content'
);
}
function daon_dashboard_widget_content() {
$protected_posts = get_posts([
'meta_key' => '_daon_protected',
'meta_value' => '1',
'numberposts' => -1
]);
$total_posts = wp_count_posts('post')->publish;
$protection_percentage = (count($protected_posts) / $total_posts) * 100;
echo '<p><strong>' . count($protected_posts) . '</strong> posts protected</p>';
echo '<p><strong>' . round($protection_percentage, 1) . '%</strong> protection coverage</p>';
$recent_protections = array_slice($protected_posts, -5);
echo '<h4>Recent Protections:</h4>';
echo '<ul>';
foreach ($recent_protections as $post) {
echo '<li><a href="' . get_edit_post_link($post->ID) . '">' . $post->post_title . '</a></li>';
}
echo '</ul>';
}
Protection Reports
// Generate protection report
function generate_daon_protection_report() {
$protected_posts = get_posts([
'meta_key' => '_daon_protected',
'meta_value' => '1',
'numberposts' => -1,
'post_status' => 'publish'
]);
$report = [
'summary' => [
'total_protected' => count($protected_posts),
'protection_date_range' => [
'earliest' => get_post_meta($protected_posts[0]->ID, '_daon_protection_date', true),
'latest' => get_post_meta(end($protected_posts)->ID, '_daon_protection_date', true)
]
],
'by_author' => [],
'by_category' => [],
'verification_urls' => []
];
foreach ($protected_posts as $post) {
$author = get_the_author_meta('display_name', $post->post_author);
$report['by_author'][$author] = ($report['by_author'][$author] ?? 0) + 1;
$verification_url = get_post_meta($post->ID, '_daon_verification_url', true);
$report['verification_urls'][] = [
'title' => $post->post_title,
'url' => $verification_url,
'date' => get_post_meta($post->ID, '_daon_protection_date', true)
];
}
return $report;
}
π Advanced Features
Conditional Protection
// Only protect posts with certain criteria
add_filter('daon_should_protect_post', function($should_protect, $post_id) {
$post = get_post($post_id);
// Don't protect drafts or private posts
if ($post->post_status !== 'publish') {
return false;
}
// Don't protect short posts (less than 500 words)
if (str_word_count(strip_tags($post->post_content)) < 500) {
return false;
}
// Only protect posts in certain categories
$protected_categories = ['stories', 'articles', 'reviews'];
$post_categories = get_the_category($post_id);
foreach ($post_categories as $category) {
if (in_array($category->slug, $protected_categories)) {
return true;
}
}
return false;
}, 10, 2);
Custom Protection Workflows
// Multi-step protection workflow
add_action('publish_post', 'daon_queue_protection', 20);
function daon_queue_protection($post_id) {
// Add to protection queue instead of immediate protection
wp_schedule_single_event(time() + 300, 'daon_process_protection_queue', [$post_id]);
}
add_action('daon_process_protection_queue', 'daon_delayed_protection');
function daon_delayed_protection($post_id) {
// Wait 5 minutes after publish to allow for quick edits
$post = get_post($post_id);
if ($post && $post->post_status === 'publish') {
// Check if post was modified since publish
$publish_time = strtotime($post->post_date);
$modified_time = strtotime($post->post_modified);
if (($modified_time - $publish_time) < 300) {
// Recent edit, delay protection another 5 minutes
wp_schedule_single_event(time() + 300, 'daon_process_protection_queue', [$post_id]);
} else {
// Stable content, proceed with protection
daon_protect_post($post_id);
}
}
}
π‘οΈ Security & Performance
Performance Optimization
// Cache protection status
function daon_is_protected_cached($post_id) {
$cache_key = "daon_protected_{$post_id}";
$cached = wp_cache_get($cache_key);
if ($cached !== false) {
return $cached === '1';
}
$is_protected = get_post_meta($post_id, '_daon_protected', true) === '1';
wp_cache_set($cache_key, $is_protected ? '1' : '0', '', 300); // Cache for 5 minutes
return $is_protected;
}
// Async protection processing
add_action('wp_ajax_daon_protect_post', 'handle_async_protection');
function handle_async_protection() {
check_ajax_referer('daon_protection_nonce');
$post_id = intval($_POST['post_id']);
if (current_user_can('edit_post', $post_id)) {
$result = daon_protect_post($post_id);
wp_send_json($result);
} else {
wp_send_json_error('Insufficient permissions');
}
}
π Success Stories
Professional Blog - 1,200 Posts Protected
βThe WordPress plugin protected our entire content archive automatically. When a competitor started scraping our articles for their AI chatbot, we had the blockchain evidence to shut them down legally.β
Recipe Blog - Food Network Protection
βOur recipe blog gets millions of views. The DAON plugin protects our original recipes from being stolen for AI cooking apps. Weβve successfully defended our content three times using the verification URLs.β
Tech Blog - Developer Community
βAs a developer blog, we needed something that wouldnβt slow down our site. DAON protection happens in the background - zero performance impact, but full legal protection.β
π₯ Download & Setup
Protect your WordPress content today. Every plugin installation is a victory against exploitation. π‘οΈ