Opa,
um pouco estranho este add_filter. Se isso realmente funciona, então é ele quem está adicionando o conteúdo no content. No entanto, verifique se por acaso o gallery que está sendo impresso por acaso não foi adicionado pela área administrativa.
Criador do tópico
rjsma
(@rjsma)
Este filter funciona mas mal ( para o que quero ). Simplesmente pretendia remover o primeiro [gallery ids="1,2,3"] do the_content e meter fora do the content ( noutra posição do tema ).
Pensava que com o add filter podia solucionar esta situação ou com o apply_filters.
Se existe uma galeria sendo adicionada no content, vc deve acessar a edição do post pela área administrativa e removê-la na mão, apenas apagando o texto [gallery ids="1,2,3"]
Se o comando add_filter de fato funciona (o que na minha opinião deveria, certamente o seu uso está errado), ele está adicionado a galeria no content, e não removendo.
Resumidamente, se na edição existe o shortcode, apenas remova-o. Para exibir este shortcode em outro ponto do tema, use apenas echo do_shortcode('[gallery size="work-thumb"]');
Criador do tópico
rjsma
(@rjsma)
Mas eu queria que o cliente adicionar o [gallery ids="1,2,3"] na edição do post, mas depois eu manualmente indico a posição onde esse galeria deve ser mostrada. É por isso que pretendo mudar a posição do [gallery] do the content() para uma variavel ( outra coisa ) para mostrar noutra zona a galeria que o cliente adicionou ao post.
Então a solução seria totalmente diferente. Infelizmente não manjo regex, mas vc deveria criar um filtro que procurasse pela ocorrencia [gallery ids="1,2,3"] e o movesse para outro lugar. No entanto, eu não sei se no momento que o filtro é executado o shortcode já foi processado ou não, o que pode aumentar muito a complexidade do regex para mover a galeria de lugar.
Na minha opinião, seria mais fácil se o cliente simplesmente colocasse o shortcode no lugar certo, afinal, é o conteúdo. Não acho uma boa idéia alterá-lo.
Vou dar algumas outras idéias.
1 – Caso o seu tema não suporte custom post formats, você poderia criar o post-format do tipo gallery, e então criar um template específico para ele. Então seu cliente diz se é um post normal ou um posto do tipo gallery.
2 – Caso o seu tema não suporte templates para os posts, talvez exista algum plugin que adicione tal suporte. Então, apenas crie um template que leia os campos personalizados (custom fields) e monte a galeria.
Criador do tópico
rjsma
(@rjsma)
Obrigado trsenna, em principio já sou capaz de solucionar o problema. 😉