• Resolvido Kayky Ramos

    (@kayky-ramos)


    Olá galera, eu estou sem saber o que fazer aqui. Tentei fazer uma função para retornar o endereço da primeira imagem utilizada na postagem, mas nunca consigo retornar o link da imagem. (PHP)

    Estou utilizando o WordPress como Painel de Controle, e estou ajustando as postagens no blog ao meu modo, ou seja, estou criando meu template.

    Eu tentei capturar a miniatura da seguinte forma:

    $conteudo = utf8_encode($post[‘post_content’]);
    preg_match(‘/<img src=”([^”]+)”/i’, $conteudo, $matchs);
    $link_imagem = $matchs[0];

    Porém a variável $link_imagem não retorna nenhuma Array…

    Alguém pode me dar um help?

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • Criador do tópico Kayky Ramos

    (@kayky-ramos)

    Bela dica, mas neste caso é para utilizar essa função em um tema, ou seja em um template pronto.

    No meu caso, ela não resolve meu problema porque não estou usando um template pronto, estou criando meu próprio estilo…

    Mas mesmo assim agradeço amigo.

    Não entendi, como assim seu próprio estilo?

    Vc não está criando um tema?

    Criador do tópico Kayky Ramos

    (@kayky-ramos)

    Não amigo, não estou criando um tema… Na verdade é um layout de um site de notícias esportivas… Daí estou fazendo uso do WordPress… Estou criando uma página do zero. E precisava de uma função para pegar do banco de dados a primeira imagem do post.

    Entendi, mas a função mostrada neste site pode te ajudar.

    Se reparar bem, essa parte da função

    global $wpdb, $post;
    
      $thumb = $wpdb->get_row("SELECT ID, post_title FROM {$wpdb->posts} WHERE post_parent = {$post->ID} AND post_mime_type LIKE 'image%' ORDER BY menu_order");

    Está fazendo exatamente o que vc quer.

    dá um var_dump() para ver o que vem e trata o retorno para sua aplicação.

    Se sua aplicação já está sendo reconhecida pelo sistema como parte integrante, acho que vai conseguir recuperar facilmente com isso.

    Criador do tópico Kayky Ramos

    (@kayky-ramos)

    Opa! De fato, você tem razão… Obrigado, eu não havia prestado muita atenção! Então fica a dica aí pra quem tem essa dúvida.

    Obrigado amigo,

    abraço!

    Criador do tópico Kayky Ramos

    (@kayky-ramos)

    Bom, mas com a ajuda de um amigo conseguimos resolver de outra maneira:

    $sql = mysql_query("SELECT * FROM wp_posts WHERE post_type = 'post' AND post_status = 'publish' ORDER BY post_date DESC");
    
    $post = mysql_fetch_array($sql);
    $dom = new DOMDocument();
    @$dom->loadHTML($post['post_content']);
    @$dom->saveXML();
    $imgs = $dom->getElementsByTagName("img");
    
    <img src="<? 	foreach($imgs as $img) {
    		print $img->getAttribute("src");
    } ?>" width="150" height="150" />

    Muito legal, isso é útil para as pessoas que tentam misturar WP com seu site estático.

    Fica ai uma boa dica pra galera, obrigado por compartilhar.

Visualizando 8 respostas - 1 até 8 (de um total de 8)
  • O tópico ‘Capturando miniatura da imagem’ está fechado para novas respostas.