Je crée un shortcode [latest_post] et souhaite afficher la date de publication, le titre et le contenu abrégé. (le contenu a "plus" de séparateur). Voici le code:
function shortcode_latest_post() {
global $post, $more;
$tmp_post = $post;
$tmp_more = $more;
$posts = get_posts(array('numberposts' => 1, 'post_status' => 'publish'));
$output = "";
foreach($posts as $post) {
setup_postdata($post);
$more = 0;
$output .= '<div class="latest_post">';
$output .= '<span class="date">'. get_the_date() . '</span>';
$output .= '<h3><a href="'. get_permalink() .'">'. get_the_title() .'</a></h3>';
$output .= get_the_content("Read more...");
$output .= "</div>";
}
$post = $tmp_post;
$more = $tmp_more;
return $output;
}
add_shortcode("latest_post", "shortcode_latest_post");
Mais j'ai un problème avec la fonction "get_the_content". Il retourne le texte intégral au lieu du texte court et du lien.
Est-ce que quelqu'un peut m'aider s'il vous plaît?
Mise à jour:
Je suis trouvé une solution. Le code ci-dessus est mis à jour. - http://codex.wordpress.org/Customizing_the_Read_More#How_to_use_Read_More_in_Pages
get_the_content()
fait ce qu'il est censé faire, obtient le contenu. Vous recherchez get_the_excerpt()
. ;)
Alternativement, en utilisant ce que vous avez, il devrait couper chaque fois que vous mettez <!-- more -->
dans votre message lorsque vous utilisez get_the_content()
.