¿Cómo obtener ID de un post a partir de la URL?

  • Autor Autor NetReyes
  • Fecha de inicio Fecha de inicio
N

NetReyes

Eta
Hola,

Amigo tengo un problema que no logro encontrar en paginas como Stack Overflow. Quizás no se puede realizar y yo perdiendo la cabeza toda la noche.

Espero explicar bien mi situación para que alguien me pueda echar una mano por favor.

Tengo la url de un post de la siguiente forma,

https://www.miblog.com/articulo-de-mi-blog/

Ahora de esa misma url quiero obtener el ID de ese post para poder utilizarlo con get_the_post_thumbnail(ID)

O existe la manera de obtener la imagen de una url de mi post
 
Existe un función de wordpress para obtener la id, incluso en ajustes puedes cambiar eso, en vez de usar slug puedes usar id, si lo cambias puedes ver la id de tu post facilmente
 
[MENTION=176069]edwinhc[/MENTION]

El problema de cambiar el slug es que el blog ya tiene doces de url indexeadas en Google, seria un desastre cambiar el slug solo para obtener el id, ademas perderían fuerza las url en cuanto se refiere a SEOPage.

Tratare de buscar la función.
 

Intenta buscar la función, te ayudaria pero tengo demasiado mal mi internet. La id siempre sera la misma hasta con el slug podrias cambiar solo para verla y volver a ponerla como estaba
 
Intenta buscar la función, te ayudaria pero tengo demasiado mal mi internet. La id siempre sera la misma hasta con el slug podrias cambiar solo para verla y volver a ponerla como estaba

El id se puede ver desde el panel de administración, pero estar poniendo el id dentro del single de unos 400 post es algo de mucho trabajo, la idea es obtener el id a partir de la url para que en los futuros post sea todo automático.

Espero encontrar la función.
 
Escribes "get post by slug wordpress" en google y la primera es la solución :topsy_turvy:
 
function get_the_ID() {
$post = get_post();
return ! empty( $post ) ? $post->ID : false;
}

intenta con esa


- - - Actualizado - - -

function get_the_ID() {
$post = get_post();
return ! empty( $post ) ? $post->ID : false;
}

intenta con esa
 
Escribes "get post by slug wordpress" en google y la primera es la solución :topsy_turvy:

Gracias,

Me imagino que te refieres a php - Wordpress query single post by slug - Stack Overflow

PHP:
<?php$the_slug = 'my_slug';
$args = array(
  'name'        => $the_slug,
  'post_type'   => 'post',
  'post_status' => 'publish',
  'numberposts' => 1
);
$my_posts = get_posts($args);
if( $my_posts ) :
  echo 'ID on the first post found ' . $my_posts[0]->ID;
endif; ?>
 
[MENTION=27331]NetReyes[/MENTION]

La función que buscas viene en el core de WP y es la siguiente:


PHP:
$postid = url_to_postid( $url );

Donde $url es el permalink del post.

Saludos
 
Hola [MENTION=27331]NetReyes[/MENTION]

La ID está explícita en la URL pero del PREVIO, no de la URL pública.

Mira por ejemplo, desde el administrador le doy a dar mensaje previo y me sale (para un post X)

PHP:
https://ladiredemiweb/wp-admin/post.php?post=49912&action=edit

el número 49912 es la ID
 
Última edición:

Hola,

Gracias por tu respuesta, pero como menciono anteriormente busco alguna especie de funcion para que desde la url pueda obtener el ID de la misma de manera automatica, seria mucho trabajo estar agregando a más de 200 post las id de los post asociados.

O existirá la manera de obtener la imagen destacada de la URL
 

Pues hay plugins que permiten mostrar la imagen destacada... pero no sé si te sirva.

Uno de los más populares y completos es

Admin Columns — WordPress Plugins
Admin Columns — WordPress Plugins

te deja ver IDs, imágenes destacadas asociadas y mucho más... añadiendo esas columnas a la vista rápida de los artículos/posts
 
bueno pero básicamente que quieres lograr al implementar get_the_post_thumbnail