Quando escrevemos um post no WordPress você pode enviar as imagens ao mesmo tempo que este artigo foi escrito. Estas imagens, que fazem parte dos meios de comunicação da biblioteca, estão associados com esse post particular. A peculiaridade deste comportamento encontra-se na capacidade de extrair essas imagens, independentemente se eles foram fisicamente inserido dentro do post. Este procedimento, portanto, é muito mais interessante do que o uso dos campos personallizzati (campos personalizados) ou "incompreensível" (para alguns) regexp (expressões regulares) dentro do corpo do Post. Recentemente, além disso, o WordPress permite que você insira um simples, mas imediato, galeria, usando a sua própria ligação entre esta imagem carregado e pós. Imagens de baixo nível enviados são tratados exatamente como um post, ou seja, a tabela de banco de dados e os campos são exatamente os mesmos.
Por exemplo, se para um determinado cargo - com as imagens carregadas - use o seguinte código:
1 2 3 4 5 6 | / / Se for $ post_id é o id do post / / Se estamos em um loop podemos usar $ post-ID get_children ( 'post_type=attachment&post_mime_type=image&post_parent=' . $post_id ) ; $ To = & get_children ('post_type = attachment & post_mime_type = image & post_parent =' $ post_id.); $ai as $image ) { foreach ($ a quanto $ imagem) { . $image -> post_title . '</p>' ; . echo 'Into' $ imagem -> post_title '</ p>'.; } |
Recebemos a lista de títulos de imagens carregadas. Para ver as imagens basta modificar a saída:
1 | . $image -> post_title . '<img src="' . $image -> guid . '" /></p>' ; . echo 'Into' $ imagem -> post_title '<img src="'. $image -> orientação. "/> </ p>'.; |
No entanto, é mais correto - por razões de compatibilidade com atualizações futuras - usar os recursos que o WordPress oferece para recuperar a url da imagem. Por exemplo, podemos ver tanto a imagem em dimesioni real, a imagem em miniatura em:
1 2 3 | . $image -> post_title . . echo 'Into' $ imagem -> post_title. wp_get_attachment_thumb_url ( $image -> ID ) . '" />' . '<img Src="'. Wp_get_attachment_thumb_url ($image -> ID). "" />'. wp_get_attachment_url ( $image -> ID ) . '" /></p>' ; '<img Src="'. Wp_get_attachment_url ($image -> ID). "" /> </ P>'; |
Classificando
Nos exemplos que vimos sobre as imagens são recuperados sem qualquer ordem específica para uma ordem reversa máxima de carregamento. Se você já tentou usar a galeria do WordPress, você vai perceber que o que lhe permite classificar as imagens carregadas, a espécie pode ser feito através do título, data e hora, ou um modo aleatório. Além disso, é possível utilizar o modo manual, então seleccionar uma ordem das imagens, sempre comparado com o conceito da galeria, então a sequência (o primeiro, o segundo, o terceiro, e assim por diante ...). Você também pode especificar como aumentar ou diminuir o critério que escolhemos. Em particular, a triagem manual, como ele funciona para as páginas, ou seja, explorando o campo menu_order (inicialmente definido como 0 para todas as imagens carregadas).
Se tiver colocado uma série de imagens em um post e manipulado estes com a triagem manual, devemos ter certeza de que o nosso ciclo é levado em conta também o fim. per qualsiasi tipo di campo ( menu_order , ID , data , etc…): Um rápido e extremamente simples de o fazer é utilizar a usort() para ordenar a array para qualquer tipo de campo ( menu_order , ID , data , etc, ...):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | / / Se for $ post_id é o id do post / / Se estamos em um loop podemos usar $ post-ID get_children ( 'post_type=attachment&post_mime_type=image&post_parent=' . $post_id ) ; $ To = & get_children ('post_type = attachment & post_mime_type = image & post_parent =' $ post_id.); / / Aplicar a função de classificação para a minha / / Você pode escolher o seu quarto campo no qual executar / / A classificação (no nosso caso menu_order) $ai , "sortImage" ) ; usort ($ ai ", sortImage"); $ai as $image ) { foreach ($ a quanto $ imagem) { . $image -> post_title . '<img src="' . wp_get_attachment_thumb_url ( $image -> ID ) . '" /></p>' ; . echo 'Into' $ imagem -> post_title "/> </ p> '.' <img src="'. wp_get_attachment_thumb_url ($image -> ID). '; } $a , $b ) { função sortImage ($ a, $ b) { $a -> menu_order == $b -> menu_order ) return 0 ; if ($ a -> menu_order == $ b -> menu_order) return 0; $a -> menu_order > $b -> menu_order ) ? 1 : - 1 ; return ($ a -> menu_order> $ b -> menu_order) 1: - 1;? / / Return ($ a-> menu_order> $ b-> menu_order)? -1: 1, / / descendente } |
Escusado será dizer que, é claro, se você quiser recuperar o "antes" e uma imagem carregada basta apagar o foreach() .










