Benutzer-Werkzeuge

Webseiten-Werkzeuge

A PCRE internal error occured. This might be caused by a faulty plugin

ideas:ausgabe-der-post-headline-subtitle-ueberschreibbar-machen-fuer-widgets-trennen

====== Ausgabe der Post Headline und Subtitle überschreibbar machen und für widgets trennen ====== Spricht etwas dagegen, die ''function xtreme_post_headline'' sowie die ''xtreme_post_subtitle'' überschreibbar zu machen, sie also in eine ''if ( !function_exists('' zu packen, damit man die Ausgabe leichter in der eigenen functions.php customizen kann?\\ Für templates kann ich es ja lösen, indem ich mir die Original function in meine functions.php kopiere, umbenenne und anpasse und dann in meinen template files den entsprechenden function call einfüge, bzw. austausche. Für die widgets gehts da aber dann nicht mehr. Dann wäre es an dieser Stelle sicher auch sinnvoll, die beiden functionen nochmal als Versionen für die widgets zu verdoppeln und die Ausgaben in den 6 betreffenden widgets auch gleich zu ändern. Das würde das framework gleich wieder flixibler machen. Dadurch kann man dann auch nur die ''add_action'' Sachen sinnvoller nutzen, wenn man beispielsweise in templates und widgets unterschiedliche Ausgaben wünscht, wie im template ein banner vor der headline, im widget aber nichts davor. für die ''xtreme_post_headline'': <code phpwp><?php // function überschreibbar machen if ( !function_exists( 'xtreme_post_headline' ) ) { function xtreme_post_headline( $tag='h2', $link=true ) { $allowed_tags = array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ); $open_link = ''; $close_link = ''; if ( !in_array( $tag, $allowed_tags ) ) $tag = 'h2'; if ( $link ) { $open_link = sprintf( '<a href="%s" rel="bookmark" title="' . esc_attr__( 'Permalink to %s', XF_TEXTDOMAIN ) . '">', get_permalink(), the_title_attribute( 'echo=0' ) ); $close_link = '</a>'; } do_action('xtreme_before_post_headline'); printf( '<%1$s class="posttitle">%3$s%2$s%4$s</%1$s>', $tag, get_the_title(), $open_link, $close_link ); do_action('xtreme_after_post_headline'); } } /* neue function für widgets * für die widgets dann auch zwei neue hooks hinzufügen * xtreme_before_widget_post_headline * xtreme_after_widget_post_headline */ if ( !function_exists( 'xtreme_widget_post_headline' ) ) { function xtreme_widget_post_headline( $tag='h2', $link=true ) { $allowed_tags = array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ); $open_link = ''; $close_link = ''; if ( !in_array( $tag, $allowed_tags ) ) $tag = 'h2'; if ( $link ) { $open_link = sprintf( '<a href="%s" rel="bookmark" title="' . esc_attr__( 'Permalink to %s', XF_TEXTDOMAIN ) . '">', get_permalink(), the_title_attribute( 'echo=0' ) ); $close_link = '</a>'; } do_action('xtreme_before_widget_post_headline'); printf( '<%1$s class="posttitle">%3$s%2$s%4$s</%1$s>', $tag, get_the_title(), $open_link, $close_link ); do_action('xtreme_after_widget_post_headline'); } } </code> Das selbe nochmal für die ''xtreme_post_subtitle'' <code phpwp> <?php // function überschreibbar machen if ( !function_exists( 'xtreme_post_subtitle' ) ) { function xtreme_post_subtitle( $tag='h4', $link=false ) { if(!current_theme_supports( 'xtreme-subtitles' )) return; $pt = get_post_type( get_the_ID() ); $spt = get_theme_support( 'xtreme-subtitles' ); if (!in_array($pt, $spt[0])) return; if (!has_subtitle()) return; $allowed_tags = array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'div' ); $open_link = ''; $close_link = ''; if ( !in_array( $tag, $allowed_tags ) ) $tag = 'h4'; if ( $link ) { $open_link = sprintf( '<a href="%s" rel="bookmark" title="' . esc_attr__( 'Permalink to %s', XF_TEXTDOMAIN ) . '">', get_permalink(), the_title_attribute( 'echo=0' ) ); $close_link = '</a>'; } do_action('xtreme_before_post_subtitle'); printf( '<%1$s class="subtitle">%3$s%2$s%4$s</%1$s>', $tag, get_the_subtitle(), $open_link, $close_link ); do_action('xtreme_after_post_subtitle'); } } /* Neue function für widgets * für die widgets dann auch zwei neue hooks hinzufügen * xtreme_widget_before_post_subtitle * xtreme_widget_after_post_subtitle */ if ( !function_exists( 'xtreme_widget_post_subtitle' ) ) { function xtreme_widget_post_subtitle( $tag='h4', $link=false ) { if(!current_theme_supports( 'xtreme-subtitles' )) return; $pt = get_post_type( get_the_ID() ); $spt = get_theme_support( 'xtreme-subtitles' ); if (!in_array($pt, $spt[0])) return; if (!has_subtitle()) return; $allowed_tags = array( 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p', 'div' ); $open_link = ''; $close_link = ''; if ( !in_array( $tag, $allowed_tags ) ) $tag = 'h4'; if ( $link ) { $open_link = sprintf( '<a href="%s" rel="bookmark" title="' . esc_attr__( 'Permalink to %s', XF_TEXTDOMAIN ) . '">', get_permalink(), the_title_attribute( 'echo=0' ) ); $close_link = '</a>'; } do_action('xtreme_widget_before_post_subtitle'); printf( '<%1$s class="subtitle">%3$s%2$s%4$s</%1$s>', $tag, get_the_subtitle(), $open_link, $close_link ); do_action('xtreme_widget_after_post_subtitle'); } } </code> Der entsprechende Referenzierung in den 6 widgets könnte dann beispielsweise so aussehen. <code phpwp> // in xtreme-equal-heights-posts.php case 'subtitle': // xtreme_post_subtitle($subtag); xtreme_widget_post_subtitle($subtag); break; case 'posttitle': if ( $html5 ) echo '<header>'; // xtreme_post_headline( $tag, !$suppress_posttitle_link ); xtreme_widget_post_headline( $tag, !$suppress_posttitle_link ); </code> Betrifft folgende widgets: * xtreme-accessible-category-tabber.php * xtreme-column-posts.php * xtreme-equal-heights-pages.php * xtreme-equal-heights-posts.php * xtreme-grid-pages.php * xtreme-grid-posts.php

ideas/ausgabe-der-post-headline-subtitle-ueberschreibbar-machen-fuer-widgets-trennen · Zuletzt geändert: 2019/04/25 14:03 (Externe Bearbeitung)
© 2013 <xfco.de> Impressum | Datenschutz

Seiten-Werkzeuge