Templates and meta

时间:2018-04-11 作者:irek19

我想将CPT中的一些自定义字段传递给帖子。我有一些代码,但我不知道如何“集成”它。

我正在WP模板中做一些事情(这不是我的,这是主要问题)。

Code

我有这个single-job.php, 这是-从单个复制。php—CPT的post模板。

<?php
/**
 * Job Post
 */
if( defined(\'FW\') ) :
    $elements = jevelin_option( \'post_elements\' );
    if( jevelin_option( \'post_layout\' ) == \'sidebar-left\' || jevelin_option( \'post_layout\' ) == \'sidebar-right\' ) :
        $layout_sidebar = esc_attr( jevelin_option( \'post_layout\' ) );
    endif;
else :
    $layout_sidebar = \'sidebar-right\';
endif;

get_header();
?>

<div id="content" class="<?php if( isset($layout_sidebar) && $layout_sidebar ) : ?>content-with-<?php echo esc_attr( $layout_sidebar ); endif; ?>">
    <div class="blog-single blog-style-large">
        <?php
            if ( have_posts() ) :
                while ( have_posts() ) : the_post();

                    get_template_part( \'content\', \'format-\'.get_post_format() ); ?>


                    <?php /* Clear unclosed floats */ ?>
                    <div class="sh-clear"></div>


                    <?php /* Show page links navigation */ ?>
                    <?php jevelin_page_links(); ?>


                    <?php /* Show Tags */ ?>
                    <?php if( count( wp_get_post_tags( get_the_ID() ) ) > 0 ) : ?>
                        <div class="sh-blog-tags">
                            <h5><?php esc_html_e( \'Tags In\', \'jevelin\' ); ?></h5>
                            <div class="sh-blog-tags-list">
                                <?php foreach( get_the_tags( get_the_ID() ) as $tag ) :
                                    $term_link = get_tag_link( $tag->term_id );
                                ?>
                                    <a href="<?php echo esc_url( $term_link ); ?>" class="sh-blog-tag-item">
                                        <?php echo esc_attr( $tag->name ); ?>
                                    </a>
                                <?php endforeach; ?>
                            </div>
                        </div>
                    <?php endif; ?>
我还有一段代码,可以将自定义字段传递给帖子文本。

<?php
            if ( have_posts() ) {
                while ( have_posts() ) : the_post();
                    $type = get_post_type( get_the_ID() );
                    if($type == \'job\'){
                        your-title();
                        your-requisitos();
                        your-description();
                    }

                endwhile;
                }   
?>
我试图在这两行代码中“集成”这两个代码,但我不知道怎么做(它崩溃了)。

<?php
                if ( have_posts() ) :
                    while ( have_posts() ) : the_post();

                        get_template_part( \'content\', \'format-\'.get_post_format() ); ?>

1 个回复
最合适的回答,由SO网友:Tom J Nowell 整理而成

get_post_meta 是你的朋友。

get_post_meta( int $post_id, string $key = \'\', bool $single = false )

检索帖子的帖子元字段。

请注意,自定义字段在内部命名为post meta。

e、 g。

$key_1_value = get_post_meta( get_the_ID(), \'key_1\', true );
// Check if the custom field has a value.
if ( ! empty( $key_1_value ) ) {
    echo esc_html( $key_1_value );
}
不过,请注意,将所有内容都存储为post meta很有诱惑力,直到您必须搜索所有带有X meta和Y值的帖子。在这一点上,X应该是一个自定义的分类法,您的网站速度将大幅下降。

结束

相关推荐