Por este pedaço de codigo ta ok, deveria funcionar.
Vc pode colocar o restante do codigo do seu arquivo para ver se tem mais alguma coisa?
[]’s
Rafael Cirolini
http://www.geniusdeveloper.com.br
Criador do tópico
Dhony
(@dhony)
Vou colocar o loop inteiro dessa chamada de notícias
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<p class="retranca"><?php $Retranca = get_post_meta($post->ID, 'Retranca', true); ?><?php echo $Retranca; // Chama a Retranca da noticia ?></p>
<p class="data_single"><?php the_time('d \d\e F \d\e Y'); ?></p>
<h2><?php the_title(); ?></h2>
<!-- PARTE QUE ESTÁ COM PROBLEMA -->
<?php if (is_author('redacao'))
{
echo "<p>".the_author()."</p>";
} else {
echo "<p>Por ".the_author()." </p>";
} ?>
<div class="entry">
<?php the_content(); ?>
<p class="postmetadata"><?php the_tags('Tags: ', ', ', '<br />'); ?></p>
</div>
</div>
<?php comments_template(); ?>
<?php endwhile; else: ?>
<p>Sorry, no posts matched your criteria.</p>
<?php endif; ?>
Dhony,
tenta usar ‘get_the_author()’ ao invés de ‘the_author()’, pois o segundo já imprime na tela o texto. Isso não explica o porque está duplicando mas acho que vale a pena tentar.
Criador do tópico
Dhony
(@dhony)
Marcelo,
inseri o ‘get_the_author()’. Não entendi muito bem como deveria fazer mas fiz assim:
<?php if (is_author('redacao'))
{
echo "<p>".get_the_author('redacao')."</p>";
} else {
echo "<p>Por ".the_author()." </p>";
} ?>
Continua duplicando assim
Esse é apenas um título da Notícia
por Da Redação
Da Redação
Acredito que o problema está na condicional.
Ajuda aí 😉
Dhony,
você tem razão o problema está na condicional também. O ‘is_author()’ funciona para os templates, ou seja, apenas quando for o endereço das publicações do author, por exemplo: dominio.ext/?author=1 ou dominio.ext/author/redacao
O ‘get_the_author()’ e ‘the_author()’ fazem a mesma coisa, mas o ‘the_author()’ imprime o resultado (echo) e o ‘get_the_author()’ retorna o resultado.
Testa esse código:
<?php if ( 'Reporter' == get_the_author() ) {
echo "<p>" . get_the_author() . "</p>";
} else {
echo "<p>Por " . get_the_author() . " </p>"; } ?>
Abraço.
Criador do tópico
Dhony
(@dhony)
Ok Marcelo.
A solução que nós encontramos:
<?php if ( 'redacao' == get_the_author_login() ) { // observe o get_the_author_login()
echo "<p>" . get_the_author() . "</p>";
} else {
echo "<p>Por " . get_the_author() . " </p>"; } ?>
A reposta agora quando o autor for “redacao” é:
Esse é apenas um título da Notícia
Da Redação
E quando for qualquer outro autor será:
Esse é apenas um título da Notícia
Por Dhony Silva
Valeu Marcelo.