[...] Recuperando as imagens carregadas em um Post Um script necessário para restaurar as imagens de um post, mesmo que estes não foram realmente inseridas no texto! [...]
Olá e muito obrigado para o seu artigo. Pero ', e eu não entendo o que o código para inserir deseja recuperar apenas uma prévia da primeira imagem inserida no post ...
@ Tiago: comente a linha 10:12 último exemplo, eliminando o
foreach. Em vez de linha 10, por isso antes deecho ...digite:Espero ter entendido sua pergunta ...
@ Giovan Battista Fazioli:
Giovambattista Olá e muito obrigado pela sua resposta. Entrei no código como você mudou e não parece ser um problema na função usort e também a imagem não é exibida ...
Warning: usort() [function.usort]: Invalid comparison function. in /membri2/xxxxx/wp-content/themes/nomtema/index.php on line 27Como assim? usar WP 2.9.1
@ Tiago: parece que a função do tipo
sortImage()não está escrita corretamente. No caso de colocar-me todo o código que você escreveu, ainda no e-mail.@ Giovan Battista Fazioli:
Eu chamo o código php que eu inseri via e-mail
Muito obrigado
Olá,
Eu gostaria de pedir-lhe informações sobre o roteiro, com a introdução de wp 3.0, eles adicionaram a capacidade de inserir os polegares, eu precisaria modificar o script de tal forma que não aparecem na lista de imagem, o que é usado como os polegares do post.
Sabe, por acaso, me dar uma mão?
muito obrigado antecipadamente
Giorgio
@ George: você poderia fazê-lo desta forma. Antes de retirar as imagens relacionadas a um post, extrair qualquer miniatura (como indicado no WordPress 2.9 +: a nova função de pós thumbnails ). Dentro do ciclo de extracção, em seguida, se a imagem associada corresponde àquela da miniatura excluir. Se bem entendi ...
Perfeito, obrigado! Entre outras coisas, que uma solução deste tipo, ou em alternativa, pensado para inserir o polegar enquanto a primeira imagem na galeria, e, em seguida, para excluir através de um artifício:
poderia ser uma solução igualmente eficaz na sua opinião?
Muito obrigado pela sua resposta,
Giorgio
@ George: Isso é ótimo também posicioná-lo como o primeiro, basta lembrar
Olá,
Me desculpe se eu continuar a incomodar, mas eu recebo erros e não consegue entender o porquê ...
minha função é o seguinte:
2
3
4
$ai as $image ) { foreach ($ a quanto $ imagem) {
. $image -> post_title . '</p>' ; . echo 'Into' $ imagem -> post_title '</ p>'.;
}
Como posso deixá-lo fazer a verificação para ver se há uma thumbail poste e, em seguida, excluí-lo? No meu modelo eu tenha habilitado o suporte essa função e tudo funciona perfeitamente, eu só não descobri como fazê-lo controlar com precisão qual elemento é o polegar do cargo e, em seguida, de acordo com excluir da saída ...
Se você puder me ajudar eu evitaria a cortar os pulsos ... Estou perdendo a paciência por trás dessa coisa e eu não consigo entender ...
muito obrigado,
Giorgio