Future |
Automatisera inlägg |
ID: 5876Status: AccomplishVersion: N/AReport Date: 3rd April 2024Product: Hemsida | |
Reporter | Håkan Palm |
Assignee | |
Description Automatisera påminnelser typ ”Anmälan öppnar…” och ”Kom ihåg att anmäla dig…” med json data från Dans.se ================================ Grunden för att skapa en post med PHP ser ut så här:
// Insert the post into the database Dock måste vi lista ut hur ’publishing date’ och future tillägget fungerar för att kunna spara dessa parametrar i databasen ================================= Följande kod lägger till en post som publiseras den 20/4 och skapar en ”future action” delete 2024-06-25 10:00:00 function add_post($title, $content){
$my_post = array(
’post_title’ => wp_strip_all_tags( $title ),
’post_content’ => $content,
’post_status’ => ’publish’,
’post_author’ => 1,
’post_category’ => array( 25 ),
’post_date’ => ’2024-04-20’,
);
// Insert the post into the database
$post_id = wp_insert_post( $my_post );
if (defined(’PUBLISHPRESS_FUTURE_LOADED’)) {
/**
* Expiration types:
*
* – draft
* – delete
* – trash
* – private
* – stick
* – unstick
* – category
* – category-add
* – category-remove
*
* For ”category”, add additional attributes:
* ’category’ => $categoryId,
* ’categoryTaxonomy’ => $taxonomyName
*/
$options = [
’expireType’ => ’delete’,
’id’ => $post_id,
];
$timestamp = date(’U’, strtotime(’2024-06-25 10:00:00’));
do_action(
’publishpressfuture_schedule_expiration’,
$post_id,
$timestamp,
$options
);
}
}
======================================
Suspended since 1/6
Följande tillägg i koden lägger till en Utvald bild till inlägget om bilden inte redan finns i mediabiblioteket laddas bilden upp
$desc = ”Image inserted from Dans.se”;
//Search the database for image duplicates
global $wpdb;
$query = ”SELECT post_id FROM {$wpdb->postmeta} WHERE meta_value='”.$imgurl.”’”;
$image_id = $wpdb->get_var($query);
//If image dont exicst in Media Library then upload
//else attache image from Media Library
if($image_id == 0){
//upload image
$image = media_sideload_image( $imgurl, $post_id, $desc,’id’ );
//attache image to current post
set_post_thumbnail( $post_id, $image );
}else{
set_post_thumbnail($post_id, $image_id);
}
=======================================
Följande kod skapar en ny rubrik och sätter publish date och future action date efter hur synlighetsdatumen i Dans.se förhåller sig till dagens datum
if(time() >= $eventStartDate – week){
$publishDate = date(’Y-m-d’,time()); $futureActionDate = date(’Y-m-d’,$eventStartDate); $match = preg_match(’/[^\d+\/\d+\W\s].*/’, $event[’name’], $title); $title = ”Snart är det dags för ”.$title[0]; //#2 }elseif(time() > $startDirectReg – week && time() < $startDIrectReg && $startDirectReg <> 0){ $publishDate = date(’Y-m-d’,time()); $futureActionDate = date(’Y-m-d’,$startDirectReg); $match = preg_match(’/[^\d+\/\d+\W\s].*/’, $event[’name’], $title); $title = date(’j/n’,$startDirectReg).” öppnar anmälan till ”.$title[0]; //#3 }elseif(time() > $startDirectReg && time() < $eventStartDate – week && $startDirectReg <> 0){ $publishDate = date(’Y-m-d’,time()); $futureActionDate = date(’Y-m-d’,$eventStartDate – week); $match = preg_match(’/[^\d+\/\d+\W\s].*/’, $event[’name’], $title); $title = ”OBS! Nu är anmälan öppen till ”.$title[0]; //4 }elseif(time() > $eventStartDate){ $publishDate = date(’Y-m-d’,time()); $futureActionDate = date(’Y-m-d’,$eventStartDate); $title = $event[’name’]; //#0 }else{ $publishDate = date(’Y-m-d’,time()); if($startDirectReg == 0){ $futureActionDate = date(’Y-m-d’,$eventStartDate – week); }else{ $futureActionDate = date(’Y-m-d’,$startDirectReg – week); } $title = $event[’name’]; } ================================================
Från och med 14/4 testas koden skarpt på familjen-palm.se, uppdateringen sker dagligen kl 00:05
================================================
Från och med 29 april testas koden skarpt på vallentunadans.se, uppdateringen sker dagligen kl 00:05
Följande tillägg, eller motsvarande, är nödvändiga för att få koden att fungera:
– ACF, Advance Custom Fields. För att skapa fälten Admin Code, Unique ID och Sequence samt skapa inläggstypen Sekvenstexter – WP Crontrol, för att schemalägga när funktionen add_highlights ska köras (dagligen 00:05) ================================================== 1/6 Uppdateringen sker nu kl 02:05 för att hinna fullfölja radering av inlägg som sker 00:00 Automatiseringen är ändrad så att inga bilder längre laddas ned i vårt mediabibliotek. Bilderna hämtas ”on the fly” via länken till Dans.se. För att kunna använda externa URL som Utvald Bild används tillägget Featured Images From URL (FIFU) Följande kod sätter bild till tillägget fifu_dev_set_image($post_id,$imgurl); |