🤔 Porque este código no funciona en el tema twentyseventeen?

  • Autor Autor gusta1996
  • Fecha de inicio Fecha de inicio
gusta1996

gusta1996

Delta
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
hola amigo betas
tal com dice el titulo
porque no funciona este codigo en el tema twentyseventeen?

JavaScript:
//primera imagen como destacada
function auto_post_thumbnail() {
    global $post;
    $already_has_thumb = has_post_thumbnail($post->ID);
    if (!$already_has_thumb)  {
        $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
        if ($attached_image) {
            foreach ($attached_image as $attachment_id => $attachment) {
                set_post_thumbnail($post->ID, $attachment_id);
            }
        } else {
            set_post_thumbnail($post->ID, 'ID_imagen_por_defecto');
        }
    }
}

add_action('the_post', 'auto_post_thumbnail');
add_action('save_post', 'auto_post_thumbnail');
add_action('draft_to_publish', 'auto_post_thumbnail');
add_action('new_to_publish', 'auto_post_thumbnail');
add_action('pending_to_publish', 'auto_post_thumbnail');
add_action('future_to_publish', 'auto_post_thumbnail');

lo probé una ves con el tema generatepress, y funciono correctamente
se supone que lo que hace el codigo es revisar los post, y si encuentra un post sin imagen destacada, este le asigna la primera imagen del post como imagen destacada
porfavor me prodian ayudar y darme solucion?
 
Última edición:
hola amigo betas
tal com dice el titulo
porque no funciona este codigo en el tema twentyseventeen?

JavaScript:
//primera imagen como destacada
function auto_post_thumbnail() {
    global $post;
    $already_has_thumb = has_post_thumbnail($post->ID);
    if (!$already_has_thumb)  {
        $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
        if ($attached_image) {
            foreach ($attached_image as $attachment_id => $attachment) {
                set_post_thumbnail($post->ID, $attachment_id);
            }
        } else {
            set_post_thumbnail($post->ID, 'ID_imagen_por_defecto');
        }
    }
}

add_action('the_post', 'auto_post_thumbnail');
add_action('save_post', 'auto_post_thumbnail');
add_action('draft_to_publish', 'auto_post_thumbnail');
add_action('new_to_publish', 'auto_post_thumbnail');
add_action('pending_to_publish', 'auto_post_thumbnail');
add_action('future_to_publish', 'auto_post_thumbnail');

lo probé una ves con el tema generatepress, y funciono correctamente
se supone que lo que hace el codigo es revisar los post, y si encuentra un post sin imagen destacada, este le asigna la primera imagen del post como imagen destacada
porfavor me prodian ayudar y darme solucion?
Si en el post no subes imagen no funcionara.
 
si subi imagen en el post
 
ACTUALIZACION
encontre un error
en esta linea no es con comillas dobles, sino con comillas simples
JavaScript:
$attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );

Ahora el codigo si trabaja, pero no funciona bien, envés que seleccionar la primera imagen del post como imagen destacada, selecciona la primera imagen de mi galeria, y eso hace con todos los post
 
algun plugin que recomiendes que pueda hacer este trabajo?
 
a mi no me funciona con comillas dobles, cual seria la diferencia?
Probaste asi?
PHP:
$attached_image = get_children('post_parent='.$post->ID.'&post_type=attachment&post_mime_type=image&numberposts=1');
 
ACTUALIZACION
encontre un error
en esta linea no es con comillas dobles, sino con comillas simples
JavaScript:
$attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );

Ahora el codigo si trabaja, pero no funciona bien, envés que seleccionar la primera imagen del post como imagen destacada, selecciona la primera imagen de mi galeria, y eso hace con todos los post

Por supuesto, te va a funcionar mal porque al cambiar comillas dobles por simples en el parametro post_parent en lugar de enviar un id valido va el literal $post->ID.
Fijate porque quizas no le asignaste ningun thumbnail a la publicacion en cuestion.
 
Por supuesto, te va a funcionar mal porque al cambiar comillas dobles por simples en el parametro post_parent en lugar de enviar un id valido va el literal $post->ID.
Fijate porque quizas no le asignaste ningun thumbnail a la publicacion en cuestion.
Claro que no asignó un thumbnail al post, justamente lo que busca el usuariio es que se asigne el thumbnail automaticamente tomando la primer imagen que encuentre en el post
 
algun plugin que recomiendes que pueda hacer este trabajo?
El plugin FIFU hace exactamente lo que buscas, yo lo uso y funciona.
Toma la primer imagen que hay en cada post y la muestra como imagen destacada.
Desventaja: a menos que pagues el premium, la imagen que se muestra es la original sin redimensionar, lo que produce un aumento en la carga de la página si estas mostrando muchos post en un grid.

Por otra parte, si logras hacer funcionar ese codigo seria genial.
 
post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1
'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'numberposts' => '1'
 
Atrás
Arriba