رفتن به مطلب

وارد کردن آرایه برای چک کردن برابر بودن عنوان مطالب


پست های پیشنهاد شده

سلام

من با کد زیر ، میام مطلبی رو میگیرم که اگه عنوانش برابر با مقدار وارد شده بود ، اونو نمایش بده ..

                  <?php
                    $first_char = 'wellcome to post';
                    $postids=$wpdb->get_col($wpdb->prepare("
                    SELECT ID
                    FROM $wpdb->posts
                    WHERE $wpdb->posts.post_title = %s
                    ORDER BY $wpdb->posts.post_title",$first_char));

                    if ($postids) {
                    $args=array(
                      'post__in' => $postids,
                      'post_type' => 'post',
                      'post_status' => 'publish',
                      'showposts' => 10,
                    );
                    $my_query = null;
                    $my_query = new WP_Query($args);
                    if( $my_query->have_posts() ) {
                    while ($my_query->have_posts()) : $my_query->the_post();
                  ?>

                      <?php the_title(); ?><br/>
                     
                  <?php
                    endwhile; } else {
                      echo '<div id="nocontentpost">NO CONTENT</div>';
                    } wp_reset_query(); }
                  ?>

یعنی کلا مطالبی که عنوانش برابر با wellcome to post باشه ، اونو میگره ونمایش میده .

 

ولی تا حدی میخوام تغییرش بدم به این صورت :

که یک پست متا به صورت آرایه هست : 

_my_metaesopp[]

حالا میخوام توی حلقه بالا به این صورت بشه که به جای wellcome to post آرایه خودم رو قرار بدم :

array('numberone','hello world');

و تک تک چک بشن که هر مقدار آرایه پست متا ، با آرایه ورودی که دادم برابر بود ، اون مطلب رو نشون بده .

لینک به ارسال

کد  به این تغییر پیدا کرد :

                  <?php
                    $first_char = array('one','two','three');
                    $postids=$wpdb->get_col($wpdb->prepare("
                    SELECT post_id
                    FROM $wpdb->postmeta
                    WHERE meta_key = '_my_metaesopp' AND meta_value = %s
                    ORDER BY $wpdb->postmeta.meta_value",$first_char));

                    if ($postids) {
                    $args=array(
                      'post__in' => $postids,
                      'post_type' => 'mp3music',
                      'post_status' => 'publish',
                      'showposts' => 50,
                    );
                    $my_query = null;
                    $my_query = new WP_Query($args);
                    if( $my_query->have_posts() ) {
                    while ($my_query->have_posts()) : $my_query->the_post();
                  ?>

                      <?php the_title(); ?><br/>
                     
                  <?php
                    endwhile; } else {
                      echo '<div id="nocontentpost">NO CONTENT</div>';
                    } wp_reset_query(); }
                  ?>

الان تنها مشکل این شد که اگه متغیر first_char و متا کی _my_metaesopp تک متغییر باشه ، نتیجه درسته ...

ولی متغیر first_char و متا کی _my_metaesopp هر دو آرایه هستن ، ولی نتیجه نمیده ..

ویرایش شده توسط alitna
لینک به ارسال

سلام

مشکل با کد زیر حل شد :

                              <?php
                                    $first_char = array('one','two','three');
                                    $sql = array();
                                    foreach($first_char as $word){
                                          $sql[] = 'meta_value LIKE "%'.$word.'%" ';
                                    }
                                    $where = implode(" OR ", $sql);
                                    $postids = $wpdb->get_results(" SELECT post_id FROM $wpdb->postmeta WHERE meta_key = 'mypostmeta' AND ".$where );
                                    foreach ( $postids as $page ){
                                          $b[] = $page->post_id;
                                    }

                                    if ($b) {
                                          $args=array(
                                                'post__in' => $b,
                                                'post_type' => 'post',
                                                'post_status' => 'publish',
                                                'showposts' => 10,
                                          );
                                          $my_query = null;
                                          $my_query = new WP_Query($args);
                                          if( $my_query->have_posts() ) {
                                                while ($my_query->have_posts()) : $my_query->the_post();
                              ?>

                                    <?php the_title(); ?><br/>

                              <?php
                                    endwhile; } else {
                                    echo '<div id="nocontentpost">NO CONTENT</div>';
                                    } wp_reset_query(); }
                              ?>

که تک تک آرایه رو میگیره و داخل کوئری برای جستجو در دیتابیس اونو وارد میکنه .

و در نتیجه آیدی دریافت شده و داخل کوئری مطلب قرار داده میشه

ویرایش شده توسط alitna
لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...