Навигация по многосайтовому сайту, wpdb-> подготовить отсутствующий аргумент

Я использую WordPress Multi-site для размещения нескольких сайтов в одной установке WP

Я хотел бы иметь навигацию, показывающую каждый сайт со ссылкой на сайт.

Я использую эту функцию, чтобы сделать это

        <?php
        $bcount = get_blog_count();

          global $wpdb;
          $blogs = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->blogs WHERE spam = '0' AND deleted = '0' and archived = '0' and public='1'"));
          if(!empty($blogs)){
              ?>
                <ul class="nav navbar-nav">
                  <li class="portalHome"><a href="dashboard.html">
                  <i class="fa fa-home"></i>
                  <i class="fa fa-chevron-right pull-right chervonMobNav"></i></a></li>
              <?php
              foreach($blogs as $blog){
                  $details = get_blog_details($blog->blog_id);
                  if($details != false){
                      $addr = $details->siteurl;
                      $name = $details->blogname;
                      if(!(($blog->blog_id == 1)&&($show_main != 1))){
                          ?>
                          <li class="menu-item<?php if($counter == get_current_blog_id()){ echo ' current-menu-item';}?>">
                              <a href="<?php echo $addr; ?>"><?php echo $name;?> <i class="fa fa-chevron-right pull-right chervonMobNav"></i></a>
                          </li>
                          <?php
                      }
                  }
              }
              ?></ul><?php
          }
          ?>

Это работает, но я также получаю ошибку

        Warning: Missing argument 2 for wpdb::prepare()

Каким должен быть второй аргумент для wpdb::prepare()

1 ответ

Решение

$wpdb->prepare работает в php как sprintf

Пример из php.net

$ num = 5; $ location = 'tree';

$ format = 'В% s' есть% d обезьян;

echo sprintf ($ format, $ num, $ location);

В вашем запросе нет строки форматирования, поэтому вы можете выполнить запрос следующим образом:

$ blogs = $ wpdb-> get_results ("SELECT * FROM $ wpdb-> blogs WHERE spam = '0' AND удалено = '0' и заархивировано = '0' и public='1'");

Другие вопросы по тегам