Ir para conteúdo
  • Cadastre-se

Como escrever a saida de uma função/script nos posts no ato de criação dos mesmos


Posts Recomendados

Olá galera do Portaldohost


Tenho uma necessidade de escrever nos posts a saida de uma função, mas tudo que to conseguindo fazer é exibir em tempo real e execução desse script/função em todos os posts, com eu faço para escrever nos posts a saida de uma função ao inves de exibi-la nos posts?
pois o que ta acontecendo é que o script está rodando/correndo em todos os posts, e cada refresh/acesso nas paginas, um novo numero do script é gerado! eu gostaria que o gerador criasse um numero diferente para cada post, mas escreve a saida neles, e nao exibisse um numero a cada novo acesso.

//declarar a função
function gen_num()
{
//DETERMINA OS CARACTERES QUE CONTERÃO A SENHA
$caracteres = "012345678910111213141516171819";
//EMBARALHA OS CARACTERES E PEGA APENAS OS 10 PRIMEIROS
$mistura = substr(str_shuffle($caracteres),0,10);
//EXIBE O RESULTADO
print $mistura;
}

// add custom post content, injetar a função no content.
function add_post_content($content) {
gen_num();
return $content;
}
add_filter('the_content', 'add_post_content');

vejam em herculestest.tk , naveguem nas paginas, deem refresh.

Desde já agradeço.

 

 

Link para o comentário
Compartilhar em outros sites

Assim, eu tenho um função que gera um numero aleatorio de 8 digitos, essa função eu quero que os nomero gerados por ela apareçam nos meus post, mas o problema é que fazendo como expliquei que fiz, cada vez que carrego a pagina gera um numero diferente, ou seja, a função do script roda dentro do post quando jogo o include('nome do script');

ou echo nome da função();   o que faz é que ta excudando dentro dos posts, cada refresh gera um nome numero, e isso nao pode acontecer, tem que ficar o primeiro numero ato gerado e auto inserido na pagina. 

o problema todo é que nao to fazendo o injeção do valor gerado, estou mostrando a execução do script dentro do post, e quero apenas inserir o resulto, escrever esse resultado de forma que ele fique no post pra sempre. 

Link para o comentário
Compartilhar em outros sites

eu li o manual e nao entendí, por isso aqui  aajuda, todos os manuais sempre possuem todas as soluções, principalmente as basicas, veja se me ajuda:

no function.php

function gerar_nume() {

$caracteres = "0123456789abcdefghijklmnopqrstuvwxyz+-/()";
//EMBARALHA OS CARACTERES E PEGA APENAS OS 10 PRIMEIROS
$mistura = substr(str_shuffle($caracteres),0,10);
//EXIBE O RESULTADO
print $mistura;

}

 

agora no single.php

echo gerar_nume();

 

mas isso continuar exeutando o script em tempo real toda vez que alguem acessa as paginas, cada acesso GERA um novo numero, :/ 

 

 o script continua funcionando como sempre, mas exibindo novos numeros a cada acesso nos post, quero imprimir o resultado gerado na criação do post e que isso seja automatico como esta sendo. 

eu resumo, preciso fazer um campo ser preenchido automaticamente com o resultado desse script, vamos imaginar que eu criei um campo personalizado com o nome: meu_codigo    usando o plugin ACF... nao posso gerar esse numero manualmente excutando o script manualmente e inserindo o resultado manualmente nesse campo porque são muitos posts, preciso que o script escreva um numero aleatorio automanticamente em cada post. que ele escreva nesse campo, e que ele fique la escrito, como se eu tivesse inserido uma conteudo no copo do post manualmente.

  

 

Link para o comentário
Compartilhar em outros sites

36 minutes ago, Yves Cleuder said:

Deixa eu tentar entender..
Você quer que cada post gere um número aleatório e que esse número aleatória nunca mude naquele post..
Exemplo:
O usuário acessa /post/id-1 e gera 28374387
Quando qualquer outro usuário acessar o /post/id-1 o número "aleatório" seria 28374387?

Obrigado por responder Yves,  Sim, é extamente isso, a função já ta perfeita, so nao sei Injetar o resultado dela nos posts, o que to fazendo o executando ela a cada acesso :( e queria que a cada novo post, essa função injetasse um numero aleatorio no post, escrevesse ele no post. como se eu tivesse feito manualmente. o problema é que ao inves de escrever o resultado da função no post, estou é exibindo o scrip sendo executano dentro de cada post, e cada refresh nos post, um novo numero tá sendo gerado, e quero escrita permanente, como uma inserção manual desses numero no post.

  Desde ja grato.

Link para o comentário
Compartilhar em outros sites

Para isso não é tão simples.
Pelo menos o método que eu pensei, você vai ter que criar uma coluna na tabela de post:
Exemplo: nAleatorio | int(10) | not null
Depois disso, você tem que editar o Controlador (processamento) onde o puxa as informações para exibir o post.
Então você deverá programar em cima disso.
Primeiramente você terá que fazer um SELECT (SQL) para verificar se a coluna nAleatorio != NULL, se for verdadeiro, você deverá chamar a função de número aleatório e grava ela na coluna nAleatorio referente ao ID do Post.
Depois disso só exibir :)

Link para o comentário
Compartilhar em outros sites

Bem, nao sou programador, ficar editando tabelas do banco de dados, no minimo vou ferrar ele, preciso escrever uma função que faça escrever o resultado do script no corpo do post, acho que uma chamada abaixo do the_content(); ja resolveria, como criar um campo personalizado pelo plugin ACF e chamar o valor dessa função geradora pra dentro desse campo personalizado, algo mais simples assim. acredito que um objetivo tão simples de escrever um valor gerado por um script em um area do site nao seja algo pra tantos dubugs de processadores e assembledorismo srsrr brinks... mas acho intuitivamente que há opções mais simples. Não é minha área, mas esse caminho ta longo demais para um desejo comum. 

Link para o comentário
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Infelizmente, seu conteúdo contém termos que não são permitimos. Edite seu conteúdo para remover as palavras destacadas abaixo.
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?