我正在使用woo-commerce用户 Jmeter 板模板。我需要打印当前端点的标题而不是the_title();。以下图像快照DOMIAN.com/my-account/orders/。页面标题应该是**“我的订单”**,但它是“我的帐户”。对其他端点标题也有相同的要求。请帮帮我x1c 0d1x的数据
the_title();
3duebb1j1#
我的帐户菜单项的原始顺序可以在/wp-content/plugins/woologce/includes/wc-account-functions. php中看到
/** * Get My Account menu items. * * @since 2.6.0 * @return array */ function wc_get_account_menu_items() { return apply_filters( 'woocommerce_account_menu_items', array( 'dashboard' => __( 'Dashboard', 'woocommerce' ), 'orders' => __( 'Orders', 'woocommerce' ), 'downloads' => __( 'Downloads', 'woocommerce' ), 'edit-address' => __( 'Addresses', 'woocommerce' ), 'payment-methods' => __( 'Payment Methods', 'woocommerce' ), 'edit-account' => __( 'Account Details', 'woocommerce' ), 'customer-logout' => __( 'Logout', 'woocommerce' ), ) ); }
字符串您可以使用woocommerce_account_menu_items过滤器更改这些端点的顺序,您也可以使用相同的过滤器更改列表项标题。
<?php function wpb_woo_my_account_order() { $myorder = array( 'my-custom-endpoint' => __( 'My Stuff', 'woocommerce' ), 'edit-account' => __( 'Change My Details', 'woocommerce' ), 'dashboard' => __( 'Dashboard', 'woocommerce' ), 'orders' => __( 'Orders', 'woocommerce' ), 'downloads' => __( 'Download MP4s', 'woocommerce' ), 'edit-address' => __( 'Addresses', 'woocommerce' ), 'payment-methods' => __( 'Payment Methods', 'woocommerce' ), 'customer-logout' => __( 'Logout', 'woocommerce' ), ); return $myorder; } add_filter ( 'woocommerce_account_menu_items', 'wpb_woo_my_account_order' );
型更改列表项标题的限制之一是它不会更改条目标题。改变WooCommerce自定义端点的条目标题的一种方法是使用带有in_the_loop条件的_title过滤器。
<?php /* * Change the entry title of the endpoints that appear in My Account Page - WooCommerce 2.6 * Using the_title filter */ function wpb_woo_endpoint_title( $title, $id ) { if ( is_wc_endpoint_url( 'downloads' ) && in_the_loop() ) { // add your endpoint urls $title = "Download MP3s"; // change your entry-title } elseif ( is_wc_endpoint_url( 'orders' ) && in_the_loop() ) { $title = "My Orders"; } elseif ( is_wc_endpoint_url( 'edit-account' ) && in_the_loop() ) { $title = "Change My Details"; } return $title; } add_filter( 'the_title', 'wpb_woo_endpoint_title', 10, 2 );
型
gfttwv5a2#
<?php add_filter( 'the_title', 'wc_page_endpoint_title' ); the_title( '<h1 class="page-title mb-4">', '</h1>' ); ?>
字符串wc_page_endpoint_title
/** * Generates account page titles * * @see wc_page_endpoint_title * * @param string $title Current title. * @return string */ function vralle_generate_wc_endpoint_title( string $title ): string { $action = isset( $_GET['action'] ) ? sanitize_text_field( wp_unslash( $_GET['action'] ) ) : ''; $endpoint = WC()->query->get_current_endpoint(); $ep_title = $endpoint ? WC()->query->get_endpoint_title( $endpoint, $action ) : ''; if ( ! empty( $ep_title ) ) { return $ep_title; } return $title; } /** * Filters document title. * * @param array $title The document title parts. * * @return array */ function vralle_document_title( $title ) { if ( is_page() && function_exists( 'is_wc_endpoint_url' ) && is_wc_endpoint_url() ) { $title['title'] = vralle_generate_wc_endpoint_title( $title['title'] ); } return $title; } add_filter( 'document_title_parts', 'vralle_document_title );
6uxekuva3#
我知道这已经过时了,但下面的代码已经过测试和工作.
function wc_custom_end_point_page_title( $title ) { global $wp_query; $is_endpoint = isset( $wp_query->query_vars['my-custom-endpoint'] ); if ( $is_endpoint && ! is_admin() && is_main_query() && in_the_loop() && is_account_page() ) { $title = __( 'Custom Endpoint Title', 'woocommerce' ); remove_filter( 'the_title', 'wc_custom_end_point_page_title' ); } return $title; } add_filter( 'the_title', 'wc_custom_end_point_page_title' );
字符串
3条答案
按热度按时间3duebb1j1#
我的帐户菜单项的原始顺序可以在/wp-content/plugins/woologce/includes/wc-account-functions. php中看到
字符串
您可以使用woocommerce_account_menu_items过滤器更改这些端点的顺序,您也可以使用相同的过滤器更改列表项标题。
型
更改列表项标题的限制之一是它不会更改条目标题。
改变WooCommerce自定义端点的条目标题的一种方法是使用带有in_the_loop条件的_title过滤器。
型
gfttwv5a2#
显示端点标题
字符串
wc_page_endpoint_title
Bonus -端点文档标题
型
6uxekuva3#
我知道这已经过时了,但下面的代码已经过测试和工作.
字符串