انجمن


مشکل با WP_Query  (۶ نوشته)

  • aminkh17

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

    دستور

    $the_query = new WP_Query("category_name='" . $featuredcat . "'&showposts=5&orderby=post_date&order=desc");

    که در آن featuredcat دارای مقدار "من" می باشد اصولا باید محتوای پستهای مرتبط با موضوع "من" را برگرداند ولی در عمل پست های موضوع دیگر (در اینجا "Download" ) را بر می گرداند این تا دیروز درست کار میکرد از امروز به این صورت کار می کند من متوجه دلیلش نمی شوم فقط این را بگویم از وقتی که چند Category جدید به سیستم اضافه کردم اینطوری شد.

  • 2lesag

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

    سلام
    به جای نام موضوع ID موضوع رو بده ببین درست میشه
    مثلا به جای کد :
    $the_query = new WP_Query("category_name='" . $featuredcat . "'&showposts=5&orderby=post_date&order=desc");

    این کد رو بزار

    <?php $recent = new WP_Query("cat=1&showposts=10"); while($recent->have_posts())

    که cat=1 , شماره ID موضوعاته
    برای پیدا کردن ID موضوعات به قسمت دسته ها برو شمارشون رو پیدا کن

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Morteza
  • aminkh17

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

    دست شما درد کنه حل می شه اینطوری فقط من چه جوری تو کد ID مربوط به کت را از رو نامش پیدا کنم؟ (یعنی اسمشو دارم)

  • 2lesag

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

    سلام
    ببین به مدیریت دسته ها برو و روی لینک هر دسته رو ببین
    مثلا :
    http://localhost/wp-admin/categories.php?action=edit&cat_ID=59
    که 59 آی دی دسته هاست و اسم دسته ها هم معلومه دیگه

  • گناهکار

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

    توی نگارش‌های ۲/۵ به‌بعده وردپرس٬ شماره‌ی شناسه‌ی دسته‌ها٬ نوشته‌ها و غیره نمایش داده نمی‌شه٬ در صورتی‌که توی نگارش‌های قبلی نشون داده می‌شد٬ برای برگردوندن‌ه شماره شناسه‌ها تو نگارش‌های بعد از ۲/۵ می‌تونین از این افزونه استفاده کنین: http://wordpress.org/extend/plugins/reveal-ids-for-wp-admin-25/

  • smk

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

    با سلام؛

    من یک مشکلی در زمینه استفاده از کلاس WP_Query برام پیش اومده. چند جا از این تابع استفاده کردم؛ مثلا برای نمایش تعدادی پست به صورت تصادفی و یا نمایش پست های یک دسته و از این قبیل کارها.

    به عنوان مثال یکی از کدهایی که نوشتم اینه:

    <ul>
        <?php $myquery=new WP_Query(array('category_name'=>'sample-cat-name','orderby'=>'rand','posts_per_page'=>'5'));
            while ($myquery->have_posts()): $myquery->the_post(); ?>
                <li>
                    <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>
                </li>
            <?php endwhile;
        wp_reset_postdata(); ?>
    </ul>

    جالب است که در صفحه اصلی سایت، در فهرست بندی مطالب یک دسته یا مطالب مربوط به یک برچسب، و نمایش صفحات، این بخش از کد به درستی کار می کند.

    در قالبی که من استفاده می کنم، صفحات نیز از قالب نمایش نوشته های تکی استفاده می کنند.

    برای برخی از پست ها این کد هیچ پاسخی بر نمی گرداند. برای برخی از پست ها این کد دارای خروجی است. اما غالبا خروجی ها مربوط به پست هایی هستند که کهنه تر از پست در حال نمایش نیستند.

    برای کد مربوط به نمایش پست های تصادفی نیز تقریبا به همین شکل است.

    به نظر می رسد که کلاس WP_Query تحت تاثیر کوئری سابق و اصلی وردپرس قرار می گیرد و نتایج بی ربطی تولید می کند.

    توضیح اضافی (این پاراگراف پس از ویرایش اضافه شده است)
    این مشکل فقط زمانی پیش می آید که در ساختار پیوند یکتا از شماره سال، ماه و یا روز استفاده شود!!!
    قبلا ساختار پیوند یکتا به این صورت بود:

    /%year%/%monthnum%/%postname%/

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

    /%post_id%/%postname%/
    /%post_id%/
    /%postname%/

    ظاهرا این یک باگ در وردپرس است.
    یعنی هر وقت در ساختار پیوند یکتا از مشخصات تقویمی استفاده شود، کلاس WP_Query به درستی کار نمی کند!

    لطفا در صورت امکان اگر از دوستان کسی قبلا به این مشکل برخورده و یا راه حل مشکل را می داند، مرا راهنمایی کند.

    با تشکر

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



برچسب‌ها