如何显示来自数据库的随机馈送并在我的网站中显示内容

时间:2015-09-20 作者:Zamalek Man

我尝试从其他网站获取3个以上的提要,并将其显示在我的网站上,如:

function fw_shortcode( $atts ) {

    global $wpdb, $feedtable;
    $result=mysql_query("SELECT * FROM " . $feedtable . " ORDER BY RAND() LIMIT 3");

    while( $row=mysql_fetch_array($result) ) {  
        $rss = fetch_feed($row["weburl"]);
        if (!is_wp_error( $rss ) ) : 

            $maxitems = $rss->get_item_quantity(1);
            $rss_items = $rss->get_items(0, $maxitems);

            foreach ( $rss_items as $item ) :

                $code .= \'  <article class="col-md-4 col-sm-6 col-xs-12" itemscope="" itemtype="http://schema.org/BlogPosting">
                                <div class="vendoritem">\';
                $code .= \'          <a href="\' . esc_url( $item->get_permalink() ) . \'"  target=\' . "_blank".\'>\';
                $code .= \'              <img width="300" height="225" src="\' . get_first_image_url($item->get_description()) . \'" class="img-responsive relat wp-post-image" style="background-color:#3498db;">\';
                $code .= \'          </a>
                                    <div class="vendoritem__details">
                                        <a href="\' . esc_url( $item->get_permalink() ) . \'" class="vendoritem__title" target=\' . "_blank" . \'>\' . esc_html( $item->get_title() ) . \'</a>
                                    </div>
                                </div>
                            </article>\';

            endforeach;

        endif;
        /* End Loop */
    }

    $code .= \'</div>\';

    return $code;

    wp_reset_query();

}
我的问题是我只需要从表中随机选择3个feed。但是some time 给我看2个feed,为什么!!,如果任何feed都不起作用,如何从DB获取其他feed

1 个回复
SO网友:birgire

很难回答这个问题,但这里有一些建议:

确保您的订阅源valid, e、 g。here.is_wp_error( $rss ) 如果设置为true,则可以使用检查相应的错误消息$rss->get_error_message().WP_DEBUG 已激活mysql_query(), 它是deprecated 从PHP 5.5开始$wpdb object 从自定义表中提取数据

  • Escape/prepare 您的SQL如果使用任何用户输入,则可以避免SQL注入
  • Indent 您的代码使其更具可读性wp_reset_query() line,在return.
  • 然后用更多信息相应地更新您的问题。谢谢

    相关推荐

    无法在模板函数.php中使用IS_HOME

    我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请