سئو فاکس 27 ارسال شده در شهریور 93 گزارش بازنشر ارسال شده در شهریور 93 با سلام بنده یک متاباکس ایجاد کردم :<?php/*Plugin Name: Meta Box ExamplePlugin URI: http://wp.tutsplus.com/Description: Adds an example meta box to wordpress.Version: NoneAuthor: Christopher DavisAuthor URI: http://wp.tutsplus.com/License: Public Domain*/add_action( 'add_meta_boxes', 'cd_meta_box_add' );function cd_meta_box_add(){add_meta_box( 'my-meta-box-id', 'My First Meta Box', 'cd_meta_box_cb', 'post', 'normal', 'high' );}function cd_meta_box_cb( $post ){$values = get_post_custom( $post->ID );$text = isset( $values['my_meta_box_text'] ) ? esc_attr( $values['my_meta_box_text'][0] ) : '';$selected = isset( $values['my_meta_box_select'] ) ? esc_attr( $values['my_meta_box_select'][0] ) : '';$check = isset( $values['my_meta_box_check'] ) ? esc_attr( $values['my_meta_box_check'][0] ) : '';wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' );?><p> <label for="my_meta_box_text">Film Name :</label> <input type="text" name="my_meta_box_text" id="my_meta_box_text" value="<?php echo $text; ?>" /></p><p> <label for="my_meta_box_select">Quality</label> <select name="my_meta_box_select" id="my_meta_box_select"> <option value="red" <?php selected( $selected, 'red' ); ?>>720p</option> <option value="blue" <?php selected( $selected, 'blue' ); ?>>1080p</option> </select></p><p> <input type="checkbox" name="my_meta_box_check" id="my_meta_box_check" <?php checked( $check, 'on' ); ?> /> <label for="my_meta_box_check">Don't Check This.</label></p><?php}add_action( 'save_post', 'cd_meta_box_save' );function cd_meta_box_save( $post_id ){// Bail if we're doing an auto saveif( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;// if our nonce isn't there, or we can't verify it, bailif( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce' ) ) return;// if our current user can't edit this post, bailif( !current_user_can( 'edit_post' ) ) return;// now we can actually save the data$allowed = array( 'a' => array( // on allow a tags 'href' => array() // and those anchords can only have href attribute ));// Probably a good idea to make sure your data is setif( isset( $_POST['my_meta_box_text'] ) ) update_post_meta( $post_id, 'my_meta_box_text', wp_kses( $_POST['my_meta_box_text'], $allowed ) );if( isset( $_POST['my_meta_box_select'] ) ) update_post_meta( $post_id, 'my_meta_box_select', esc_attr( $_POST['my_meta_box_select'] ) );// This is purely my personal preference for saving checkboxes$chk = ( isset( $_POST['my_meta_box_check'] ) && $_POST['my_meta_box_check'] ) ? 'on' : 'off';update_post_meta( $post_id, 'my_meta_box_check', $chk );}?><?phpحالا چجوری باید my_meta_box_text رو در فایل single قرار بدم که مثلا هنگام پست مطالب , ارسال کننده نام فیلم رو داخل متاباکسFilmname تایپ کنه !مثال : من تصویر شاخص رو اینجوری قرار دادم :<div class="post-image"><?php if ( has_post_thumbnail()) the_post_thumbnail('home-thumb'); ?></div>و اسم فیلم رو اینحوری :<p> FilmName : Spiderman </p>حالا میخوام جای متنی که داخل my_meta_box_textدر متاباکس مینویسم به جای spiderman اکو بشه ! چی کار کنم ؟ نقل قول لینک به ارسال
Ghasem Paran 333 ارسال شده در شهریور 93 گزارش بازنشر ارسال شده در شهریور 93 http://www.wproots.com/complex-meta-boxes-in-wordpress/ 1 نقل قول لینک به ارسال
سئو فاکس 27 ارسال شده در شهریور 93 مالک گزارش بازنشر ارسال شده در شهریور 93 http://www.wproots.com/complex-meta-boxes-in-wordpress/تشکر ولی زبانم خوب نیست ! بعنی یک آموزش ساخت متاباکس برای جعبه دانلود نیست ؟ نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در شهریور 93 گزارش بازنشر ارسال شده در شهریور 93 <?phpif(get_post_meta($post->ID, 'my_meta_box_select')) { echo get_post_meta($post->ID, 'my_meta_box_select', true);}?> 5 نقل قول لینک به ارسال
سئو فاکس 27 ارسال شده در شهریور 93 مالک گزارش بازنشر ارسال شده در شهریور 93 (ویرایش شده) <?phpif(get_post_meta($post->ID, 'my_meta_box_select')) {echo get_post_meta($post->ID, 'my_meta_box_select', true);}?>بسیار ممنون اما یه مشکلی هست ! مشکل اینجاست که این تابع فقط قسمت های select رو فراخوانی میکنه و قسمت های input رو فراخوانی نمیکنه .اول فکر کردم اگر Ture رو از آخرش بردارم درست میشه , اما اون موقع فقط اکو میکنه Array ! ممنون میشم راهنمایی کنید به طرز عجیبی حل شد ! ویرایش شده شهریور 93 توسط محمد رضایی نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در شهریور 93 گزارش بازنشر ارسال شده در شهریور 93 echo get_post_meta( $post->ID, 'my_meta_box_text', true ); 2 نقل قول لینک به ارسال
سئو فاکس 27 ارسال شده در شهریور 93 مالک گزارش بازنشر ارسال شده در شهریور 93 بسیار ممنون , تمامی مشکلات حل شد فقط یک مشکل مونده ! مشکل اینجاست که تمامی value ها : <input type="text" name="_stars" id="_stars" value="<?php echo $text; ?>"4/>به value آخرین کد معرفی تغییر میکنه ! یکم واضح تر بگم این کد رو ببینید :$values = get_post_custom( $post->ID );$selected = isset( $values['_rating'] ) ? esc_attr( $values['_rating'][0] ) : '';$selected = isset( $values['_quality'] ) ? esc_attr( $values['_quality'][0] ) : '';$selected = isset( $values['_country'] ) ? esc_attr( $values['_country'][0] ) : '';$text = isset( $values['_director'] ) ? esc_attr( $values['_director'][0] ) : '';$text = isset( $values['_time'] ) ? esc_attr( $values['_time'][0] ) : '';$text = isset( $values['_genre'] ) ? esc_attr( $values['_genre'][0] ) : '';$text = isset( $values['_volume'] ) ? esc_attr( $values['_volume'][0] ) : '';$text = isset( $values['_stars'] ) ? esc_attr( $values['_stars'][0] ) : '';یعنی همه value ها به _stars که آخرین فیلد هست تغییر میکنه ! مثلا اگر جاشونو عوض کنم و جای آخرین کد که _stars هست _director بزارم همه ی value ها به اون تغییر میکنن ! ممنون میشم راهنمایی کنیداینم سورس کل functions.php :<?php add_theme_support( 'post-thumbnails' ); ?><?php/*Plugin Name: Movie Detail Meta BoxPlugin URI: http://wp.tutsplus.com/Description: Movie Detail Meta BoxVersion: 1.1Author: Christopher DavisAuthor URI: http://wp.tutsplus.com/License: Public Domain*/add_action( 'add_meta_boxes', 'cd_meta_box_add' );function cd_meta_box_add(){add_meta_box( 'post-detail', 'Post Detail', 'cd_meta_box_cb', 'post', 'normal', 'high' );}function cd_meta_box_cb( $post ){$values = get_post_custom( $post->ID );$selected = isset( $values['_rating'] ) ? esc_attr( $values['_rating'][0] ) : '';$selected = isset( $values['_quality'] ) ? esc_attr( $values['_quality'][0] ) : '';$selected = isset( $values['_country'] ) ? esc_attr( $values['_country'][0] ) : '';$text = isset( $values['_director'] ) ? esc_attr( $values['_director'][0] ) : '';$text = isset( $values['_time'] ) ? esc_attr( $values['_time'][0] ) : '';$text = isset( $values['_genre'] ) ? esc_attr( $values['_genre'][0] ) : '';$text = isset( $values['_volume'] ) ? esc_attr( $values['_volume'][0] ) : '';$text = isset( $values['_stars'] ) ? esc_attr( $values['_stars'][0] ) : '';wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' );?><style>#post-detail input{width:90%;float:right;}#post-detail select{width:90%;float:right;}#post-detail{padding:0 0 100px;}</style><label for="_rating">Rating</label> <select name="_rating" id="_rating"> <option value="10" <?php selected( $selected, '10' ); ?>>10</option> <option value="9.9" <?php selected( $selected, '9.9' ); ?>>9.9</option> <option value="9.8" <?php selected( $selected, '9.8' ); ?>>9.8</option> <option value="9.7" <?php selected( $selected, '9.7' ); ?>>9.7</option> <option value="9.6" <?php selected( $selected, '9.6' ); ?>>9.6</option> <option value="9.5" <?php selected( $selected, '9.5' ); ?>>9.5</option> <option value="9.4" <?php selected( $selected, '9.4' ); ?>>9.4</option> <option value="9.3" <?php selected( $selected, '9.3' ); ?>>9.3</option> <option value="9.2" <?php selected( $selected, '9.2' ); ?>>9.2</option> <option value="9.1" <?php selected( $selected, '9.1' ); ?>>9.1</option> <option value="9" <?php selected( $selected, '9' ); ?>>9</option> <option value="8.9" <?php selected( $selected, '8.9' ); ?>>8.9</option> <option value="8.8" <?php selected( $selected, '8.8' ); ?>>8.8</option> <option value="8.7" <?php selected( $selected, '8.7' ); ?>>8.7</option> <option value="8.6" <?php selected( $selected, '8.6' ); ?>>8.6</option> <option value="8.5" <?php selected( $selected, '8.5' ); ?>>8.5</option> <option value="8.4" <?php selected( $selected, '8.4' ); ?>>8.4</option> <option value="8.3" <?php selected( $selected, '8.3' ); ?>>8.3</option> <option value="8.2" <?php selected( $selected, '8.2' ); ?>>8.2</option> <option value="8.1" <?php selected( $selected, '8.1' ); ?>>8.1</option> <option value="8" <?php selected( $selected, '8' ); ?>>8</option> <option value="7.9" <?php selected( $selected, '7.9' ); ?>>7.9</option> <option value="7.8" <?php selected( $selected, '7.8' ); ?>>7.8</option> <option value="7.7" <?php selected( $selected, '7.7' ); ?>>7.7</option> <option value="7.6" <?php selected( $selected, '7.6' ); ?>>7.6</option> <option value="7.5" <?php selected( $selected, '7.5' ); ?>>7.5</option> <option value="7.4" <?php selected( $selected, '7.4' ); ?>>7.4</option> <option value="7.3" <?php selected( $selected, '7.3' ); ?>>7.3</option> <option value="7.2" <?php selected( $selected, '7.2' ); ?>>7.2</option> <option value="7.1" <?php selected( $selected, '7.1' ); ?>>7.1</option> <option value="7" <?php selected( $selected, '7' ); ?>>7</option> <option value="6.9" <?php selected( $selected, '6.9' ); ?>>6.9</option> <option value=">6.8" <?php selected( $selected, '>6.8' ); ?>>6.8</option> <option value="6.7" <?php selected( $selected, '6.7' ); ?>>6.7</option> <option value="6.6" <?php selected( $selected, 'Action' ); ?>>6.6</option> <option value="6.5" <?php selected( $selected, 'Action' ); ?>>6.5</option> <option value="6.4" <?php selected( $selected, 'Action' ); ?>>6.4</option> <option value="6.3" <?php selected( $selected, 'Action' ); ?>>6.3</option> <option value="6.2" <?php selected( $selected, '6.2' ); ?>>6.2</option> <option value="6.1" <?php selected( $selected, '6.1' ); ?>>6.1</option> <option value="6" <?php selected( $selected, '6' ); ?>>6</option> <option value="5.9" <?php selected( $selected, '5.9' ); ?>>5.9</option> <option value="5.8" <?php selected( $selected, '5.8' ); ?>>5.8</option> <option value="5.7" <?php selected( $selected, '5.7' ); ?>>5.7</option> <option value="5.6" <?php selected( $selected, '5.6' ); ?>>5.6</option> <option value="5.5" <?php selected( $selected, '5.5' ); ?>>5.5</option> <option value="5.4" <?php selected( $selected, '5.4' ); ?>>5.4</option> <option value="5.3" <?php selected( $selected, '5.3' ); ?>>5.3</option> <option value="5.2" <?php selected( $selected, '5.2' ); ?>>5.2</option> <option value="5.1" <?php selected( $selected, '5.1' ); ?>>5.1</option> <option value="5" <?php selected( $selected, '5' ); ?>>5</option> <option value="4.9" <?php selected( $selected, 'Action' ); ?>>4.9</option> <option value="4.8" <?php selected( $selected, '4.8' ); ?>>4.8</option> <option value="4.7" <?php selected( $selected, '4.7' ); ?>>4.7</option> <option value="4.6" <?php selected( $selected, '4.6' ); ?>>4.6</option> <option value="4.5" <?php selected( $selected, '4.5' ); ?>>4.5</option> <option value="4.4" <?php selected( $selected, '4.4' ); ?>>4.4</option> <option value="4.3" <?php selected( $selected, '4.3' ); ?>>4.3</option> <option value="4.2" <?php selected( $selected, '4.2' ); ?>>4.2</option> <option value="4.1" <?php selected( $selected, '4.1' ); ?>>4.1</option> <option value="4" <?php selected( $selected, '4' ); ?>>4</option> <option value="3.9" <?php selected( $selected, '3.9' ); ?>>3.9</option> <option value="3.8" <?php selected( $selected, '3.8' ); ?>>3.8</option> <option value="3.7" <?php selected( $selected, '3.7' ); ?>>3.7</option> <option value="3.6" <?php selected( $selected, '3.6' ); ?>>3.6</option> <option value="3.5" <?php selected( $selected, '3.5' ); ?>>3.5</option> <option value="3.4" <?php selected( $selected, '3.4' ); ?>>3.4</option> <option value="3.3" <?php selected( $selected, '3.3' ); ?>>3.3</option> <option value="3.2" <?php selected( $selected, '3.2' ); ?>>3.2</option> <option value="3.1" <?php selected( $selected, '3.1' ); ?>>3.1</option> <option value="3" <?php selected( $selected, '3' ); ?>>3</option> <option value="2.9" <?php selected( $selected, '2.9' ); ?>>2.9</option> <option value="2.8" <?php selected( $selected, '2.8' ); ?>>2.8</option> <option value="2.7" <?php selected( $selected, '2.7' ); ?>>2.7</option> <option value="2.6" <?php selected( $selected, '2.6' ); ?>>2.6</option> <option value="2.5" <?php selected( $selected, '2.5' ); ?>>2.5</option> <option value="2.4" <?php selected( $selected, '2.4' ); ?>>2.4</option> <option value="2.3" <?php selected( $selected, '2.3' ); ?>>2.3</option> <option value="2.2" <?php selected( $selected, '2.2' ); ?>>2.2</option> <option value="2.1" <?php selected( $selected, '2.1' ); ?>>2.1</option> <option value="2" <?php selected( $selected, '2' ); ?>>2</option> <option value="1.9" <?php selected( $selected, '1.9' ); ?>>1.9</option> <option value="1.8" <?php selected( $selected, '1.8' ); ?>>1.8</option> <option value="1.7" <?php selected( $selected, '1.7' ); ?>>1.7</option> <option value="1.6" <?php selected( $selected, '1.6' ); ?>>1.6</option> <option value="1.5" <?php selected( $selected, '1.5' ); ?>>1.5</option> <option value="1.4" <?php selected( $selected, '1.4' ); ?>>1.4</option> <option value="v" <?php selected( $selected, '1.3' ); ?>>1.3</option> <option value="1.2" <?php selected( $selected, '1.2' ); ?>>1.2</option> <option value="1.1" <?php selected( $selected, '1.1' ); ?>>1.1</option> <option value="1" <?php selected( $selected, '1' ); ?>>1</option> <option value="No Rating" <?php selected( $selected, 'No Rating' ); ?>>No Rating</option> </select></p><p> <label for="_quality">Quality </label> <select name="_quality" id="_quality"> <option value="Cam" <?php selected( $selected, 'Cam' ); ?>>Cam</option> <option value="TS" <?php selected( $selected, 'TS' ); ?>>TS</option> <option value="R5" <?php selected( $selected, 'R5' ); ?>>R5</option> <option value="DVDScr" <?php selected( $selected, 'DVDScr' ); ?>>DVDScr</option> <option value="DVDRip" <?php selected( $selected, 'DVDRip' ); ?>>DVDRip</option> <option value="BDRip" <?php selected( $selected, 'BDRip' ); ?>>BDRip</option> <option value="Bluray 480p" <?php selected( $selected, 'Bluray 480p' ); ?>>Bluray 480p</option> <option value="Bluray 720p" <?php selected( $selected, 'Bluray 720p' ); ?>>Bluray 720p</option> <option value="Bluray 1080p" <?php selected( $selected, 'Bluray 1080p' ); ?>>Bluray 1080p</option> <option value="3D" <?php selected( $selected, '3D' ); ?>>3D</option> <option value="WEb RIp" <?php selected( $selected, 'WEb RIp' ); ?>>WEb RIp</option> <option value="HDRip" <?php selected( $selected, 'HDRip' ); ?>>HDRip</option> <option value="High Definition" <?php selected( $selected, 'High Definition' ); ?>>High Definition</option> <option value="WEB-DL 720p" <?php selected( $selected, 'WEB-DL 720p' ); ?>>WEB-DL 720p</option> <option value="HD" <?php selected( $selected, 'HD' ); ?>>HD</option> <option value="Full HD" <?php selected( $selected, 'Full HD' ); ?>>Full HD</option> </select></p><p> <label for="_country">Country</label> <select name="_country" id="_country"> <option value="America" <?php selected( $selected, 'America' ); ?>>America</option> <option value="Australia" <?php selected( $selected, 'Australia' ); ?>>Australia</option> <option value="Italy" <?php selected( $selected, 'Italy' ); ?>>Italy</option> <option value="IRAn" <?php selected( $selected, 'IRAn' ); ?>>IRAn</option> <option value="India" <?php selected( $selected, 'India' ); ?>>India</option> <option value="Japan" <?php selected( $selected, 'Japan' ); ?>>Japan</option> <option value="China" <?php selected( $selected, 'China' ); ?>>China</option> <option value="France" <?php selected( $selected, 'France' ); ?>>France</option> <option value="Spain" <?php selected( $selected, 'Spain' ); ?>>Spain</option> <option value="South Korea" <?php selected( $selected, 'South Korea' ); ?>>South Korea</option> <option value="Saudi Arabia" <?php selected( $selected, 'Saudi Arabia' ); ?>>Saudi Arabia</option> <option value="Turkey" <?php selected( $selected, 'Turkey' ); ?>>Turkey</option> <option value="Netherlands" <?php selected( $selected, 'Netherlands' ); ?>>Netherlands</option> <option value="Mexico" <?php selected( $selected, 'Mexico' ); ?>>Mexico</option> <option value="Ireland" <?php selected( $selected, 'Ireland' ); ?>>Ireland</option> <option value="Austria" <?php selected( $selected, 'Austria' ); ?>>Austria</option> <option value="New Zealand" <?php selected( $selected, 'New Zealand' ); ?>>New Zealand</option> <option value="Norway" <?php selected( $selected, 'Norway' ); ?>>Norway</option> <option value="Sweden" <?php selected( $selected, 'Sweden' ); ?>>Sweden</option> </select></p><p> <label for="_genre">Genre</label> <input type="text" name="_genre" id="_genre" value="<?php echo $text; ?>" /></p><p> <label for="_director">Director</label> <input type="text" name="_director" id="_director" value="<?php echo $text; ?>" /></p><p> <label for="_stars">Stars</label> <input type="text" name="_stars" id="_stars" value="<?php echo $text; ?>"4/></p><p> <label for="_volume">Volume</label> <input type="text" name="_volume" id="_volume" value="<?php echo $text; ?>"4/></p><p> <label for="_time">Time</label> <input type="text" name="_time" id="_time" value="<?php echo $text; ?>"4/></p><?php}add_action( 'save_post', 'cd_meta_box_save' );function cd_meta_box_save( $post_id ){// Bail if we're doing an auto saveif( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;// if our nonce isn't there, or we can't verify it, bailif( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce' ) ) return;// if our current user can't edit this post, bailif( !current_user_can( 'edit_post' ) ) return;// now we can actually save the data$allowed = array( 'a' => array( // on allow a tags 'href' => array() // and those anchords can only have href attribute ));if( isset( $_POST['_director'] ) ) update_post_meta( $post_id, '_director', wp_kses( $_POST['_director'], $allowed ) );if( isset( $_POST['_time'] ) ) update_post_meta( $post_id, '_time', wp_kses( $_POST['_time'], $allowed ) );if( isset( $_POST['_genre'] ) ) update_post_meta( $post_id, '_genre', wp_kses( $_POST['_genre'], $allowed ) );if( isset( $_POST['_volume'] ) ) update_post_meta( $post_id, '_volume', wp_kses( $_POST['_volume'], $allowed ) );if( isset( $_POST['_stars'] ) ) update_post_meta( $post_id, '_stars', wp_kses( $_POST['_stars'], $allowed ) );if( isset( $_POST['_rating'] ) ) update_post_meta( $post_id, '_rating', esc_attr( $_POST['_rating'] ) );if( isset( $_POST['_quality'] ) ) update_post_meta( $post_id, '_quality', esc_attr( $_POST['_quality'] ) );if( isset( $_POST['_country'] ) ) update_post_meta( $post_id, '_country', esc_attr( $_POST['_country'] ) );} ?> نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در شهریور 93 گزارش بازنشر ارسال شده در شهریور 93 $values = get_post_custom( $post->ID );$selected1 = isset( $values['_rating'] ) ? esc_attr( $values['_rating'][0] ) : '';$selected2 = isset( $values['_quality'] ) ? esc_attr( $values['_quality'][0] ) : '';$selected3 = isset( $values['_country'] ) ? esc_attr( $values['_country'][0] ) : '';$text0 = isset( $values['_director'] ) ? esc_attr( $values['_director'][0] ) : '';$text1 = isset( $values['_time'] ) ? esc_attr( $values['_time'][0] ) : '';$text2 = isset( $values['_genre'] ) ? esc_attr( $values['_genre'][0] ) : '';$text3 = isset( $values['_volume'] ) ? esc_attr( $values['_volume'][0] ) : '';$text4 = isset( $values['_stars'] ) ? esc_attr( $values['_stars'][0] ) : ''; 2 نقل قول لینک به ارسال
سئو فاکس 27 ارسال شده در شهریور 93 مالک گزارش بازنشر ارسال شده در شهریور 93 بسیار ممنون , اما value ها کلا پاک شدن ! نقل قول لینک به ارسال
imanfakhar 26231 ارسال شده در شهریور 93 گزارش بازنشر ارسال شده در شهریور 93 بجای <?php echo $text; ?>هم باید بگذارید <?php echo $text0; ?>و<?php echo $text1; ?>..... 2 نقل قول لینک به ارسال
سئو فاکس 27 ارسال شده در شهریور 93 مالک گزارش بازنشر ارسال شده در شهریور 93 خیلی ممنون آقا ایمان , خدا خیرت بده نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .