انجمن


دستکاری query وردپرس  (۳ نوشته)

  • Hassan1

    آفلاین
    عضو
    تعداد نوشته‌ها: ۱۴
    تشکر شده: ۱ بار
    # نوشته شده: ۱۵ سال پیش
    ۸ فروردین ۱۳۸۸ - ۰۱:۱۲

    سلام!
    وردپرس یه گلوبال به نام wp_query دارد که صفحات مختلف رو به تناسب از دیتابیس می خواند و ردیف می کند من می خوام مثلا این مشخصات رو بگیرم تغییر بدم و دوباره اعمال کنم مثلا تغییر تعداد پست ها ،حذف یک کاتگوری یا ترتیب پست ها و امثال آن...
    البته می دانم که این کار توسط query_posts قابل انجام است مثلا برای حذف کاتگوری در پلاگین فوتوبلاگ من به طور موقت از این کد استفاده کردم:
    query_posts(cat=-4)
    اما این دستور باعث حذف مشخصات دیگه صفحه می شود و صرفا در صفحه ابتدایی قابل اعمال است مثلا در آرشیو ماهانه وردپرس فقط همان مطالب صفحه اول را ردیف می کند. امیدوارم توانسته باشم منظورم رو منتقل کنم

    من چند پلاگین رو که برای حذف یک کاتگوری از صفحات وردپرس ساخته شده رو بررسی کردم متاسفانه بیشتر آنها کار نکردند یا به جای اعمال روی کیوری اصلی صفحه روی کیوری های دیگه (مثل آخرین مطالب) اعمال شدند.

    ممنون!

  • گناهکار

    آفلاین
    کلیددار
    تعداد نوشته‌ها: ۳۵۳۵
    تشکر شده: ۲۵۴۴ بار
    # نوشته شده: ۱۵ سال پیش
    ۸ فروردین ۱۳۸۸ - ۰۱:۲۹

    من که منظورتون رو متوجه نشدم. اما بهتره یه نگاهی هم به ()WP_Query بندازین که می‌تونین همون کار query_posts رو باهاش انجام بدین: http://codex.wordpress.org/The_Loop#Multiple_Loops_Example_1

    همچنین برای reset کردن‌ه query می‌تونین از تابع زیر استفاده کنین:
    wp_reset_query()

    اگه منظورتون رو با مثال توضیح بدین شاید بتونم بیشتر کمک کنم.

  • Hassan1

    آفلاین
    عضو
    تعداد نوشته‌ها: ۱۴
    تشکر شده: ۱ بار
    # نوشته شده: ۱۵ سال پیش
    ۹ فروردین ۱۳۸۸ - ۰۸:۳۳

    مشکل اینجوری حل شد:

    global $wp_query;
    if (!is_single())
    query_posts(
    	array_merge(
    		array('cat' => '-4'),
    		$wp_query->query
    	)
    );

درباره‌ی این موضوع



برچسب‌ها