Obtener ID del attachment, thumbnail por url

Obtener ID del attachment, thumbnail por url

Hay veces que necesitamos obtener el ID de un elemento del multimedia por la URL, tuve la necesidad cuando tenia un campo múltiple de tipo imagen en el cual tenia las url y queria obtener un tamaño personalizado que habia agregado en el functions

  1. <?php
  2. /** obtener id por url */
  3. function get_attachment_id_by_url( $url ) {
  4. // Split the $url into two parts with the wp-content directory as the separator
  5. $parsed_url = explode( parse_url( WP_CONTENT_URL, PHP_URL_PATH ), $url );
  6.  
  7. // Get the host of the current site and the host of the $url, ignoring www
  8. $this_host = str_ireplace( 'www.', '', parse_url( home_url(), PHP_URL_HOST ) );
  9. $file_host = str_ireplace( 'www.', '', parse_url( $url, PHP_URL_HOST ) );
  10.  
  11. // Return nothing if there aren't any $url parts or if the current host and $url host do not match
  12. if ( ! isset( $parsed_url&#91;1] ) || empty( $parsed_url[1] ) || ( $this_host != $file_host ) ) {
  13. return;
  14. }
  15.  
  16. // Now we're going to quickly search the DB for any attachment GUID with a partial path match
  17. // Example: /uploads/2013/05/test-image.jpg
  18. global $wpdb;
  19.  
  20. $attachment = $wpdb-&gt;get_col( $wpdb-&gt;prepare( "SELECT ID FROM {$wpdb-&gt;prefix}posts WHERE guid RLIKE %s;", $parsed_url&#91;1] ) );
  21.  
  22. // Returns null if no attachment is found
  23. return $attachment&#91;0];
  24. }
  25. ?>

Déjame un comentario

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

Captcha Captcha Reload