Mit dem folgenden Code habe ich mehrere Registerkarten zur Registerkarte „Mein Konto“ von WooCommerce hinzugefügt, mit nur einem Problem: Ich kann nicht für jede Registerkarte benutzerdefinierte Inhalte anzeigen. Gibt es eine Möglichkeit?
function pa_custom_endpoint_keys() { global $wpdb; $charset_collate = $wpdb->get_charset_collate(); $pao = $wpdb->prefix . 'pao'; $results=$wpdb->get_results("select * from $pao"); $endpointsdata =array(); foreach($results as $row){ $endpointsdata[$row->pao_name] = $row->pao_value; } return $endpointsdata; } add_action( 'init', 'pa_custom_endpoint' ); function pa_custom_endpoint() { foreach(pa_custom_endpoint_keys() as $endpointkey=>$endpointlable){ add_rewrite_endpoint( $endpointkey, EP_ROOT | EP_PAGES ); } } add_filter( 'query_vars', 'pa_custom_endpoint_query_vars', 0 ); function pa_custom_endpoint_query_vars( $vars ) { foreach(pa_custom_endpoint_keys() as $endpointkey=>$endpointlable){ $vars[] = $endpointkey; } return $vars; } add_filter( 'woocommerce_account_menu_items', 'pa_custom_endpoint_link_my_account' ); function pa_custom_endpoint_link_my_account( $items ) { foreach(pa_custom_endpoint_keys() as $endpointkey=>$endpointlable){ $items[$endpointkey] = $endpointlable; } return $items; } function mine(){//i just need to make this function like this $mine(){} echo do_shortcode( ' /* your shortcode here ' ); } foreach(pa_custom_endpoint_keys() as $endpointkey=>$endpointlable){ add_action( 'woocommerce_account_' . $endpointkey . '_endpoint', 'mine' ); }