get_post_pemalink()不返回正确的值

时间:2016-05-28 14:38:16

标签: wordpress function permalinks

我启用了漂亮的链接,但是当我想通过get_post_pemalink()检索自定义帖子类型的网址时,除了漂亮的链接外,我得到“不太漂亮”的链接。

例如:

function send_ad_analytics_mail($ID, $post) {
    $link       =   get_post_permalink($ID);

    $to     = 'example@gmail.com';
    $subject    = 'Post is drafted';
    $message    = 'You can see it on '  . $link;
    $headers    = array(
        'From: example@example.rs'
    );

    wp_mail($to, $subject, $message, $headers);
}
add_action('draft_business', 'send_ad_analytics_mail', 10, 2);

我收到这样的电子邮件: 您可以在http://example.rs/?post_type=business&p=46934 上看到它 但我想要的是:你可以在http://example.rs/business/new-jobs/

上看到它

1 个答案:

答案 0 :(得分:3)

问题在于你选择使用的钩子:draft_business

我猜你有一个名为“business”的帖子类型。

而且,你正在使用的钩子挂在那个帖子的Post Status Transitions上。

但是,由于您有draft_business,因此当帖子从转换为状态draft时,这会挂起状态。一个未发布的帖子从不有一个非常永久链接,因此这个钩子永远不会返回一个非常永久链接,但总是一个“丑陋”的,如你所示。