← PHP

Como colocar uma mensagem de "Ler mais" personalizada usando php

Lida 2194 vezes

Offline

frodo_sda 
Membro
Mensagens 70 Gostos 0
Troféus totais: 21
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2 Level 1 50 Posts 10 Posts

Boas  :+trafego:!

O meu tema de wordpress não apresenta um link ou imagem de "ler mais" quando se aplicaa tag <!more>, apenas corta o texto no local pretendido. O que eu gostava era que acrescentasse ao corte no index uma mensagem a dizer "Ler mais" com link para o single post completo.

Andei à procura no código do tema e encontrei as seguintes parcelas de código:

No ficheiro fn_general.php:

Código: [Seleccione]
function the_content_limit($max_char, $more_link_text = '', $use_p = false, $stripteaser = 0, $more_file = '')
{
    $content = get_the_content($more_link_text, $stripteaser, $more_file);
    $content = apply_filters('the_content', $content);
    $content = str_replace(']]>', ']]&gt;', $content);
    $content = strip_tags($content);

   if (strlen($_GET['p']) > 0) {
  if($use_p)
      echo "<p>";
      echo $content;
  if($use_p)
      echo "</p>";
   }
   else if ((strlen($content)>$max_char) && ($espacio = strpos($content, " ", $max_char ))) {
        $content = substr($content, 0, $espacio);
        $content = $content;
  if($use_p)
        echo "<p>";
        echo $content;
        echo "...";
  if($use_p)
        echo "</p>";
   }
   else {
  if($use_p)
      echo "<p>";
      echo $content;
  if($use_p)
      echo "</p>";
   }
}

No ficheiro index.php:

Código: [Seleccione]
<?php the_content('',FALSE,''); ?>
Penso que o segredo para a alteração do tag More está nestas linhas de código, mas já fiz várias experiências e o resultado é sempre o mesmo. Depois de introduzir o tag de more num post faz o corte mas não surge qualquer mensagem / link.

Ficaria eternamente grato a quem me pudesse dar uma pista para resolver esta questão

As minhas desculpas se porventura não postei esta dúvida na secção certa do fórum.

Cumprimentos

Ricardo Silva
Offline

tartofs 
Membro
Mensagens 205 Gostos 0
Troféus totais: 26
Trófeus: (Ver todos)
Windows User Linux User Mobile User Level 5 Super Combination Combination Topic Starter Level 4 Level 3 Level 2

Para não estar a ser específico e como existem diversas soluções para o que pretendes, deixo-te o link do Codex do Wordpress: http://codex.wordpress.org/Customizing_the_Read_More

O Codex é a biblia do WP, está lá tudo, basta pesquisar bem.

;)

EDIT:

É em Wordpress certo?
Offline

frodo_sda 
Membro
Mensagens 70 Gostos 0
Troféus totais: 21
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 4 Level 3 Level 2 Level 1 50 Posts 10 Posts

É em wordpress sim.

Obrigado pela rápida resposta. Infelizmente já tinha lido esse artigo e testei várias das sugestões que lá aparecem, mas sempre com o mesmo resultado: o corte no texto é feito, mas o link não aparece.

Estou com a sensação de que me está a escapar algo óbvio. Não sou de modo algum programador e tenho medo de me aventurar e fazer asneira da grande :(

EDIT: Já resolvi! Troquei a linha do index.php por esta:

Código: [Seleccione]
<?php the_content$more_link_text="Ler artigo completo..." $strip_teaser="false" ); ?>
O truque estava na Strip_Teaser! No meu site não quero nada disso! ^_^' Um false e resolveu.