Wordpress Theme <h1> Tag im Site_Title entfernen / mit Hook (add_filter)?

Hallo alle miteinander,

ich benutze Wordpress mit dem Theme Thesis2. Das Problem ist das Wordpress auf der Startseite (Front_Page) automatisch ein (<h1> im site_title) platziert, das will ich aber nicht.

Ich habe ein Child-Theme erstellt. Dieses enthält auch eine extra funtions.php mit der ich zusätzliche Änderungen an meinem Theme vornehmen kann.

Ich habe z.B. in dieser functions-php einen Hook geschrieben der die Anzahl der benutzerdefinierten Felder von Wordpress erhöht, von "35" auf "100".

Jetzt benötige ich allerdings einen Hook um den Tag (<h1> im site_title) zu entfernen, bzw. soll dieser einfach in ein <div> Element umgewandelt werden.

Das ganze sollte normal eigentlich kein Problem sein, dachte ich anfangs zumindest. Mit einem normalen Standard Theme wäre dies auch kein Problem, ich benutze aber ein Framework.

Ums nicht noch länger zu machen, ich denke ich habe den Code in meinem Theme gefunden der dieses <h1> Tag erzeugt. Dafür benötige ich jetzt einen Haken der dieses verhindert.

Diese Art der PHP-Schreibweise ist aktuell noch zu hoch für mich, ich verstehe nicht einmal die Hälfte des Codes. Wäre schön wenn mir jemand helfen könnte. Danke!

Mein Theme Code (Ausschnitt)

<?php
class thesis_site_title extends thesis_box { protected function translate() { $this->title = __('Site Title', 'thesis'); }


protected function html_options() {
    global $thesis;
    $html = $thesis-&gt;api-&gt;html_options(array('div' =&gt; 'div', 'p' =&gt; 'p'), 'div');
    $html['html']['tooltip'] = __('Your site title will be contained within &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; tags on your home page, but the tag you specify here will be used on all other pages.', 'thesis');
    unset($html['id'], $html['class']);
    return $html;
}

public function html($args = array()) {
    global $thesis, $wp_query; #wp
    $title = trim($thesis-&gt;api-&gt;efn(
        apply_filters($this-&gt;_class, !empty($thesis-&gt;api-&gt;options['blogname']) ?
            htmlspecialchars_decode($thesis-&gt;api-&gt;options['blogname'], ENT_QUOTES) : false)));
    $logo = ($logo = apply_filters("{$this-&gt;_class}_logo", $title)) ?
        strip_tags(html_entity_decode($logo), '&lt;img&gt;') : false;
    if (empty($title) &amp;&amp; empty($logo)) return;
    extract($args = is_array($args) ? $args : array());
    $html = apply_filters("{$this-&gt;_class}_html", $wp_query-&gt;is_home || is_front_page() ?
        'h1' : (!empty($this-&gt;options['html']) ?
        esc_attr($this-&gt;options['html']) :
        'div'));
    $title = !empty($logo) ? strip_tags($logo, '&lt;img&gt;') : $title;
    echo
        str_repeat("\t", !empty($depth) ? $depth : 0),
        "&lt;$html id=\"site_title\"&gt;",
        (apply_filters("{$this-&gt;_class}_link", true) ?
        "&lt;a href=\"". esc_url(home_url()). "\"&gt;$title&lt;/a&gt;" :
        $text),
        "&lt;/$html&gt;\n";
}

}

?>

Mein Hook um "<H1>" in "<DIV>" umzuwandeln: (Ist Fehlerhaft)

<?php add_filter("{$this-&gt;_class}_html", 'html_test' );
function html_test( $html ) {
	$html = "div";
	return $html;
} ?>
Computer, Technik, Wordpress, PHP, Technologie, Wordpress Theme, Spiele und Gaming
1 Antwort
Wordpress "do_action" richtig oder falsch?

Hey,

ich experimentier etwas nach dem Motto "learning by doing" und wollte fragen, ob ich "das" richtig mache bzw. ob das so korrekt ist:

Ich habe gelernt wie man hooks mit remove_action entfernt und mit add_action neu bzw. anders plazieren kann. nun habe ich probiert, einen hook nicht nur innerhalb anders zu setzen, also die reinfolge zu ändern, sondern an eine ganz andere stelle zu setzen.

ich habe einfach folgendes an eine belibige stelle meiner seite geschrieben:

      <?php
        /* test /         do_action( 'fantasie-namen' ); ?>            

und dann dass in die funktions:

  add_action( 'init', 'jk_remove_storefront_header_search' );
  function jk_remove_storefront_header_search()
  {
  remove_action( 'storefront_header', 'storefront_product_search', 40 );   
  add_action( 'fantasie-namen', 'storefront_product_search', 1 );
  }

So habe ich das Suchfeld aus dem hook-container? (sorry, noch etwas verwirrent) entfernt und dann in meine "fantasie-namen" action gesetzt. Das hat erstaunlicher weise auch funktioniert! tätäää :-)

jetzt die frage. ist dass überhaupt richtig, und nicht nur zufall, dass das so geht? also ich habe zuvor nirgendwo die "do_action" verwendet. ich muss die ja nicht irgendwie "registrieren" oder vorher verwendet haben, oder?

danke für die antwort und vielleicht paar hilfreiche sätze zum thema. mein english is not so well und auf deutsch finde ich leider nichts hilfreiches dazu.

fff

Plug-in, Webentwicklung, Wordpress Theme
0 Antworten

Meistgelesene Fragen zum Thema Wordpress Theme