Puedes enlazar con save_post
, wp_insert_post
o wp_insert_post_data
para modificar el objeto de la publicación antes de insertarlo o guardarlo.
Al usar save_post
o wp_insert_post
, la devolución de llamada tendría que declarar dos argumentos y recibiría el objeto post como la segunda variable entrante ... (y le estoy mostrando que cubra las alternativas, el ejemplo de TheDeadMedic estaría bien para ).
Para establecer valores predeterminados para un tipo de publicación en particular para publicaciones nuevas , puedes usar un pequeño truco conectando a default_content
(aunque default_title
también funcionaría), como el ejemplo que di aquí .
Básicamente necesita dos funciones, una para modificar los objetos de publicación en el momento de guardar / insertar y otra para establecer los valores de objeto de publicación predeterminados. A continuación, se muestra un ejemplo de las dos funciones necesarias (nuevamente, puede cambiar la devolución de llamada de save_post por el ejemplo). ya dado por TheDeadMedic).
add_action( 'save_post', 'check_type_values', 10, 2 );
function check_type_values( $post_id, $post ) {
if( $post->post_type )
switch( $post->post_type ) {
case 'my_custom_type':
$post->post_status = 'private';
$post->post_password = ( '' == $post->post_password ) ? 'some_default_when_no_password' : $post->post_password;
break;
}
return;
}
add_filter( 'default_content', 'set_default_values', 10, 2 );
function set_default_values( $post_content, $post ) {
if( $post->post_type )
switch( $post->post_type ) {
case 'my_custom_type':
$post->post_status = 'private';
$post->post_password = 'some_default_password';
break;
}
return $post_content;
}
Espero que ayude ...