Fügen Sie Filter für HTML-Tags hinzu, Attribute für bestimmte functionen in WordPress

Der Titel ist ein kleines bisschen: Sorry 🙂 Zum Beispiel haben wir Seitenfunktionen paginate, die HTML so etwas ausgeben

some number 

Wie kann ich das filtern, um diese Spannweite, class zu entfernen, um meine eigenen HTML-Tags, Stile, Tnx im Voraus anzuwenden. Ich möchte nur meine eigenen Stile und HTML-Tags anwenden, ist das möglich?

Solutions Collecting From Web of "Fügen Sie Filter für HTML-Tags hinzu, Attribute für bestimmte functionen in WordPress"

Verwenden Sie eine benutzerdefinierte Paginierungsfunktion:

meine Quelle:

 function fb_paging_bar( $args = array() ) { $defaults = array( 'range' => 4, 'custom_query' => FALSE, 'previous_string' => __( '«««', FB_GREYFOTO_TEXTDOMAIN ), 'next_string' => __( '»»»', FB_GREYFOTO_TEXTDOMAIN ), 'view_fp' => TRUE, 'view_lp' => TRUE, 'before_output' => '' ); $args = wp_parse_args( $args, apply_filters( 'fb_paging_bar_defaults', $defaults ) ); $args['range'] = (int) $args['range'] - 1; if ( !$args['custom_query'] ) $args['custom_query'] = @$GLOBALS['wp_query']; $count = (int) $args['custom_query']->max_num_pages; $page = intval( get_query_var( 'paged' ) ); $ceil = ceil( $args['range'] / 2 ); if ( $count < = 1 ) return FALSE; if ( !$page ) $page = 1; if ( $count > $args['range'] ) { if ( $page < = $args['range'] ) { $min = 1; $max = $args['range'] + 1; } elseif ( $page >= ($count - $ceil) ) { $min = $count - $args['range']; $max = $count; } elseif ( $page >= $args['range'] && $page < ($count - $ceil) ) { $min = $page - $ceil; $max = $page + $ceil; } } else { $min = 1; $max = $count; } $echo = ''; $previous = intval($page) - 1; $previous = esc_attr( get_pagenum_link($previous) ); if ( $previous && (1 != $page) ) $echo .= '' . $args['previous_string'] . ''; $firstpage = esc_attr( get_pagenum_link(1) ); if ( $args['view_fp'] && $firstpage && (1 != $page) ) $echo .= '' . __( 'First', FB_GREYFOTO_TEXTDOMAIN ) . ''; if ( !empty($min) && !empty($max) ) { for( $i = $min; $i < = $max; $i++ ) { if ($page == $i) { $echo .= '' . str_pad( (int)$i, 2, '0', STR_PAD_LEFT ) . ''; } else { $echo .= sprintf( '%002d', esc_attr( get_pagenum_link($i) ), $i ); } } } if ($args['view_lp']) { $lastpage = esc_attr( get_pagenum_link($count) ); if ( $lastpage && ($count != $page) ) { $count = str_pad( (int)$count, 2, '0', STR_PAD_LEFT ); $echo .= '' . __( 'Last', FB_GREYFOTO_TEXTDOMAIN ) . '(' . $count . ')' . ''; } } $next = intval($page) + 1; $next = esc_attr( get_pagenum_link($next) ); if ($next && ($count != $page) ) $echo .= '' . $args['next_string'] . ''; if ( isset($echo) ) echo $args['before_output'] . $echo . $args['after_output']; } 

Sie können auch die function für benutzerdefiniertes Format und Variablen aktivieren.

auch ein Beispiel:

 function change_fb_paging_bar_defaults($args) { $args['previous_string'] = ''; // empty string $args['next_string'] = ''; return $args; } add_filter('fb_paging_bar_defaults', 'change_fb_paging_bar_defaults'); 

Verwenden Sie in Ihrer Vorlage die function:

 fb_paging_bar(); 

Ich denke, der beste Weg, es zu tun wäre, diese function zu kopieren (wp-includes / general-template.php, Zeile 1943) und erstellen Sie Ihre eigenen mit dem Markup, das Sie wollen.

Es gibt mehrere Möglichkeiten, Markup anzupassen, dies hängt von der jeweiligen function ab:

  • Suchfunktion auf der tieferen Ebene, die zum Abrufen von Daten verwendet wird, verwenden Sie sie mit eigenem Markup;
  • Überprüfen Sie, ob die Ausgabe über den Filter erfolgt, verwenden Sie den Filter, um Ersatz zu erstellen.
  • Markup wird mit Walker-class generiert, eigene Walker erstellen und übergeben, um zu funktionieren.

Es gibt wahrscheinlich mehr Möglichkeiten, aber ich denke, das sind üblich.

Insgesamt denke ich, WP Markup ist einigermaßen brauchbar und semantisch. Die meisten Fälle, in denen ich zu sehr damit zu kämpfen hatte, sind JS-Sachen, die ein ganz bestimmtes Markup erfordern.

Dachten Sie, dass es konsistenter und praktikabler ist, CSS an generisches Markup anzupassen?