我想在woocommerce我的帐户页面上的菜单上添加一个项目

时间:2019-05-16 17:52:53

标签: php wordpress woocommerce

我首先道歉。 因为我不会英语,所以句子可能很奇怪。

问题是标题。

我想在woocommerce的我的帐户菜单中增加链接到另一个页面(Buddypress的我的页面)的项目。

有可能吗?

How to add external custom url to woocommerce endpoint

我看到了上面的答案。

但是,我在Buddypress上的页面无法使用,因为它不能用ULR编写,也不能用

(可能只是我缺乏知识)

add_filter ( 'woocommerce_account_menu_items', 'misha_one_more_link' );
function misha_one_more_link( $menu_links ){

    // we will hook "anyuniquetext123" later
    $new = array( 'anyuniquetext123' => '**Candidate Dashboard**' );

    // or in case you need 2 links
    // $new = array( 'link1' => 'Link 1', 'link2' => 'Link 2' );

    // array_slice() is good when you want to add an element between the other ones
    $menu_links = array_slice( $menu_links, 0, 1, true ) 
    + $new 
    + array_slice( $menu_links, 1, NULL, true );


    return $menu_links;
}

add_filter( 'woocommerce_get_endpoint_url', 'misha_hook_endpoint', 10, 4 );
function misha_hook_endpoint( $url, $endpoint, $value, $permalink ){

    if( $endpoint === 'anyuniquetext123' ) {

        // Buddypress My page link→<?php echo bp_loggedin_user_domain(); ?>
        // I want to make a link of this
        // ok, here is the place for your custom URL, it could be external
        $url = **'http://alatta.org.ye/candidate-dashboard/';**

    }
    return $url;

}

实际上,除了主要问题之外,当我更改名称时,我还遇到了一个错误。

[更改] '**候选仪表板**'->'aaa'

[错误消息] 语法错误,意外的''(T_STRING)

1 个答案:

答案 0 :(得分:0)

对不起。 我从根本上被误解了。

我安全地解决了它,所以我写以防万一。

↓※对不起。 不知何故我不能很好地写信息

add_filter('woocommerce_account_menu_items','misha_one_more_link'); 函数misha_one_more_link($ menu_links){

$new = array( 'anyuniquetext123' => 'TestTitle' );

// $new = array( 'link1' => 'Link 1', 'link2' => 'Link 2' );

$menu_links = array_slice( $menu_links, 0, 1, true ) 
+ $new 
+ array_slice( $menu_links, 1, NULL, true );


return $menu_links;

}

add_filter('woocommerce_get_endpoint_url','misha_hook_endpoint',10,4); 函数misha_hook_endpoint($ url,$ endpoint,$ value,$ permalink){

if( $endpoint === 'anyuniquetext123' ) {

    // I only had to describe it normally
    $url =  bp_loggedin_user_domain();

}

return $url;

}