Wordpress根据帖子类型显示帖子不起作用

时间:2017-08-31 13:23:42

标签: php wordpress shortcode

我正在我的网站上工作并坚持不懈。出于某种原因,我无法从特定的自定义帖子类型中获取帖子,只能使用标准帖子类型。

即使我将post_type设置为特定的帖子类型。 我做错了什么?

我认为这足以显示帖子。

我使用的短代码基于帖子ID:

[bookmaker p=20]
[bookmaker p=54]
[bookmaker p=38]
[bookmaker p=50]

我的功能:

add_shortcode('bookmaker', 'bookmaker_shortcode_query');

function bookmaker_shortcode_query($atts, $content){
  extract(shortcode_atts(array( // a few default values
   'posts_per_page' => '1',
   'post_type' => 'Bookmakers',
   'caller_get_posts' => 1)
   , $atts));



  global $post;

  $posts = new WP_Query($atts);
  $output = '';
    if ($posts->have_posts())
        while ($posts->have_posts()):
            $posts->the_post();
            $out = '        <div class="bookmaker">
        <div class="bookmakerinner">



            <div class="afbeeldingbm">
            <div class="afbeeldingbminner">
                <a target="_blank" href="'.get_post_meta($post->ID, 'claimlink', true).'">
                '.get_the_post_thumbnail().'
                </a>
            </div>
            </div>

            <div class="rightbm">

            <h4>'.get_the_title() .'</h4>

            <div class="stars">
                <p><img src="https://bonusbookmakers.nl/wp-content/themes/Parbosnack/stars/'.get_post_meta($post->ID, 'stars', true).'.png"></p>
            </div>

            <div class="voorwaarden">
                <strong class="bolder">Voorwaarden:</strong> '.get_the_content().'
            </div>

            <div class="maxeur">
                <p><strong class="bolder">Max:</strong> &euro;'.get_post_meta($post->ID, 'maxeur', true).'</p>
            </div>

            <div class="maxbonus">
                <p><strong class="bolder">Bonus:</strong> '.get_post_meta($post->ID, 'maxbonus', true).'%</p>
            </div>

            <div class="odds">
                <p><strong class="bolder">Odds:</strong> '.get_post_meta($post->ID, 'odds', true).'</p>
            </div>

            <div class="lang">
                <p><strong class="bolder">Taal:</strong> '.get_post_meta($post->ID, 'taal', true).'</p>
            </div>

            <div class="priceclaimrow"> 

            <div class="betaalmethodes">
                <p>'.get_post_meta($post->ID, 'betaalmethodes', true).'</p>
            </div>

            <div class="visitwebsite">
                <p><a target="_blank" class="knpbezoeksite" href="'.get_post_meta($post->ID, 'claimlink', true).'">Bonus claimen</a></p>
            </div>

            </div>

            </div>

        </div>

                ';
            $out .='</div>';
    endwhile;
  else
    return; // no posts found

  wp_reset_query();
  return html_entity_decode($out);
}

2 个答案:

答案 0 :(得分:0)

我已经更正了你的代码,现在检查它的工作情况,

memberof

答案 1 :(得分:0)

Custom post type cannot have capital letters

$post_type

max. 20 characters, cannot contain capital letters or spaces

https://codex.wordpress.org/Function_Reference/register_post_type