函数中的functions.php语法错误,该函数返回带有HTML内容的var


Syntax error in functions.php in a function that returns a var with HTML content

有人能解释一下这个句子在做什么,为什么会出现语法错误吗?

$html .= 'blog_id, $post->ID ) . '">' . $post->post_title . '';

这句话是下一个函数的一部分(在foreach带扣的末尾):

function wp_recent_across_network( $size = 10, $expires = 7200 ) {
   if( !is_multisite() ) return false;
   // Cache the results with the WordPress Transients API
   // Get any existing copy of our transient data
   if ( ( $recent_across_network = get_site_transient( 'recent_across_network' ) ) === false ) {
      // No transient found, regenerate the data and save a new transient
      // Prepare the SQL query with $wpdb
      global $wpdb;
      $base_prefix = $wpdb->get_blog_prefix(0);
      $base_prefix = str_replace( '1_', '' , $base_prefix );
      // Because the get_blog_list() function is currently flagged as deprecated 
      // due to the potential for high consumption of resources, we'll use
      // $wpdb to roll out our own SQL query instead. Because the query can be
      // memory-intensive, we'll store the results using the Transients API
      if ( false === ( $site_list = get_site_transient( 'multisite_site_list' ) ) ) {
         global $wpdb;
         $site_list = $wpdb->get_results( $wpdb->prepare('SELECT * FROM wp_blogs ORDER BY blog_id') );
         set_site_transient( 'multisite_site_list', $site_list, $expires );
      }
      $limit = absint($size);
      // Merge the wp_posts results from all Multisite websites into a single result with MySQL "UNION"
      foreach ( $site_list as $site ) {
         if( $site == $site_list[0] ) {
            $posts_table = $base_prefix . "posts";
         } else {
            $posts_table = $base_prefix . $site->blog_id . "_posts";
         }
         $posts_table = esc_sql( $posts_table );
         $blogs_table = esc_sql( $base_prefix . 'blogs' );
         $query .= "(SELECT $posts_table.ID, $posts_table.post_title, $posts_table.post_date, $blogs_table.blog_id FROM $posts_table, $blogs_tablen";
         $query .= "tWHERE $posts_table.post_type = 'post'n";
         $query .= "tAND $posts_table.post_status = 'publish'n";
         $query .= "tAND $blogs_table.blog_id = {$site->blog_id})n";
         if( $site !== end($site_list) ) 
            $query .= "UNIONn";
         else
            $query .= "ORDER BY post_date DESC LIMIT 0, $limit";
      }
      // Sanitize and run the query
      $query = $wpdb->prepare($query);
      $recent_across_network = $wpdb->get_results( $query );
      // Set the Transients cache to expire every two hours
      set_site_transient( 'recent_across_network', $recent_across_network, 60*60*2 );
   }
   // Format the HTML output
   $html = '';
   foreach ( $recent_across_network as $post ) {
      $html .= 'blog_id, $post->ID ) . '">' . $post->post_title . '';
   }
   $html .= '';
   return $html;
}

因为您没有正确连接它。试用:

<?php
// Format the HTML output
$html = '';
foreach ( $recent_across_network as $post ) {
    $html .= "blog_id, $post->ID ) . '>'" . $post->post_title;
}
return $html;