Ao escrever um post no WordPress, você pode fazer upload de imagens para a mesma hora de escrever o artigo. Estas imagens, que fazem parte da biblioteca de mídia, estão associados a esse cargo específico. A peculiaridade deste comportamento reside na capacidade de extrair essas imagens, não importa se eles estivessem fisicamente colocado dentro do post. Este procedimento, portanto, é muito mais interessante do que o uso de campos personallizzati (campos personalizados) ou "difíceis" (para alguns) regexp (expressões regulares) dentro do corpo do post. Mais recentemente, WordPress permite inserir uma galeria simples, mas imediata, aproveitando essa conexão entre o seu post e imagem enviada. Baixo nível de imagens carregadas 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 um posto particular - carregados com imagens - usamos o seguinte código:
1 2 3 4 5 6 | / / Onde $ 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 ) ; $ Para = & get_children ('post_type = attachment = & post_mime_type imagem & post_parent =' $ post_id.); $ai as $image ) { foreach ($ a como $ image) { . $image -> post_title . '</p>' ; . <p> 'echo $ imagem -> post_title' </ p> '.; } |
Ficamos com 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>' ; . <p> 'echo $ imagem -> post_title "/> </ p>'. '<img src="'. $image -> guid."; |
No entanto, é mais correto - por razões de compatibilidade com atualizações futuras - usar os recursos que o WordPress oferece para recuperar o url da imagem. Por exemplo, podemos ver na imagem é real e grande holdall através da imagem em miniatura:
1 2 3 | . $image -> post_title . echo '<p>' $ 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>"; |
Ordem
Nos exemplos que vimos sobre as imagens são recuperadas sem qualquer ordem específica para uma ordem inversa máxima de carga. Se você já tentou usar a galeria do WordPress, você vai notar que este permite que você classifique as imagens carregadas, a triagem pode ser feita por título, data e hora ou um modo aleatório. Além disso, você pode usar o modo manual, para que escolha uma ordem das imagens, sempre com respeito ao conceito de túnel, então a seqüência (o primeiro, segundo, terceiro e assim por diante ...). Você também pode indicar como aumentando ou diminuindo o critério que escolhemos. Em particular, a triagem manual, funciona como nas páginas, ou seja, usando o campo menu_order (inicialmente definido como 0 para todas as imagens carregadas).
Então, se você enviou uma série de imagens e manipulados-los em um post com a triagem manual, de modo que fazemos em nosso ciclo é levado em conta a ordem. per qualsiasi tipo di campo ( menu_order , ID , data , etc…): Um rápido, fácil e, para fazer isso é usar o usort() para arrumar a nossa 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 | / / Onde $ 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 ) ; $ Para = & get_children ('post_type = attachment = & post_mime_type imagem & post_parent =' $ post_id.); / / Aplicar uma função de classificação para a minha / / Você pode escolher o campo em que a / / A classificação (no nosso caso menu_order) $ai , "sortImage" ) ; usort ($ para, "sortImage"); $ai as $image ) { foreach ($ a como $ image) { . $image -> post_title . '<img src="' . wp_get_attachment_thumb_url ( $image -> ID ) . '" /></p>' ; . <p> 'echo $ imagem -> post_title "/> </ p>'. '<img src="'. wp_get_attachment_thumb_url ($image -> ID)."; } $a , $b ) { sortImage função ($ a, $ b) { $a -> menu_order == $b -> menu_order ) return 0 ; if ($ a -> b == $ menu_order -> menu_order) return 0; $a -> menu_order > $b -> menu_order ) ? 1 : - 1 ; retorno ($ a -> menu_order> $ b -> menu_order) 1: - 1;? / / Retorna ($ a-> menu_order> $ b-> menu_order)? -1: 1 / / descendente } |
Escusado será dizer que, é claro, se você quiser recuperar o "antes" e basta apagar a única imagem carregada foreach() .










[...] Recuperar imagens carregadas em um recuparare Mensagem Um script para imagens de um post, mesmo que eles não eram realmente inseridas no texto! [...]
Olá e obrigado pelo seu artigo. Mas "eu não entendi o que é 'Eu quero o código para entrar para recuperar apenas uma previsão da primeira imagem inserida no post ...
@ Tiago: comente a linha como os dez últimos doze, eliminando assim o
foreach. Em vez de linha 10, por isso antesecho ...digitar:Espero que eu entendi a sua pergunta ...
@ Giovambattista Fazioli:
Giovambattista Olá e muito obrigado por sua resposta. Eu inseri o código como você mudou e não parece ser um problema dependendo 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 27Por quê? use WP 2.9.1
@ James: Parece que o tipo de função
sortImage()não está escrito corretamente. Se Postami todo o código que você escreveu, ainda no e-mail.@ Giovambattista Fazioli:
Eu chamo o código php que eu inserir via e-mail
Muito obrigado
Olá,
Gostaria de pedir-lhe informações sobre o script, com a introdução do wp 3.0, eles adicionaram a capacidade de colocar os polegares, eu precisaria alterar o script de modo a não aparecer na lista de imagens, aquele que é usado como os polegares do post.
Você sabe se você me dar uma mão?
Agradeço antecipadamente,
George
@ George: você poderia fazê-lo dessa maneira. Antes de remover as imagens relacionadas a um poste, extrair qualquer miniatura (como indicado no WordPress 9.2 +: miniaturas pós novo recurso ). Dentro do ciclo de extração, então, se a imagem está associada a essa miniatura para excluir. Se bem entendi ...
Perfeito, obrigado! Pelo jeito que eu pensei sobre uma solução para este tipo de pensamento ou, alternativamente, inserir o polegar como a primeira imagem na galeria e, em seguida, através de um artifício para excluir:
uma solução poderia ser igualmente eficazes na sua opinião?
Obrigado pela resposta,
George
@ George: isso é bom também posicioná-lo como antes, basta lembrar
Olá,
desculpe se eu continuar a importunar, mas recebo erros e não entendo por que ...
Minha função é a seguinte:
2
3
4
$ai as $image ) { foreach ($ a como $ image) {
. $image -> post_title . '</p>' ; . <p> 'echo $ imagem -> post_title' </ p> '.;
}
Como posso fazê-lo tomar uma verificação para ver se há uma mensagem de miniaturas e então excluí-lo? No meu modelo eu tiver habilitado o suporte esta função e tudo funciona perfeitamente, e não apenas como eu o entendia controlar com precisão qual é o elemento do polegar, como resultado do pós e depois excluí-lo da saída ...
Se você puder me ajudar a evitar o corte minhas veias ... Eu estou perdendo a paciência por trás desta coisa e eu não consigo entender ...
muito obrigado,
George