amirnano

نمایش آخرین مطالب وبلاگ ها همراه با تصویر شاخص بدون افزونه

6 پست در این موضوع قرار دارد

سلام

من افزونه Network Latest Posts رو نصب کردم و مدتی باهاش کار کردم اما ایراداتی داره که نمی تونم با قالب هماهنگش کنم.

آیا کدی هست که من بتونم آخرین مطالب وبلاگ ها رو با تصویر شاخص از وبلاگ ها بگیرم و در سایت اصلی نمایش بدم؟

0

به اشتراک گذاری این پست


لینک به پست

تست نشده

<?php

/**

* List recent posts across a Multisite network

*

* @uses get_blog_list(), get_blog_permalink()

*

* @param int $size The number of results to retrieve

* @param int $expires Seconds until the transient cache expires

* @return object Contains the blog_id, post_id, post_date and post_title

*/

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 .= get_the_post_thumbnail($post->ID);

}

$html .= '';

return $html;

}

منبع:

http://www.smashingmagazine.com/2011/11/17/wordpress-multisite-practical-functions-methods/

2

به اشتراک گذاری این پست


لینک به پست

ابن کد رو باید به functions.php اضافه کنم؟

اضافه کردم خطا داد

0

به اشتراک گذاری این پست


لینک به پست

چه خطایی داد؟ متنش رو بزارید اینجا

0

به اشتراک گذاری این پست


لینک به پست

Fatal error: Call to undefined function wp_recent_across_network() in/home/*****/domains/*****/public_html/wp-content/themes/*****/functions.php(34) : eval()'d code on line 3

0

به اشتراک گذاری این پست


لینک به پست

فریلنسر برای آماده سازی افزونه اینجا کسی هست؟

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط M a H D i
      باسلام
       
       ما از وردپرس شبکه استفاده کردیم و خواستیم ssl هم نصب کنیم که هاستینگ برای ما این کار را انجام داد (ssl رایگان) ولی از آنجایی که ساب دامنه هایی که با استفاده از وردپرس شبکه ایجاد می شوند در هاست نمایش داده نمی شوند هاستینگ ما گفته است باید از ssl wild card استفاده شود و هزینه آن با توجه به نرخ روز ارز 4 میلیون تومان برای هر سال می باشد!!!
       
      دوستانی که وردپرس شبکه نصب کرده اند آیا ssl برای سایت خودشون اضافه کرده اند؟  لطفا راهنمایی کنید.
       
      باتشکر
    • توسط M a H D i
      با درود
       
      من یک وردپرس شبکه راه اندازی کرده ام (مثلا حدود 10 سایت) حالا میخواهم وقتی کاربری در سایت اصلی (صفحه اصلی سایت مثل: exam.ir) یا در ساب دامنه های دیگر نام نویسی کرد در بقیه ساب دامنه ها هم با همان نام کاربری بتواند لاگین کند و نیازی به ثبت نام مجدد نداشته باشد.
      آیا امکان پذیر می باشد؟
       
      باتشکر
    • توسط محمد بهنام نیا
      سلام اول یکم چیزای بی اهمیت بگم!
      وردپرس شبکه خیلی خیلی داخل ایران ضعیف ارائه و پشتیبانی میشه
      یه سورس خوب برای آموزش کامل پیدا نکردم، یه جا نبود افزونه های مربوط رو درست حسابی گذاشته باشه، افزونه های پرمیوم که دیگه هیچی!
      داخل وردپرس پارسی که دیگه اکثر سوالات کاربران برای این سیستم بی نتیجه مونده بود(ظاهرا وردپرس پارسی داره میره به سمتی که نباید بره!)
      خب برم سراغ سوال
      استفاده از وردپرس شبکه برای اینکه یوزر وقتی یه بار داخل یکی از سایت ها عضو میشه بتونه با یه بار عضو شدن از امکانات مخصوص اعضا برای سایت های مختلفی که شبکه شدن استفاده کنه، کاربرد داره؟
      مثلا داخل یکی از سایت ها عضو بشه و اکانت وی آی پی بگیره، و بتونه با این اکانت از امکانات ویژه سایت های دیگه هم استفاده کنه
      بعد اینکه میخوام از افزونه یوزر پرو استفاده کنم برای سایت. میشه که برای استفاده از دو تا سایت که شبکه شدن، یوزر یه بار لاگین کنه و تمامی اطلاعات براش نمایش داده بشه درون دوتا سایت؟
      سایت اصلی قسمت فروش آموزش داره و سایت فرعی فروش محصول فیزیکی هست، یوزر پرو بعنوان پروفایل هست که میخوام تمامی خرید های کاربر چه دانلودی و چه فیزیکی داخل دوتا سایت داخل پروفایلش نمایش داده بشه
      دوستان لطف بفرمایید راهنمایی کنید که با شبکه کردن امکان این کار وجود داره یا اگه نداره باید چیکار کنم؟!
      ممنونم
    • توسط runy
      سلام
      می خوام وردذپرسم را چند سایته یا همون شبکه کنم ولی به مشکل بر خوردم
      من سایتم روی سرور مجازیه و براش دایرکت ادمین خریدم . ولی نمی تونم Wildcard  فعال کنم نمیدئونم شایدم فعال کردم ولی هرچی هست وردپرس نمیتونه زیر دامکنه بسازه .
      چ کنم ؟؟
    • توسط f.hojjati
      با عرض سلام و ادب
      من با ومپ وردپرس رو نصب کردم بصورت لوکال میخواستم کار کنم اما هر کاری میکنم قسمت تنظیمات شبکه در زیر بخش ابزارها بوجود نمی آید.
       و وقتی سایت جدید ایجاد میکنم و می خواهم وارد قسمت پیشخوان آن شوم ارور برگه پیدا نشد یا  page not found
      می دهد.
      قبلا از راهنماییهاتون ممنونم