Blenden Sie den H1-Titel mit dem Filter “_title” aus

Ich versuche, die Seiten H1-Header zu verbergen, wenn ein benutzerdefiniertes Feld dies angibt.

Auf einem Seiten-Back-End habe ich ein benutzerdefiniertes Feld hinzugefügt: Name = hide_title Value = true

Ich möchte dann nur die H1 mit einem Filter ausblenden.

Der folgende Code funktioniert nicht, ist aber das Ergebnis meiner Arbeit. Kann jemand eine Lösung für diesen Code vorschlagen oder eine andere Möglichkeit, dies zu erreichen? Ich möchte die Core-Template-Dateien nicht ändern.

Vielen Dank

// Hide H1 Title add_filter('the_title', 'hide_title', 10, 2); function hide_title($title, $id) { global $post; $key = 'hide_title'; $meta = get_post_meta($post->ID, $key, true); if ($meta = 'true') $title['post_title'] = ''; return $title; } 

Solutions Collecting From Web of "Blenden Sie den H1-Titel mit dem Filter “_title” aus"

Abhängig von der Art, wie Ihr Theme den Titel verwendet, kann das the_title im the_title Filter den Titel h1 verbergen oder nicht. Welches Thema verwendest du?

Der the_title Filter übergibt zwei Argumente: den Titel (String) und die Post-ID. Daher behandeln Sie den Titel als Array (es sieht so aus, als ob Sie annehmen, $title ist ein Array von Post-Daten und versucht, $title['post_title'] . Wenn der $title['post_title'] eine leere Zeichenfolge the_title wenn das benutzerdefinierte Feld “hide_title” ist nicht leer, das folgende würde genügen:

 add_filter( 'the_title', 'wpse145940_hide_hidden_title', 10, 2 ); function wpse145940_hide_hidden_title( $title, $postid ) { if ( get_post_meta( $postid, 'hide_title', true ) ) { $title = ''; } return $title; }