直接查询POST_META表

时间:2016-08-31 作者:mkafiyan

我的wordpress单页中的直接查询有一些问题。

我有两个自定义帖子类型“book”和“author”,我使用metabox将它们连接在一起。当用户转到book custom post并添加新书时。他必须使用复选框metabox来确定这本书的作者。

我的网站上还有一个页面显示了作者的个人资料。在这个页面中,用户可以看到作者的书,我的代码可以将每本书的作者保存在数据库中,并可以完美地阅读它们,但我不知道如何才能获得任何作者的书。我尝试使用直接查询数据库,但它返回空数组。

这是post\\u元表

enter image description here

这是我这部分的代码

<?php 
 get_header(); ?>
<div class="head-style col-md-12 col-sm-12 col-xs-12">
<?php $args = array( \'post_type\' => \'author\'); 
    $loop = new WP_Query( $args );
     while ( have_posts() ) : the_post(); ?>

    <div class="title-pack col-md-12 col-sm-12 col-xs-12">
        <span class="line visible-sm-block"></span>
        <span class="visible-sm-block tittle-style"><?php the_title(); ?></span>
    </div>
    <div class="row writer-crit">
        <div class="writer-crit-box col-md-9 col-sm-8 col-xs-12">
            <div class="col-md-11 col-sm-11 col-xs-12 pull-right">
                <div class="writer-bio pull-right col-md-12 col-sm-12 col-xs-12">
                    <?php the_post_thumbnail(\'post-thumbnail\',array(\'class\' => \'pull-right\')); ?>
                    <div class="writer-content-bio col-md-8 col-sm-8 col-xs-12 pull-right">
                        <h3><?php the_title(); ?></h3>
                        <?php the_content(); ?>
                    </div>
                    <div class="col-md-12 col-sm-12 col-xs-12 pull-right">
                            <h3>کتابشناسی </h3>
                            <?php $ars = array( \'post_type\' => \'book\'); 
                            $loop = new WP_Query( $ars );

// for reading author which choose from cheak box in each book pages.
                            $post_id = get_the_ID(); 
                            $key = \'save-author-to-book\';
                            $key2=\'save-trans-to-book\';

                            $feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
                            ?>

                            <?php
                            $fivesdrafts =

                            $wpdb->get_results( 
                            $wpdb->prepare( "
                            SELECT  post_id
                            FROM $wpdb->post_meta
                            WHERE meta_key = \'save-trans-to-book\' 
                                AND meta_value LIKE %d

                            ",
                                $post_id 
                            )
                            );
                            var_dump($fivesdrafts);
                            ?>

                    </div>
                </div>
            </div>
        </div>


<?php endwhile; // End of the loop. ?>

1 个回复
SO网友:EBennett

如果我理解正确,您希望从数据库中检索元数据?尝试查看此WP函数:https://developer.wordpress.org/reference/functions/get_metadata/

这将允许您根据想要获取的数据类型获取所需的元数据,如post元数据或页面元数据等。

另一个读取可能是来自其他用户的此Stackoverflow问题。有一些答案显示了如何获取元数据并将其回显出来。

https://stackoverflow.com/questions/22216276/display-all-post-meta-keys-and-meta-values-of-the-same-post-id-in-wordpress