Jump to content

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


Recommended Posts

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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

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?

Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Do you agree with our terms?