Wie man function vom Code schafft?

Kann mir jemand sagen, wie man eine function aus dem folgenden Code erstellt? Es dient zum Anzeigen von Seitennavigationslinks in einer benutzerdefinierten Kategorievorlage. Wie Sie sehen können, handelt es sich um einen recht großen Code-Block, den ich in eine function einfügen möchte, damit ich die Links mit nur einer Codezeile in meiner Vorlage erzeugen kann.

Hier ist es:

 $cat_id, 'hide_empty' => '0' )); $total_terms = count( $total_childs_query ); $pages = ceil($total_terms/$catnum); $base_url = get_term_link( $cat_id, get_query_var( 'taxonomy' ) ); // if there's more than one page if( $pages > 1 ): echo '
'; echo ''; printf( '' . esc_html__( 'Page %1$s of %2$s', 'codilight-lite' ) . '', $catpage, $pages ); echo '
'; endif; // End of Pagination ?>

Und hier ist die benutzerdefinierte Kategorievorlage mit dem oben genannten Paginierungscode:

  <div id="content" class="site-content container "> 
cat_ID; $child_categories=get_categories( array( 'parent' => $cat_id, 'orderby' => 'id', 'order' => 'DESC', 'hide_empty' => '0', 'number' => $catnum, 'offset' => $offset, 'paged' => $catpage ) ); if (!empty($child_categories)) : $count = 0; ?> <?php echo '
'; echo '
'; foreach ( $child_categories as $child ){ $count++; include( locate_template( 'template-parts/content-custom.php' ) ); if ( $count % 2 == 0 ) { echo '
'; echo '
'; } } echo '
'; echo '
'; ?> $cat_id, 'hide_empty' => '0' )); $total_terms = count( $total_childs_query ); $pages = ceil($total_terms/$catnum); $base_url = get_term_link( $cat_id, get_query_var( 'taxonomy' ) ); // if there's more than one page if( $pages > 1 ): echo '
'; echo ''; printf( '' . esc_html__( 'Page %1$s of %2$s', 'codilight-lite' ) . '', $catpage, $pages ); echo '
'; endif; // End of Pagination ?>

Solutions Collecting From Web of "Wie man function vom Code schafft?"

Sie müssen mindestens 2 Parameter übergeben, sonst wissen Sie nicht, wonach Sie suchen sollen:

 < ?php function custom_pagination($cat_id, $catnum) { // Start of Pagination $total_childs_query = get_categories( array( 'parent' => $cat_id, 'hide_empty' => '0' )); $total_terms = count( $total_childs_query ); $pages = ceil($total_terms/$catnum); $base_url = get_term_link( $cat_id, get_query_var( 'taxonomy' ) ); // if there's more than one page if( $pages > 1 ): echo '
'; echo ''; printf( '' . esc_html__( 'Page %1$s of %2$s', 'codilight-lite' ) . '', $catpage, $pages ); echo '
'; endif; // End of Pagination } ?>

Dann können Sie in Ihrer Vorlage die function verwenden, die die Werte dynamisch addiert:

 $cat_id = 3; $cat_num = 5; custom_pagination($cat_id, $catnum); 

Ich musste der function nur ein zusätzliches Argument hinzufügen, damit es funktioniert. Das funktioniert:

 function custom_pagination($cat_id, $catnum, $catpage) { //page navigation code here } 

und in der benutzerdefinierten Kategorievorlage:

 < ?php custom_pagination($cat_id, $catnum, $catpage); ?>