web-dev-qa-db-fra.com

Obtenir le titre de l'article sans utiliser the_title ();

Question Noob. Existe-t-il un autre moyen d’obtenir un titre de publication sans utiliser the_title ();

Je demande parce que j'utilise une fonction le paramètre take a string, puis après un code, retourne cette chaîne. Quand je passe dans the_title (); en tant que paramètre, pour une raison quelconque, il ne s'agit pas d'une chaîne; par conséquent, la méthode échoue.

Quand je passe dans "une chaîne aléatoire" au lieu de the_title (); la fonction fonctionne correctement.

Avoir un sens?

4
Romes

En effet, the_title() echos le titre de l'article (voir la documentation liée). Utilisez get_the_title() à la place qui renvoie le titre sous forme de chaîne.

Modifier

Vous avez deux options:

  1. Utilisez get_the_title() pour renvoyer, plutôt que de renvoyer en écho, le titre du message.
  2. Filtre the_title pour faire écho à une chaîne personnalisée en tant que titre de l'article

Utilisation de get_the_title()

<?php
// NOTE: Inside the Loop,
// or else pass $post->ID
// as a parameter
$post_title = get_the_title();
?>

Utiliser le filtre the_title

<?php
function wpse48523_filter_the_title( $title ) {
    // Modify or replace $title
    // then return the result
    // For example, to replace,
    // simply return your own value:
    // return 'SOME CUSTOM STRING';
    //
    // Or, you can append the original title
    // return $title . 'SOME CUSTOM STRING'
    //
    // Just be sure to return *something*
    return $title . ' appended string';
}
add_filter( 'the_title', 'wpse48523_filter_the_title' );
?>
6
Stephen Harris