وردپرس فارسی 272 ارسال شده در خرداد 94 گزارش بازنشر ارسال شده در خرداد 94 (ویرایش شده) با سلامبنده پست تایپی درست کردم برای بخش موزیک حالا میخوام 2تا چک باکس براش درست کنم ( مثلاً ایرانی و خارجی ) ، که وقتی موقع ارسال پست تیک ایرانی زده شد در یک قسمت جدا نشون بده وقتی هم خارجی زده شد در یک قسمت جدای دیگه !از کدهای زیر استفاده میکنم برای بخش نمایش پست :<?php$args=array('post_type'=>'song','posts_per_page'=>get_option('posts_per_page'),'orderby'=>'modified','order'=>'DESC');$loop=new WP_Query($args);if($loop->have_posts()):while($loop->have_posts()):$loop->the_post();$song_artist=get_post_meta(get_the_ID(),'song_artist',true);$song_name=get_post_meta(get_the_ID(),'song_name',true);$song_cover=get_post_meta(get_the_ID(),'song_cover',true);if($song_cover=='')$song_cover=get_bloginfo('template_url').'/images/not_available.jpg';$song_player=get_post_meta(get_the_ID(),'song_player',true);$song_special=get_post_meta(get_the_ID(),'song_special',true);?>باید چه کدی رو اضافه و کم کنم ، که اگر چک باکس مورد نظر تیک خورده بود موضوع رو نشون بده اگر تیک نخورده بود در قسمت مربوطه که میخوام نمایش بده نشان نده.با تشکر ویرایش شده خرداد 94 توسط slashflash نقل قول لینک به ارسال
Parsa 23463 ارسال شده در خرداد 94 گزارش بازنشر ارسال شده در خرداد 94 از تاکسونامی استفاده کنیدhttp://wp-parsi.com/article/wordpress-taxonomy/بعد کویری بگیریدhttp://codex.wordpress.org/Class_Reference/WP_Query#Taxonomy_Parameters 2 نقل قول لینک به ارسال
وردپرس فارسی 272 ارسال شده در خرداد 94 مالک گزارش بازنشر ارسال شده در خرداد 94 سلام مجددبنده تا اینجا پیش رفتم اما گیر کردم !اول از همه کدهای زیر رو به فانکشن اضافه کردم :add_action('admin_init','my_video_meta');add_action('save_post','add_video_fields',10,2);function my_video_meta(){add_meta_box('video_meta_box','Video Details','display_video_meta_box','video');}function display_video_meta_box($video) {$video_artist=get_post_meta($video->ID,'video_artist',true);$video_name=get_post_meta($video->ID,'video_name',true);$video_arrangement=get_post_meta($video->ID,'video_arrangement',true);$video_mixmastering=get_post_meta($video->ID,'video_mixmastering',true);$video_music=get_post_meta($video->ID,'video_music',true);$video_lyric=get_post_meta($video->ID,'video_lyric',true);$video_cover=get_post_meta($video->ID,'video_cover',true);$video_type=get_post_meta($video->ID,'video_type',true);$video_director=get_post_meta($video->ID,'video_director',true);?><div dir="ltr"><table><tr><td>Video Type: </td><td><select name="video_type"><option value="Persian"<?php selected($video_type,'Persian'); ?>>Persian</option><option value="Foreign"<?php selected($video_type,'Foreign'); ?>>Foreign</option></select></td></tr><tr><td>Cover URL: </td><td><input type="text" name="video_cover" value="<?php echo $video_cover; ?>" size="50"></td></tr><tr><td>Artist: </td><td><input type="text" name="video_artist" value="<?php echo $video_artist; ?>" size="50"></td></tr><tr><td>Video Name: </td><td><input type="text" name="video_name" value="<?php echo $video_name; ?>" size="50"></td></tr><tr><td>Arrangement: </td><td><input type="text" name="video_arrangement" value="<?php echo $video_arrangement; ?>" size="50"></td></tr><tr><td>Mix & Mastering: </td><td><input type="text" name="video_mixmastering" value="<?php echo $video_mixmastering; ?>" size="50"></td></tr><tr><td>Music: </td><td><input type="text" name="video_music" value="<?php echo $video_music; ?>" size="50"></td></tr><tr><td>Lyric: </td><td><input type="text" name="video_lyric" value="<?php echo $video_lyric; ?>" size="50"></td></tr><tr><td>Director: </td><td><input type="text" name="video_director" value="<?php echo $video_director; ?>" size="50"></td></tr><tr><td>Other: </td><td><input type="text" name="video_other" value="<?php echo $video_other; ?>" size="50"></td></tr><tr><td>Special / Recommend: </td><td><input type="checkbox" name="video_special" <?php if($video_special=="on"){echo"checked";} ?>><label>Special</label><input type="checkbox" name="video_recommend" <?php if($video_recommend=="on"){echo"checked";} ?>><label>Recommend</label></td></tr></table></div><?php}function add_video_fields($video_id,$video){if($video->post_type=='video'){if($_POST['video_type']!='')update_post_meta($video_id,'video_type',$_POST['video_type']);if($_POST['video_cover']!='')update_post_meta($video_id,'video_cover',$_POST['video_cover']);if($_POST['video_artist']!='')update_post_meta($video_id,'video_artist',$_POST['video_artist']);if($_POST['video_name']!='')update_post_meta($video_id,'video_name',$_POST['video_name']);if($_POST['video_arrangement']!='')update_post_meta($video_id,'video_arrangement',$_POST['video_arrangement']);if($_POST['video_mixmastering']!='')update_post_meta($video_id,'video_mixmastering',$_POST['video_mixmastering']);if($_POST['video_music']!='')update_post_meta($video_id,'video_music',$_POST['video_music']);if($_POST['video_lyric']!='')update_post_meta($video_id,'video_lyric',$_POST['video_lyric']);if($_POST['video_director']!='')update_post_meta($video_id,'video_director',$_POST['video_director']);if($_POST['video_other']!='')update_post_meta($video_id,'video_other',$_POST['video_other']);if($_POST['video_special']!='')update_post_meta($video_id,'video_special',$_POST['video_special']);if($_POST['video_recommend']!='')update_post_meta($video_id,'video_recommend',$_POST['video_recommend']);if($_POST['video_special']=='')delete_post_meta($video_id,'video_special',$_POST['video_special']);if($_POST['video_recommend']=='')delete_post_meta($video_id,'video_recommend',$_POST['video_recommend']);}}که اون فیلدی که مورد نیاز دارم video_type هستش حالا برای نمایش کل قسمت ویدیو هم از کد زیر استفاده میکنم :<?php$args=array('post_type'=>'video','posts_per_page'=>get_option('posts_per_page'),'orderby'=>'modified','order'=>'DESC');$loop=new WP_Query($args);if($loop->have_posts()):while($loop->have_posts()):$loop->the_post();$video_artist=get_post_meta(get_the_ID(),'video_artist',true);$video_name=get_post_meta(get_the_ID(),'video_name',true);$video_cover=get_post_meta(get_the_ID(),'video_cover',true);if($video_cover=='')$video_cover=get_bloginfo('template_url').'/images/not_available.jpg';$video_special=get_post_meta(get_the_ID(),'video_special',true);?>حالا اگر میشه کد بالا رو برام تغییر بدید که فقط video_type های Persian رو نمایش بده ، کد بالا الان کل Post_type ویدیو رو نشون میده هم Persian هم Foreign در صورتی که میخوام وقتی روی Persian بود یه بخش نمایش بدم پست هاش رو وقتی هم روی Foreign بود یه بخش دیگه.ممنون میشم مجدد منو راهنمایی کنید نقل قول لینک به ارسال
Parsa 23463 ارسال شده در خرداد 94 گزارش بازنشر ارسال شده در خرداد 94 http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters$args = array('meta_key' => 'video_type','meta_value' => 'Persian');$query = new WP_Query( $args ); 1 نقل قول لینک به ارسال
وردپرس فارسی 272 ارسال شده در خرداد 94 مالک گزارش بازنشر ارسال شده در خرداد 94 (ویرایش شده) خیلی ممنون از راهنماییتون ، آیا امکان این هستش که از چند meta_key داخل کوئری استفاده کرد ؟بصورت تکی خیلی خوب نشون داد ، بنده الان میخوام وقتی meta_value در 2 پست تایپ جداگانه وقتی انتخاب بشه ، داخل یک صفحه اینهارو کنار هم نشون بدم.یک صفحه جداگانه ساختم و از کد زیر استفاده کردم اما متاسفانه نشون نداد !$args = array('meta_key' => array( 'video_type', 'song_type' ),'meta_value' => 'Persian','post_type' => array( 'video', 'song' ));مجدد تشکر میکنم از کمکی که میکنید.------------Update-----------الان برای پست تایپ هایی که میخواستم یه فیلد اضافه درست کردم که meta_value هم نام باشه و مشکلم حل شد.فقط میخواستم بدونم این راه استاندارد هستش ؟ مشکلی نداره ؟ ویرایش شده خرداد 94 توسط slashflash نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .