页面管理中的自定义循环导致其他字段失败

时间:2012-11-08 作者:pete_schuster

我在页面管理部分创建了一个自定义循环,以管理该页面名为“widgets”的自定义帖子类型。

$ps_widget_list = get_post_meta( $post_id, \'ps_widget_list\', true ); //first get the list of current widgets

$active_widget_array = explode( \', \', $ps_widget_list ); //then separate those widgets into an array of active widgets

// this array is for the UI. It will build a list of all the widgets
// then based on the array of active widgets, will separate them into
// two different arrays to be used later
$widgets_array = array( 

    \'active\' => array(),
    \'inactive\' => array()

);

//get all the widgets
$args = array(

    \'post_type\' => \'ps_widgets\',
    \'posts_per_page\' => \'-1\'

);

$the_query = new WP_Query( $args );

while ( $the_query->have_posts() ) : $the_query->the_post(); // loop through the widgets

    $widget_id = get_the_ID();

    // if the widget\'s id is in the array of active widgets
    // mark it as active, if not mark as inactive and store to the array
    $key = ( in_array( $widget_id, $active_widget_array) ) ? \'active\' : \'inactive\';

    $widgets_array[ $key ][ $widget_id ] = array(

        \'id\' => $widget_id,
        \'title\' => get_the_title( $widget_id )

    );

endwhile;
wp_reset_postdata();
当我尝试在SEO插件中添加SEO标题、描述或关键字时,就会出现问题。我在Yoast和All-in-One上都试过了。禁用不同代码段后,我将问题缩小到这个循环。我也尝试了给变量命名,但没有成功。我想这是调用循环的问题,有什么建议吗?

2 个回复
SO网友:pete_schuster

将循环从using切换到WP\\u Query以获取\\u帖子。

SO网友:Dipesh KC

我还遇到side effects 使用时WP_Query 在里面wordpress admin.

我在自定义元数据库中使用了两个Wp\\u查询,效果很好,但后来发现了两个奇怪的问题:

帖子的slug是自动设置的,即使是新帖子也是如此,特色图像也是自动设置的,就像slug一样,新设置的特色图像没有保存wp_reset_query();然而,这并没有完全解决问题。不过,特色图片没有保存。什么是错误的?

然后我想出了这个解决方案。Use native PHP codeDon\'t mess with WP template tags ie,

$your_loop= new WP_Query($args);
而不是

 if( $your_loop->have_posts()){
     while ($your_loop->have_posts()) {

        //the_title();
        ...
        //WP loop template tags
     }
 }
使用以下内容:

 if( count($your_loop->posts) > 0) {
     foreach( $your_loop->posts as $item_post) {

        //$item_post->post_title
        // see other available using print_r($item_post)
        //
     }
 }

结束

相关推荐

用户从wp-admin中消失

我有一个WordPress多站点网络,这个问题与我在该网络上的一个站点有关。在您可以使用该网站之前,该网站有一个登录页面。因此,我从wp admin创建了一个具有订阅方角色的用户。其想法是让该用户登录到该网站,但无权访问wp admin,但这不起作用。因此,我再次以超级管理员的身份加入,并将角色更改为“本网站无角色”。它工作了,用户不能访问wp admin,但仍然可以登录到该站点。现在我想编辑该用户的信息,但该用户从wp admin中显示的列表中消失了。我的问题是:Where do I find that