我怎么知道一篇帖子是否至少发表过一次?

时间:2016-11-26 作者:cstays

我正在开发一个插件,每个帖子都附有一段元数据。这些字段可以在帖子的元框中编辑。一切正常。

我想阻止任何人修改元框中的设置,一旦发布后。由于应用程序正在查找此元数据,因此元数据在发布后更改没有任何意义。

那么,有没有办法判断一篇文章是否至少发表过一次?这样我就可以禁用元框中的控件。

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

我们可以在post第一次发布时将值存储到POSTETA中。

function save_ispublished( $post_id ) {

    if (defined(\'DOING_AUTOSAVE\') && DOING_AUTOSAVE)
        return;

    $published_once = get_post_meta( $post_id, \'is_published\', true );

    // Check if \'is_published\' meta value is empty.
    if ( ! empty( $published_once ) ) {

        $published_once = \'yes\';
    }

    // store is_published value when first time published.
    update_post_meta( $post_id, \'is_published\', $published_once );
}
add_action( \'save_post\', \'save_ispublished\' );
您可以通过获取元值来检查它。

$is_published = get_post_meta( $post_id, \'is_published\', true );

if( $is_published == \'yes\' ) {

    /*
    * Actions if post is already published atleast once.
    */
}
希望这有帮助!

SO网友:Benoti

我完全同意@Govind Kumar,除了示例中使用的动作之外,您可以使用publish_post 操作而不是save_post.

publish_post 是一种在发布帖子时触发的操作,或者在编辑帖子并将状态更改为“发布”时触发的操作。Save\\u post将在每次保存post时触发。

publish_post action

相关推荐

如何修改WP_INCLUDE/BLOCKS/LATEST_posts.php

我是WordPress开发的初学者,希望得到一些帮助。我在一个简单的WordPress网站上工作。基本上,用户希望在主页上显示最新的帖子。我使用了最新帖子块,并将其设置为显示整个帖子内容,现在用户不希望帖子标题链接到单个帖子页面(因为帖子的内容显示在主页上)。如何安全地修改模板文件,使其像h2标记一样使用,而不是在主题中使用的href标记。我知道您可以创建子主题并修改wp_content 文件,但我不确定如何处理中的文件wp_include. 我读到一些关于修改functions.php 但我不确定,如果