alitna

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

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

سلام

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

                  <?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');

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

0

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


لینک به پست

ارسال شده در (ویرایش شده)

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

                  <?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
0

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


لینک به پست

ارسال شده در (ویرایش شده)

سلام

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

                              <?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
0

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط DariushGreat
      سلام
      من یک فیلد آپلود برای کاربر درست کردم که می‌تونه چندین تصویر رو آپلود کنه. با کد زیر اون رو فراخونی می‌کنم ولی تنها نخستین عکس بارگزاری شده رو نشون می‌ده:
      get_the_author_meta('management_certi', $curauth->ID); می‌خوام به طور آرایه‌ای همه عکسای این فیلد کاربری رو فراخوان بدم. چی‌کار باید بکنم؟
      ممنون برای کمک
    • توسط ژیهات
      سلام خسته نباشید
      3 تا آرایه اگر داشته باشیم به این صورت :


      <?php
      $links = rwmb_meta( 'iestore_dl_link', 'type=text' );
      $names = rwmb_meta( 'iestore_dl_name', 'type=text' );
      $sizes = rwmb_meta( 'iestore_dl_size', 'type=text' );
      foreach ( ??? ) {
      echo "<a href=".$link.">".$name." | ".$size."</a><br>";
      }
      ?>

      حلقه foreach باید به چه صورت نوشته بشه ؟؟؟
      خیلی گیرم لطفا راهنمایی کنید