在使用自定义字段的页面上执行WordPress查询时出现问题

时间:2014-09-14 作者:Even T

我有一个自定义帖子类型的网站,以及一些使用高级自定义字段(ACF)创建的自定义字段。我修改了一个归档站点(archive sammenligne.php),它以我想要的方式显示数据,但是当我尝试在页面上使用WP查询提取数据时,我没有得到任何输出。如果我使用标准的WordPress标题,我会得到输出。我假设与自定义字段的链接有关;但他们在归档页面上工作。

我需要在WordPress页面上运行查询,而不是在存档中,因为我希望在循环上方有帖子内容。下面的代码保存为页面模板。

我经营Genesis Metro Pro和WordPress。

提前谢谢。

<?php
add_filter( \'genesis_pre_get_option_site_layout\', \'__genesis_return_full_width_content\' );
function sk_display_custom_fields() {
/*Custom fields/*
    $navn = get_field( \'navn\' );
    $type = get_field( \'type\' );
    $fordeler = get_field( \'fordeler\' );
/*Wordpress loop*/
    $arg = array(
            \'post_type\' => \'sammenligne\',
            \'posts_per_page\' => 10,
            \'order\' => \'DESC\',
            \'post_status\' => \'publish\'
            );
    $query = new WP_Query($arg);
    if ( $query->have_posts() ) : 
        while ( $query->have_posts() ) : $query->the_post(); 
            echo \'<h2>\' . $navn . \'</h2>\';
        endwhile;
    endif;
    wp_reset_query(); 
}
add_action( \'genesis_entry_header\', \'sk_display_custom_fields\' );

    genesis();

2 个回复
SO网友:AnC

编辑://

尝试以下操作:

<?php
add_filter( \'genesis_pre_get_option_site_layout\', \'__genesis_return_full_width_content\' );
function sk_display_custom_fields() {
/*Wordpress loop*/
    global $wp_query;
    query_posts(array(
    \'post_type\' => \'sammenligne\'
    ));

    while(have_posts()) : the_post(); ?>
$navn = get_field( \'navn\' );
$type = get_field( \'type\' );
echo \'<p>\',$navn , \'__\', \'$type\',\'</p>\');
    endwhile;
    wp_reset_query();
}
add_action( \'genesis_entry_header\', \'sk_display_custom_fields\' );

genesis();
更新时间://

好的,我现在测试了ACF。使用以下代码,您可以将自定义帖子类型中的自定义帖子字段作为目标,而无需位于存档网站上!

<?php

    // create custom loop to query the custom posttype
    $arg = array(
    \'post_type\' => \'sammenligne\',
    \'posts_per_page\' => 10,
    \'order\' => \'DESC\',
    \'post_status\' => \'publish\'
    );

    $query = new WP_Query($arg);

// then start the query 
if ( $query->have_posts() ) :
    while ( $query->have_posts() ) : $query->the_post();
            // now go get the fields you want ! 
            $field1 = get_field(\'test1\');
            // output the fields in the format you want
            echo $field1;
    endwhile;
endif;
wp_reset_query(); // reset query

SO网友:Even T

是的,它在我的另一个站点存档SammenAligne上运行。php,这是slug sammenligne的归档文件。

这是高级自定义字段的输出。我已经删除了其他字段(大约20个)。

if(function_exists("register_field_group"))
{
    register_field_group(array (
        \'id\' => \'acf_kredittkort\',
        \'title\' => \'Kredittkort\',
        \'fields\' => array (
            array (
                \'key\' => \'field_5412c743d82aa\',
                \'label\' => \'Navn\',
                \'name\' => \'navn\',
                \'type\' => \'text\',
                \'required\' => 1,
                \'default_value\' => \'\',
                \'placeholder\' => \'\',
                \'prepend\' => \'\',
                \'append\' => \'\',
                \'formatting\' => \'html\',
                \'maxlength\' => \'\',
            ),
            array (
                \'key\' => \'field_5412c7e2d82ad\',
                \'label\' => \'Maksgrense\',
                \'name\' => \'maksgrense\',
                \'type\' => \'number\',
                \'default_value\' => \'\',
                \'placeholder\' => \'\',
                \'prepend\' => \'\',
                \'append\' => \'\',
                \'min\' => \'\',
                \'max\' => \'\',
                \'step\' => \'\',
            ),
        ),
        \'location\' => array (
            array (
                array (
                    \'param\' => \'post_type\',
                    \'operator\' => \'==\',
                    \'value\' => \'sammenligne\',
                    \'order_no\' => 0,
                    \'group_no\' => 0,
                ),
            ),
        ),
        \'options\' => array (
            \'position\' => \'acf_after_title\',
            \'layout\' => \'no_box\',
            \'hide_on_screen\' => array (
            ),
        ),
        \'menu_order\' => 0,
    ));
}

结束

相关推荐

在使用自定义字段的页面上执行WordPress查询时出现问题 - 小码农CODE - 行之有效找到问题解决它

在使用自定义字段的页面上执行WordPress查询时出现问题

时间:2014-09-14 作者:Even T

我有一个自定义帖子类型的网站,以及一些使用高级自定义字段(ACF)创建的自定义字段。我修改了一个归档站点(archive sammenligne.php),它以我想要的方式显示数据,但是当我尝试在页面上使用WP查询提取数据时,我没有得到任何输出。如果我使用标准的WordPress标题,我会得到输出。我假设与自定义字段的链接有关;但他们在归档页面上工作。

我需要在WordPress页面上运行查询,而不是在存档中,因为我希望在循环上方有帖子内容。下面的代码保存为页面模板。

我经营Genesis Metro Pro和WordPress。

提前谢谢。

<?php
add_filter( \'genesis_pre_get_option_site_layout\', \'__genesis_return_full_width_content\' );
function sk_display_custom_fields() {
/*Custom fields/*
    $navn = get_field( \'navn\' );
    $type = get_field( \'type\' );
    $fordeler = get_field( \'fordeler\' );
/*Wordpress loop*/
    $arg = array(
            \'post_type\' => \'sammenligne\',
            \'posts_per_page\' => 10,
            \'order\' => \'DESC\',
            \'post_status\' => \'publish\'
            );
    $query = new WP_Query($arg);
    if ( $query->have_posts() ) : 
        while ( $query->have_posts() ) : $query->the_post(); 
            echo \'<h2>\' . $navn . \'</h2>\';
        endwhile;
    endif;
    wp_reset_query(); 
}
add_action( \'genesis_entry_header\', \'sk_display_custom_fields\' );

    genesis();

2 个回复
SO网友:AnC

编辑://

尝试以下操作:

<?php
add_filter( \'genesis_pre_get_option_site_layout\', \'__genesis_return_full_width_content\' );
function sk_display_custom_fields() {
/*Wordpress loop*/
    global $wp_query;
    query_posts(array(
    \'post_type\' => \'sammenligne\'
    ));

    while(have_posts()) : the_post(); ?>
$navn = get_field( \'navn\' );
$type = get_field( \'type\' );
echo \'<p>\',$navn , \'__\', \'$type\',\'</p>\');
    endwhile;
    wp_reset_query();
}
add_action( \'genesis_entry_header\', \'sk_display_custom_fields\' );

genesis();
更新时间://

好的,我现在测试了ACF。使用以下代码,您可以将自定义帖子类型中的自定义帖子字段作为目标,而无需位于存档网站上!

<?php

    // create custom loop to query the custom posttype
    $arg = array(
    \'post_type\' => \'sammenligne\',
    \'posts_per_page\' => 10,
    \'order\' => \'DESC\',
    \'post_status\' => \'publish\'
    );

    $query = new WP_Query($arg);

// then start the query 
if ( $query->have_posts() ) :
    while ( $query->have_posts() ) : $query->the_post();
            // now go get the fields you want ! 
            $field1 = get_field(\'test1\');
            // output the fields in the format you want
            echo $field1;
    endwhile;
endif;
wp_reset_query(); // reset query

SO网友:Even T

是的,它在我的另一个站点存档SammenAligne上运行。php,这是slug sammenligne的归档文件。

这是高级自定义字段的输出。我已经删除了其他字段(大约20个)。

if(function_exists("register_field_group"))
{
    register_field_group(array (
        \'id\' => \'acf_kredittkort\',
        \'title\' => \'Kredittkort\',
        \'fields\' => array (
            array (
                \'key\' => \'field_5412c743d82aa\',
                \'label\' => \'Navn\',
                \'name\' => \'navn\',
                \'type\' => \'text\',
                \'required\' => 1,
                \'default_value\' => \'\',
                \'placeholder\' => \'\',
                \'prepend\' => \'\',
                \'append\' => \'\',
                \'formatting\' => \'html\',
                \'maxlength\' => \'\',
            ),
            array (
                \'key\' => \'field_5412c7e2d82ad\',
                \'label\' => \'Maksgrense\',
                \'name\' => \'maksgrense\',
                \'type\' => \'number\',
                \'default_value\' => \'\',
                \'placeholder\' => \'\',
                \'prepend\' => \'\',
                \'append\' => \'\',
                \'min\' => \'\',
                \'max\' => \'\',
                \'step\' => \'\',
            ),
        ),
        \'location\' => array (
            array (
                array (
                    \'param\' => \'post_type\',
                    \'operator\' => \'==\',
                    \'value\' => \'sammenligne\',
                    \'order_no\' => 0,
                    \'group_no\' => 0,
                ),
            ),
        ),
        \'options\' => array (
            \'position\' => \'acf_after_title\',
            \'layout\' => \'no_box\',
            \'hide_on_screen\' => array (
            ),
        ),
        \'menu_order\' => 0,
    ));
}

相关推荐