Я хочу изменить заголовки страниц (заголовки записей) для каждой страницы в разделе «Моя учетная запись WooCommerce», чтобы они относились к фактической странице, на которой вы находитесь, а не выводили общую «Моя учетная запись» на каждой странице.
Я посмотрел вокруг и увидел это решение в нескольких местах:
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 );
Это работает , а не , если вы не удалите проверку in_the_loop
, которая, очевидно, не идеальна, так какзатем он заканчивает тем, что меняет и другие вещи на странице.
Затем я нашел этот ответ , как пример того, как изменить заголовок страницы "Сведения об учетной записи":
add_filter( 'woocommerce_endpoint_edit-account_title', 'change_my_account_edit_account_title', 10, 2 );
function change_my_account_edit_account_title( $title, $endpoint ) {
$title = __( "Edit your account details", "woocommerce" );
return $title;
}
Но это не сработало, похоже, что оно вообще не входило в функцию.
Есть ли способ сделать это, который действительно работает?