Estoy tratando de obtener el título de la publicación de un post_type (publicación / página / cartera) en el panel de administración fuera de el ciclo.

Casi probé todas las soluciones posibles, pero sin éxito:

//method 1 $content_post = get_post(3208); $_menu_item_title = $content_post->post_title; //(Trying to get property of non-object error) //method 2 $obj = get_post_type_object($_menu_item_type); $content_post = get_post(3208); //(Trying to get property of non-object error) $_menu_item_title = $obj->$content_post->post_title; //method 3 $_menu_item_title = the_title(3208); //(no error but nothing is store) //method 4 $_menu_item_title = get_the_title(3208); //(no error but nothing is store) 

Comentarios

  • Solo asegurándome;) Si el Método 1 devuelve un " error no objeto ", normalmente significa que puede ' t encontrar la publicación.
  • Los métodos 2 y 3 no funcionarán definitivamente. Si ' asegúrese de que su ID de publicación es 3208, entonces el método 1, 4 debería funcionar.
  • Para el método 1 var_dump ($ content_post); salir; después de $ content_post y verifique la publicación get o no. Si la salida es NULL, verifique las salidas de ID de publicación o no.

Responder

Si solo tiene ID de una publicación y solo desea el título de esa publicación, luego use será la mejor manera de hacer esto, supongo.

La sintaxis de esta función:

get_post_field( $field, $post_id, $context ); 

Entonces, el código que resolverá su problema se ve así:

$title = get_post_field( "post_title", $POST_ID ); // most probably you want to display the title, so you can ignore last param 

Y abordar sus fragmentos de código … El primer método debería funcionar, si el La publicación existe y está publicada o el usuario actual puede verla.

El segundo método no funciona. No tiene sentido.

El tercer y cuarto método tampoco pueden funcionar. Estas funciones no toman post_ID como parámetro, por lo que su uso no tiene mucho sentido …

Respuesta

Como ya se ha señalado, el «error sin objeto» significa que get_post () no devolvió nada y que la publicación no existe .

Sin embargo, si está seguro de que esta publicación existe, aquí hay un método alternativo tomado del códice

<?php $post_7 = get_post(7, ARRAY_A); $title = $post_7["post_title"]; ?> 

Si, nuevamente, no se devuelve nada, ¿está seguro de que esta publicación se ha publicado y no está en estado de Borrador?

Comentarios

  • ¿No sería más eficiente usar get_post_field?
  • @KrzysiekDr ó żdż get_post_field () usa get_post (), por lo que ' no hay diferencia en el rendimiento en el lado de la búsqueda

Respuesta

Obtuve el título relevante de la publicación usando fol proceso de bajada. primero: obtengo información de la identificación de la publicación desde el tablero [coloque el cursor sobre la publicación y mire en la parte inferior izquierda del tablero (obtendrá información de identificación allí)]

Segundo: dentro del bucle de wordpress que usé:

<?php if(have_posts()): while(have_posts()) : $var_name= get_the_ID(); ?> <?php if($var_name == post-id-value): get_the_title(); ?> <?php endwhile; endif; ?> 

aquí post-id-value es el valor entero que es el id de tu publicación. Puedes almacenar el valor get_the_title () en una variable y la función echo para repita el valor en la ubicación deseada. Nota * debe tener al menos una publicación en su panel de WordPress. De lo contrario, puede obtener resultados inesperados (el navegador incluso la computadora puede fallar)

Responder

utilizando estos métodos de WP predeterminados, puede obtener el título de la página actual y la publicación actual.

<?php echo get_the_title(); 

Comentarios

  • El autor ya señaló que intentaron usar get_the_title(). Además, dado que lo necesitan fuera del ciclo, hay sin publicación actual .

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *