Velkommen til dag 19 af vores WordPress-julekalender. Kig forbi hver eneste dag helt frem til jul, hvor vi vil poste nye tips og tricks relateret til WordPress hver eneste dag.
Hvis du ønsker et overblik over alle vores opslag i løbet af julen kan du se det på dette opslag
Med dette snippet kan du sørge for, at du altid har et billede på dine blogposts
Er du typen, som af og til glemmer at sætte billede på din blogposts? I dagens låge har vi et snippet, som kan hjælpe dig til at huske, at der skal indsættes et billede til dine blog posts. Vi finder dette rigtig anvendeligt, hvis man har kunder som glemmer at sætte billede på inden de poster. Vi anvender derfor dette snippet, så det derved er påkrævet at der skal være et featured image. Hvis kunden glemmer at vælge et billede og forsøger at udgive, så vil personen derved modtage en fejlmeddelelse, hvor personen ikke får lov til at få udgivet sin post før der er valgt et billede til den pågældende post.
Hvordan fungerer den pågældende kode?
Koden er meget simpel, hvor den blot placerer den pågældende snippet i din functions.php. Koden vil herfra selv klare resten, hvor den fremadrettet sørger for, at du bliver husket på at indsætte et billede til dine posts. Det er ligeledes også vigtigt at du opbevarer din kode forsvarligt, hvor den skal indsættes i din functions.php placeret i dit childtheme.
//REQUIRE A FEATURED IMAGE ON POSTS
add_action(‘save_post’, ‘wpds_check_thumbnail’);
add_action(‘admin_notices’, ‘wpds_thumbnail_error’);
function wpds_check_thumbnail($post_id) {
// change to any custom post type
if(get_post_type($post_id) != ‘post’)
return;
if ( !has_post_thumbnail( $post_id ) ) {
// set a transient to show the users an admin message
set_transient( “has_post_thumbnail”, “no” );
// unhook this function so it doesn’t loop infinitely
remove_action(‘save_post’, ‘wpds_check_thumbnail’);
// update the post set it to draft
wp_update_post(array(‘ID’ => $post_id, ‘post_status’ => ‘draft’));
add_action(‘save_post’, ‘wpds_check_thumbnail’);
} else {
delete_transient( “has_post_thumbnail” );
}
}
function wpds_thumbnail_error()
{
// check if the transient is set, and display the error message
if ( get_transient( “has_post_thumbnail” ) == “no” ) {
echo ”
You must select Featured Image. Your Post is saved but it can not be published.
“;
delete_transient( “has_post_thumbnail” );
}
}