Редактировать ссылку на продукт в No Email администратора Уведомление по электронной почте - PullRequest
0 голосов
/ 27 сентября 2019

Я хотел бы иметь ссылку «Изменить товар» в письмах «Нет на складе», которые администратор получает после того, как продажа / товар поменяется на отсутствующий.

Этот тип кода отлично подходит дляполучение всех мета / пользовательских полей записей, но для ссылки редактирования сообщений она работает только с перебоями, изо всех сил пытаясь выяснить, что я делаю неправильно, пробовала различные способы получения edit_post и гуглила сотни сообщений здесь в стеке, но только этуработает время от времени, нужно все время работать.Большое спасибо заранее, если кто-нибудь может помочь ..

function filter_woocommerce_email_content_edit_me_link( $message, $product ) { 

    $id = $product->get_id();
    $edit_link = get_edit_post_link( $id, $product );

    $string .= '<p class="edit-this"><a href="' . get_edit_post_link() . '">Edit Product</a></p>';

    return $string;
}     

// add the filter 
add_filter( 'woocommerce_email_content_no_stock', 'filter_woocommerce_email_content_edit_me_link', 10, 12 );

// различными способами, которые я имею в виду с сообщением или строкой, как и для всех возвратов, как показано ниже, с обратной косой чертой ed / edi / edit, это также сработало, нотолько после размещения заказа вручную, а не когда другие пользователи размещают заказ.

//return get_edit_post_link($this->ID);
//echo get_edit_post_link($post->ID);

//return $message."\nEdit  ".$edit_link;

//return $message. " \n " .get_edit_post_link(intval($product->product_id)) .$edit_link;

 //return $edit_link. " edit\ " .get_edit_post_link(intval($product->product_id)) .$edit_link;

//return $message." \nedit " .$edit_link;

//return $message. " \ " .$edit_link;
//return $string .= ' <a href=" ' .get_edit_post_link(($product->product_id)) . '"> ' .get_edit_post_link($product->product_id) .'</a>';

1 Ответ

0 голосов
/ 28 сентября 2019
Код

, приведенный ниже, отлично работает для пользователя-администратора, который размещает заказ, но если другие размещают заказ, в админе нет ссылки на редактирование, нет обычной электронной почты ... использование глобального продукта $, похоже, не поможет.

function filter_woocommerce_email_content_edit_me_link( $message, $product ) { 

    $id = $product->get_id();
    $edit_link = get_edit_post_link( $id, $product );

    return $message."  edit product  " .$edit_link;
}     

// add the filter 
add_filter( 'woocommerce_email_content_no_stock','filter_woocommerce_email_content_edit_me_link', 10, 12 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...