在发布和/或更新时获取页面/帖子URL

时间:2018-04-23 作者:Devin Rowan

我想用一个简单的publish_post / publish_page 钩子可以在发布或更新帖子/页面时获取其URL,以便稍后将其转换为静态页面。

是否可以在主题函数之外添加此挂钩。php文件,因为这对我来说更可取?我也不确定如何从结果中获取文件位置/URL?非常感谢您的帮助。

2 个回复
最合适的回答,由SO网友:kirillrocks 整理而成

一个简单的解决方案-这个钩子将向您发送一个指向正在发布的帖子的完整URL。别忘了更新[email protected]

function post_published_notification( $ID, $post ) {
    $permalink = get_permalink( $ID ); // GETTING THE PERMALINK
    $to[] = \'[email protected]\'; // UPDATE THIS

    $title = $post->post_title;
    $subject = sprintf( \'Published: %s\', $title );
    $message = sprintf( \'View: %s\', $permalink );
    wp_mail( $to, $subject, $message, [] );
}
add_action( \'publish_post\', \'post_published_notification\', 10, 2 );
如果您希望它也能在更新后工作,只需将此操作添加到其底部:

add_action( \'save_post\', \'post_published_notification\', 10, 2 );
您可以将此挂钩添加到函数的底部。php或插件。

SO网友:Oleg Butuzov

是的,您完全可以将代码添加到某个插件/插件中functions.php 在主题中。您可以使用get_permalink() 函数来执行此操作。

结束

相关推荐

在unctions.php中添加多个自定义帖子类型,但仪表板中只显示一个自定义帖子类型

我是wordpress的新手,我正在尝试在函数中添加多个自定义帖子类型。php。添加一个cpt即可。但如果我使用相同的函数添加第二个cpt(只更改函数名),则第二个cpt不会显示在仪表板菜单中。以下是代码。我将非常感谢您在这方面的帮助。非常感谢。// register a new post type with Divi builder on function create_new_cpt() { $labels = array( \'name\' =&g