【问题标题】:How to retrieve saved data in wordpress database如何在wordpress数据库中检索保存的数据
【发布时间】:2016-05-12 02:04:05
【问题描述】:

我已经创建了一个带有自定义元框的自定义帖子类型,鉴于下面的代码,我知道它保存在 prefix_postmeta 上,我如何获取这些数据并将其显示在页面模板上?

例如:如果我在查看 THIS POST 时有 THIS POST,我将能够在 THIS POST 的底部看到这些数据:

标题:这篇文章

内容:lorem ipsum

来自元框的选项:选项

有人知道我该怎么做吗?的将给出想法或教程如何做到这一点? 任何建议都会有很大帮助。请不要投反对票。谢谢你,堆栈溢出的家伙。

下面的代码是我用来保存自定义元框的自定义字段的代码。

   function survey_questions_meta_save( $post_id ) {
 // Checks save status
$is_autosave = wp_is_post_autosave( $post_id );
$is_revision = wp_is_post_revision( $post_id );
$is_valid_nonce = ( isset( $_POST[ 'survey_questions_nonce' ] ) && wp_verify_nonce( $_POST[ 'survey_questions_nonce' ], basename( __FILE__ ) ) ) ? 'true' : 'false';
// Exits script depending on save status
if ( $is_autosave || $is_revision || !$is_valid_nonce ) {
    return;
}
if ( isset( $_POST[ 'option1' ] ) ) {
  update_post_meta( $post_id, 'option1', sanitize_text_field( $_POST[ 'option1' ] ) );
}
if ( isset( $_POST[ 'option2' ] ) ) {
  update_post_meta( $post_id, 'option2', sanitize_text_field( $_POST[ 'option2' ] ) );
}
if ( isset( $_POST[ 'option3' ] ) ) {
  update_post_meta( $post_id, 'option3', sanitize_text_field( $_POST[ 'option3' ] ) );
}
if ( isset( $_POST[ 'option4' ] ) ) {
  update_post_meta( $post_id, 'option4', sanitize_text_field( $_POST[ 'option4' ] ) );
}
if ( isset( $_POST[ 'option5' ] ) ) {
  update_post_meta( $post_id, 'option5', sanitize_text_field( $_POST[ 'option5' ] ) );
}
}
  add_action( 'save_post', 'survey_questions_meta_save' );

【问题讨论】:

  • get_post_meta() 可以解决问题。只需输入您的帖子 ID,您就可以提取所有帖子元数据。
  • 谢谢,@dingo_d 我已经做到了,$meta = get_post_meta( get_the_ID(),'option1',true);
  • @dingo_d 先生,您能否在下面写一个正式的答案,以便我可以将其声明为answer,这样将来会有所帮助。
  • 没问题 :) 等会

标签: php wordpress custom-wordpress-pages


【解决方案1】:

您正在寻找get_post_meta() 函数。

在您的页面中,您需要检索自定义帖子 ID,最好使用 get_the_id() 函数。

如果你在single-{cpt-name}.php,你可以创建一个简单的循环,在里面你就可以毫无问题地拉出所有的帖子和元数据。

$post_meta = get_post_meta( get_the_ID(), 'option_name', true );

有关在Wordpress Plugin Handbook 上重新发布元数据的更多详细信息。

【讨论】:

  • 这解决了问题,现在我可以添加一些带有自定义字段的自定义元框并且可以轻松检索它。无需创建自定义 db 表和处理 sql 命令。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-12
  • 2015-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-07
  • 1970-01-01
相关资源
最近更新 更多