o un array di oggetti. A técnica que eu descrevo aqui é útil em muitas situações em que, por exemplo, temos um array de array ou uma array de objetos. , senza aver accesso alla select originale (sul database) che ha generato l'elenco (array) stesso: No WordPress, por vezes, pode precisar manipular uma lista de mensagens, no padrão array de stdClass Object sem ter acesso à seleção original (no banco de dados) que gerou a lista (array) em si:
1 2 3 4 5 6 7 | Ordem ( [0] => stdClass objeto ( [ID] => 104 [Post_author] => 37 ... |
. No entanto, você pode encomendar uma tal array em um momento posterior, sem passar pelo banco de dados, usando a função php usort() . Isso permite que você execute uma espécie utilizando uma função callback de pessoal. o un altro stdClass Object : Por exemplo, imagine que você quiser encomendar o nosso post post_author ou por qualquer outro campo que, por sua vez, pode ser uma array ou outro stdClass Object :
1 2 3 4 5 6 7 8 9 10 | / ** * Mensagens array $ de objetos é o nosso "post" stdClass objeto * / $posts , "__sort" ) ; usort ($ posts, "__sort"); $a , $b ) { __ função sort ($ a, $ b) { $a -> post_author == $b -> post_author ) return 0 ; if ($ a -> post_author == $ b -> post_author) return 0; $a -> post_author > $b -> post_author ) ? - 1 : 1 ; // decrescente return ($ a -> post_author> $ b -> post_author) - 1: 1, / / descendente / / Return ($ a-> post_author <$ b-> post_author)? -1: 1, / / aumento } |
Jogar em mais ">" e menos "<" é a última declaração pode ser encomendado em ordem crescente ou decrescente.
Estas situações podem ser muito frequente em contextos avançados, onde, por exemplo, terá uma série de listas a serem verificados. Outro exemplo é no caso de combinações, onde várias listas de mensagens, o limite recuperado de diferentes blogs, devem ser encomendados.
1 2 3 4 5 6 7 8 9 10 11 | $posts , $lista_1 , $lista_2 , $lista_3 , ..., $lista_n ) ; array_push ($ posts, lista_1 $, $ lista_2, lista_3 $, ..., $ lista_n); / ** * $ Posts é uma série de listas, listas de correio recuperado quem sabe * Onde e quem sabe ... * / $posts , "__sort" ) ; usort ($ posts, "__sort"); $a , $b ) { __ função sort ($ a, $ b) { $a -> ID == $b -> ID ) return 0 ; if ($ a -> ID == $ b -> ID) return 0; $a -> ID < $b -> ID ) ? - 1 : 1 ; return ($ a -> ID <$ b -> ID) - 1: 1; } |










Olá,
Eu li seu artigo e se aproxima do que eu deveria fazer.
Eu tenho que classificar as mensagens com base no valor de diferente campo personalizado;
por exemplo ordenar por:
- Preço
- Nome
- Colocar
qual é a melhor maneira de proceder?
obrigado
@ Elia :: a melhor maneira é usar o
meta_query, introduzido com a versão 3.1 do WordPress. Encontre exemplos e documentação aqui . Por exemplo, você pode recuperar todas as mensagens que têm um preço meta_key igual a 100:2
3
get_posts ( $args ) ; $ Posts = get_posts ($ args);
...
[...] PHP função usort () vista para WordPress: Ordem uma série de posts para qualquer campo pode ser facilmente usado também para ordenar um array de arrays. Por exemplo, se [...]
Me desculpe se a minha pergunta é incompreensível para você, me desculpe, mas eu não sei o tarminologia exata para me fazer entender melhor.
Eu corro um blog criado por um amigo, que agora nem mais capaz de segui-lo.
Nós criamos uma tabela que funciona como um índice para os vários links. Eu criar páginas "deck" e links para estes são automaticamente inseridos na tabela. No momento, eu não tenho a capacidade de classificar esses links de forma arbitrária!
Eles são exibidos em ordem decrescente de inserção.
Existe a possibilidade de implementação de um código para que ele possa, ao longo do tempo, decidir onde colocar os links para as páginas que editou dentro da Matrix?
E exemplo: "em ordem alfabética" ou "tipo" ou "importância"?
muito obrigado por sua disponibilidade!
Lorenzo
@ Lorenzo_l: Em parte, eu acho que eu sei, e é claro que é possível. Primeiro você rastrear onde o programa seria suficiente SQL SELECT que extrai os dados lá e adicione seu próprio tipo. Você precisa de, em última instância, a uma intervenção técnica que deve ser resolvido em poucos minutos.
Se você quiser tentar, é claro, com as poucas indicações que eu tenho, você pode tentar adicionar a classificação por mim.
A instrução SELECT deve ser parecido:
Agora eu não sei os nomes dos campos, mas é o suficiente para que você digite no final:
o non so. Onde está
camponome do campo da tabela, digitenomeou não sabe.Difícil de ser exaustiva aqui ...