wordpress - 如何保存自定义元以便仅在 "Preview Changes"中看到评论数据,而不是前端的实际帖子

标签 wordpress metadata revision

我正在尝试添加自定义元并查看“预览更改”。我可以看到更改,但更改也适用于前端的实际帖子。我希望更改将在发布或更新时更新到实际帖子,而不是在“预览更改”单击时更新。请帮忙。 我已经关注了这个插件。

函数 my_plugin_save_post( $post_id, $post ) {

if ( $parent_id = wp_is_post_revision( $post_id ) ) {

    $parent  = get_post( $parent_id );
    $my_meta = get_post_meta( $parent->ID, 'my_meta', true );

    if ( false !== $my_meta )
          add_metadata( 'post', $post_id, 'my_meta', $my_meta );
}

} add_action( 'save_post', 'my_plugin_save_post' );

最佳答案

以下代码将阻止您的元数据在预览时保存,但您将无法使用元数据预览已发布的帖子。老实说,我正在尝试自己解决这种情况:/

<?php // In your save metabox data function, near the top...
if (isset( $_POST['wp-preview'] ) && 'dopreview' == $_POST['wp-preview'] ) {
  if(get_post_status($post_id) == 'publish'){
    return; // This way we can still preview draft / scheduled posts
  }
}

老实说,我会使用此代码,并在编辑/预览时将您的帖子短暂设置为草稿私有(private),并在完成后照常发布。

关于wordpress - 如何保存自定义元以便仅在 "Preview Changes"中看到评论数据,而不是前端的实际帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34992629/

相关文章:

php - 不会加载 CSS WordPress 网站

c++ - exif和xmp有什么关系?它们可以互换吗?

visual-studio-2012 - 为什么 TFS 内部版本号在 2012 年停止自动递增?

git - 转到特定修订

css - 覆盖容器

ios - MP4 视频在桌面上工作,而不是在移动设备上

php - 将自定义字段添加到 WooCommerce 中的短代码显示

python id3 标签 unicode

mysql - 在 Doctrine 模式中,当我添加新字段时无法更新

java - 在 webapp 中获取当前的 svn 版本