Shortcode woocommerce
-
Olá, alguém sabe se tem um modo,
preferencialmente shortcodede filtrar produtos por usuário.
Não o link do perfil de quem fez o post, gostaria de algo relacionado mais ou menos dessa forma: [woocommerce _products_ user] para quando o usuário estiver logado em sua conta, vê os produtos dele.
-
Olá, tudo bem?
Você quer um shortcode para listar os produtos criados por um usuário, certo?
Está usando algum plugin para que os usuários criem produtos no front-end ou está tudo padrão?
Minha sugestão seria:
1 – Cria um plugin próprio (ou adiciona no functions do seu tema) o shortcode:
https://codex.wordpress.org/Shortcode_API2 – Dentro do shortcode cria o Loop para apresentar os produtos:
https://developer.wordpress.org/themes/basics/the-loop/
https://docs.woocommerce.com/document/sample-products-loop/-
Esta resposta foi modificada 5 anos, 2 meses atrás por
Mário Valney.
Olá Mário!
Obrigado por separar um tempinho pra me ajudar. Eu não estou usando nenhum plugin para os usuários criem produtos no front-end. O envio seria por formulário mesmo. Até mesmo porque não conheço nenhum pluguin que faça isto. Se souber algum diz ae 😛E também não sei desenvolver um plugin. Mas obrigado pelas dicas.
Ah! Existem alguns shortcodes de produtos do WooCommerce:
https://docs.woocommerce.com/document/woocommerce-shortcodesMas infelizmente eles não dão suporte a filtrar por usuário.
Nesse código aqui eu tentei criar um plugin para alterar o shortcode products.
https://gist.github.com/mariovalney/47b240420bac6e506578565ddb4a3058Você teria que colocar “current_user” no shortcode de produtos.
Por exemplo:[products current_user]
.Não consegui testar, mas quem sabe possa te ajudar.
Abraços
Criar um plugin é bem fácil. Mas poderia também colocar o código no
functions.php
do seu tema.Referência: https://developer.wordpress.org/plugins
—
Se for tentar com o código que te mandei, basta colocar esse arquivo na pasta de plugins, para testar (lembre de fazer backup ou testar num ambiente local primeiro).
-
Esta resposta foi modificada 5 anos, 2 meses atrás por
Mário Valney.
Adicionei o código ao
functions.php
porem não funcionou. :<Qual o erro?
Adicionou o shortcode à alguma página?
Erro nenhum. Apenas não filta. Mostra todos os produtos.
Adicionei o shortcode[products current_user]
-
Esta resposta foi modificada 5 anos, 2 meses atrás por
andersu.
Achei o problema: o WooCommerce não “passa” qualquer atributo (fora dos que ele já usa) para essa função que estamos usando.
Dá uma olhada agora.
Alterei o código e testei numa instalação local.[products_current_user]
Ele aceita todos os valores do shortcode de produtos. Única diferença é que irá adicionar o id do usuário (se estiver logado) na query de produtos.
Mário, muito obrigado! Funcionou perfeitamente. Obrigado, obrigado, o brigado mesmo! Só mais uma dúvida, sem querer tomar muito do seu tempo, quando o user não tiver nenhum produto, não tem como a aparecer uma mensagem informando que ele não enviou produtos? Por favor, se for complexo ou se tomará seu tempo não tem problema. Esse code seu já me ajudou BASTANTE! Obrigado!
Não sei como é o comportamento do shortcode do WooCommerce, caso não retorne nenhum post.
Atualmente aparece o quê?
Aparece nada, fica limpo. Sem nenhuma info.
Achei aqui: tem uma ação para o caso de nenhum resultado.
Ficaria mais ou menos assim:
add_action( 'woocommerce_shortcode_products_current_user_loop_no_results', 'wc_products_shortcode_by_user_no_results' ); function wc_products_shortcode_by_user_no_results() { echo '<p>Você ainda não publicou nenhum produto</p>'; }
Funcionou perfeitamente, mais uma vez muito obrigado!!!! Você é um DEUS!! ♥
@mariovalney desculpa estar te incomodando novamente, rs. Mas só agora percebi que para o cod. mostrar os produtos de alguém eu tenho que editar o “autor” do produto no woocommerce. Há possibilidade de alguém se cadastrar como assinante e o ADMIN apenas alterar o produto para aquele assinante? tipo se altera o autor de uma postagem!?
Se não me engano, assinante não pode publicar posts.
A pessoa precisa ser pelo menos colaboradora.Mas com isso em mente, o admin pode alterar o autor sim.
Tranquilamente.Uma dica: o código que publica o produto através do seu formulário poderia já colocar o usuário atual como autor, não?
Abraços
-
Esta resposta foi modificada 5 anos, 2 meses atrás por
- O tópico ‘Shortcode woocommerce’ está fechado para novas respostas.