有人能解释一下这个句子在做什么,为什么会出现语法错误吗?
$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;