פאַסטבאָץ: בויען אַ מנהג וואָרדפּרעסס קסמל סיטעמאַפּ פֿאַר טריינינג דיין אַי באָט
Martech Zone האט טויזנטער פון אַרטיקלען, מיט פילע פון זיי אַוטדייטיד. איך האב שוין עטליכע יאר געארבייט אויפן פלאץ צו באזייטיגן אדער אפדעיטירן הונדערטער ארטיקלען, אבער איך האב נאך אסאך מער. אין דער זעלביקער צייט, איך וואָלט ווי צו באַן אַ נאַטירלעך שפּראַך באָט מיט מיין אינהאַלט, אָבער די לעצטע זאַך איך ווילן צו טאָן איז טריינינג עס אויף אַוטדייטיד אַרטיקלען.
פאַסטבאָץ איז אַ טשאַטגפּט-פּאַוערד באָט בילדער אַז איר קענען טכילעס באַן ניצן דיין סיטעמאַפּ (אָדער אנדערע אָפּציעס). איך דארף אַ פילטערד סיטעמאַפּ וואָס ינקלודעד אַלע אַרטיקלען מאַדאַפייד זינט אַ ספּעציפיש דאַטע. דערצו, איך געוואלט צו אַרייַננעמען מיין בלעטער און אַקראַנאַמז (אַ מנהג פּאָסטן טיפּ). איך האט נישט וועלן צו אַרייַננעמען אַרקייוו בלעטער פֿאַר קאַטעגאָריעס און טאַגס אָדער האָבן מיין היים בלאַט זינט עס איז אויך אַן אַרקייוו.
ניצן די קאָד איך צושטעלן אין די סוף פון דעם אַרטיקל; איך געבויט אַ מנהג וואָרדפּרעסס פּלוגין וואָס קריייץ אַ מנהג קסמל סיטעמאַפּ אַז דינאַמיקאַללי ריפרעשיז יעדער מאָל איך אַרויסגעבן אַ פּאָסטן. FastBots האט נישט אַן אָטאַמייטיד ריטריינינג אופֿן ווי איך אַרויסגעבן יעדער אַרטיקל, אָבער דאָס איז אַ גרויס סטאַרטינג פונט פֿאַר ניצן די פּלאַטפאָרמע.
די סיטעמאַפּ ימפּאָרץ אַלע די לינקס צו באַן די AI באָט אויף:
אַלע בלעטער זענען איצט ימפּאָרטיד, און איר קענען באַן דיין באָט אויף די אָנווענדלעך דאַטן. איר אויך האָבן די געלעגנהייט צו באַזייַטיקן ספּעציפיש בלעטער. FastBots אויך ערלויבט מיר צו קאַסטאַמייז מיין אַי באָט ס בראַנדינג און אפילו אַרייַננעמען אַ לינק צו אַ באַטייַטיק אַרטיקל אין מיין ענטפער. עס איז אויך אַ פירן בעטן געבויט אין דער פּלאַטפאָרמע.
די פּלאַטפאָרמע געארבעט פלאָלאַסלי ... איר קענען געבן מיין באָט אַ פּראָבע פאָר דאָ:
קאַטער Martech Zoneס באָט, מאַרטי בויען דיין פאַסטבאָץ אַי באָט
מנהג XML סיטעמאַפּ
אלא ווי צו לייגן דעם פאַנגקשאַנאַליטי צו מיין טעמע, איך געבויט אַ מנהג וואָרדפּרעסס פּלוגין צו בויען אַ סיטעמאַפּ. נאָר לייגן אַ וועגווייַזער אין דיין פּלוגינס טעקע, דעמאָלט אַ PHP טעקע מיט די פאלגענדע קאָד:
<?php
/*
Plugin Name: Bot Sitemap
Description: Dynamically generates an XML sitemap including posts modified since a specific date and updates it when a new article is added.
Version: 1.0
Author: Your Name
*/
// Define the date since when to include modified posts (format: Y-m-d)
$mtz_modified_since_date = '2020-01-01';
// Register the function to update the sitemap when a post is published
add_action('publish_post', 'mtz_update_sitemap_on_publish');
// Function to update the sitemap
function mtz_update_sitemap_on_publish($post_id) {
// Check if the post is not an auto-draft
if (get_post_status($post_id) != 'auto-draft') {
mtz_build_dynamic_sitemap();
}
}
// Main function to build the sitemap
function build_bot_sitemap() {
global $mtz_modified_since_date;
$args = array(
'post_type' => 'post',
'date_query' => array(
'column' => 'post_modified',
'after' => $mtz_modified_since_date
),
'posts_per_page' => -1 // Retrieve all matching posts
);
$postsForSitemap = get_posts($args);
// Fetch all 'acronym' custom post type posts
$acronymPosts = get_posts(array(
'post_type' => 'acronym',
'posts_per_page' => -1,
));
// Fetch all pages except the home page
$pagesForSitemap = get_pages();
$home_page_id = get_option('page_on_front');
$sitemap = '<?xml version="1.0" encoding="UTF-8"?>';
$sitemap .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
foreach($postsForSitemap as $post) {
setup_postdata($post);
if ($post->ID != $home_page_id) {
$sitemap .= '<url>'.
'<loc>'. get_permalink($post) .'</loc>'.
'<lastmod>'. get_the_modified_date('c', $post) .'</lastmod>'.
'<changefreq>weekly</changefreq>'.
'</url>';
}
}
foreach($acronymPosts as $post) {
setup_postdata($post);
if ($post->ID != $home_page_id) {
$sitemap .= '<url>'.
'<loc>'. get_permalink($post) .'</loc>'.
'<lastmod>'. get_the_modified_date('c', $post) .'</lastmod>'.
'<changefreq>weekly</changefreq>'.
'</url>';
}
}
foreach($pagesForSitemap as $page) {
setup_postdata($page);
if ($page->ID != $home_page_id) {
$sitemap .= '<url>'.
'<loc>'. get_permalink($page) .'</loc>'.
'<lastmod>'. get_the_modified_date('c', $page) .'</lastmod>'.
'<changefreq>monthly</changefreq>'.
'</url>';
}
}
wp_reset_postdata();
$sitemap .= '</urlset>';
file_put_contents(get_home_path().'bot-sitemap.xml', $sitemap);
}
// Activate the initial sitemap build on plugin activation
register_activation_hook(__FILE__, 'build_bot_sitemap');