Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #882801

    Hi there,
    i found the following code. Before i want to add, i want to ask you if this makes sense:

    /* Automatically set the image Title, Alt-Text, Caption & Description upon upload
    --------------------------------------------------------------------------------------*/
    add_action( 'add_attachment', 'my_set_image_meta_upon_image_upload' );
    function my_set_image_meta_upon_image_upload( $post_ID ) {
    
    	// Check if uploaded file is an image, else do nothing
    
    	if ( wp_attachment_is_image( $post_ID ) ) {
    
    		$my_image_title = get_post( $post_ID )->post_title;
    
    		// Sanitize the title:  remove hyphens, underscores & extra spaces:
    		$my_image_title = preg_replace( '%\s*[-_\s]+\s*%', ' ',  $my_image_title );
    
    		// Sanitize the title:  capitalize first letter of every word (other letters lower case):
    		$my_image_title = ucwords( strtolower( $my_image_title ) );
    
    		// Create an array with the image meta (Title, Caption, Description) to be updated
    		// Note:  comment out the Excerpt/Caption or Content/Description lines if not needed
    		$my_image_meta = array(
    			'ID'		=> $post_ID,			// Specify the image (ID) to be updated
    			'post_title'	=> $my_image_title,		// Set image Title to sanitized title
    			'post_excerpt'	=> $my_image_title,		// Set image Caption (Excerpt) to sanitized title
    			'post_content'	=> $my_image_title,		// Set image Description (Content) to sanitized title
    		);
    
    		// Set the image Alt-Text
    		update_post_meta( $post_ID, '_wp_attachment_image_alt', $my_image_title );
    
    		// Set the image meta (e.g. Title, Excerpt, Content)
    		wp_update_post( $my_image_meta );
    
    	} 
    }

    Thank you, Greetings tob

    #883701

    Hey Tobiy,

    I’m not sure to be honest, why exactly would you want to use that code?

    Best regards,
    Rikard

Viewing 2 posts - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.