• اطلاعیه ها

    • Morteza

      باهم بسازیم: اطلس ووکامرس و وردپرس   14/07/96

      تاپیک ایجاد شده برای بحث در جهت ایجاد یک منبع، ویکی، صفحات توضیحی و یا بخش آموزشی جامع برای وردپرس و متعلقات مختلف آن است. لطفا جهت مشارکت در این بحث، ارائه پیشنهاد و یا انتقاد به تاپیک فوق مراجعه کنید. باهم بسازیم: اطلس ووکامرس و وردپرس
ARIARAD

قرار دادن ادیتور در متا باکس؟

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

سلام خدمت همگی

من یه مشکلی دارم اونم اینه که یه متا باکس تعریف کردم که توش متن شعر رو وارد کنم

از تکست فیلد استفاده کردم ولی مشکل اینجاست که موقع نمایش enter رو نشون نمیده و متن به هم چسبیده نمایش داده میشه

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

خیلی گشتم ولی موردی پیدا نکردم

ممنون میشم

0

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


لینک به پست

بجای تکست فیلد


<?php
$content = 'XX';
$editor_id = 'XXX';
wp_editor( $content, $editor_id );
?>

بگذارید

XX را یا خالی بگذارید یا متنی که می خواهید در پیش فرض دیده بشه

XXX آی دی فیلدتون را بگذارید

3

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


لینک به پست

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

خیلبی ممنون از پاسختون

ادیتور جای گزین شد

ولی مشکل هنوز پا برجاست

از کجا می تونه باشه این مشکل؟

هنوز هم اینتر موقع ذخیره حذف میشه

ویرایش شده در توسط ARIARAD
0

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


لینک به پست

چجوری ذخیره اش می کنید کد فرمتون رو بگذارید

البته من الان دارم می رم سرکار

تا ظهرم بر نمی گردم پای سیستم (احتمالا) اگر دوستان پاسخ نگذاشتند کدتون رو بگذارید و منتظر باشید تا عرض کنم

3

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


لینک به پست

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

صبحتون بخیر

خیر پیش

ممنون بابت توجهتون

این کل کد متا باکسم هست

البته فقط مشکلم رو همون بخش txt-lyrics هستش چون بقیه تکست فیلد ها تک خطی محتواش


//# Start >> Create custom music-video meta box and add it to custom post
// 1. Create a function for call add_meta_box function

add_action( 'add_meta_boxes', 'add_metabox_to_musicvideo' );
function add_metabox_to_musicvideo() {
//create a custom meta box
add_meta_box( 'music-video-meta', __( '<span style="color:#21759B;font:bold 9pt/14px Tahoma;" class="ms-meta-title">اضافه کردن توضيحات به ويدئو پست</span>', 'Music Site' ), 'music_video_callback', 'music-video','normal', 'high' );
}


// 2. Create Callback function for add_meta_box

function music_video_callback( $post ) {
//retrieve the metadata values if they exist
$video_details = get_post_meta( $post->ID, "_music_video_details", true );
$video_details = unserialize($video_details);
$video_details = soft_output_text( stripslashes_deep( $video_details ) );
?>
<p class="dir-ltr" > Video FLV URL : <input style="width:340px" type="text" name="video_flv_url" value="<?php echo $video_details['video_flv_url']; ?> " /><span class="video-logo" style="background:url(<?php echo MS_DIR_IMAGES; ?>flv.png) no-repeat scroll 0 0 transparent" >flv</span> </p>
<p class="dir-ltr" > Video MP4 URL : <input style="width:340px" type="text" name="video_mp4_url" value="<?php echo $video_details['video_mp4_url']; ?> " /><span class="video-logo" style="background:url(<?php echo MS_DIR_IMAGES; ?>mp4.png) no-repeat scroll 0 0 transparent" >mp4</span> </p>

<hr class="dir-ltr" style="border-top:1px solid #eee;border-bottom:1px solid white;border-left:medium transparent;border-right:medium transparent" />

<p class="dir-ltr" style="font:bold 15px/18px Tahoma;color:gray" >Music Video Details </p>

<p class="dir-ltr" > Artist Name : <input style="width:175px;margin-left:20px;color:#4a4a4a" type="text" name="artist_name" value="<?php echo $video_details['artist_name']; ?> " /></p>
<p class="dir-ltr" > Director : <input style="width:175px;margin-left:42px;color:#4a4a4a" type="text" name="director" value="<?php echo $video_details['director']; ?> " /></p>
<p class="dir-ltr" > Lyrics : <input style="width:175px;margin-left:57px;color:#4a4a4a" type="text" name="lyrics" value="<?php echo $video_details['lyrics'] ; ?> " /></p>
<p class="dir-ltr" > Arrangement : <input style="width:175px;margin-left:12px;color:#4a4a4a" type="text" name="arrangement" value="<?php echo $video_details['arrangement']; ?> " /></p>
<p class="dir-ltr" > comment : <input style="width:175px;margin-left:20px;color:#4a4a4a" type="" name="comment" value="<?php echo $video_details['comment']; ?> " /></p>
<p class="dir-ltr" style="font:bold 15px/18px Tahoma;color:gray" >Music Video Lyrics </p>

<?php
$content = 'XX';
$editor_id = 'txt-lyrics';
wp_editor( $content, $editor_id );
?>

<?php }

// End callback function

// 3. Create a function for save data

//hook to save the meta box data
add_action( 'save_post', 'save_meta_music_video' );
function save_meta_music_video( $post_id ) {
//verify the metadata is set
if ( isset( $_POST['video_mp4_url'] ) || isset( $_POST['video_flv_url']) || isset( $_POST['artist_name']) || isset( $_POST['director']) || isset( $_POST['lyrics']) || isset( $_POST['arrangement'])|| isset( $_POST['comment'])|| isset( $_POST['txt-lyrics']) ) {

$music_video_details ['video_mp4_url'] = trim( str_replace('"', "'", $_POST['video_mp4_url'] ));
$music_video_details ['video_flv_url'] = trim( str_replace('"', "'", $_POST['video_flv_url'] ));
$music_video_details ['artist_name'] = (trim($_POST['artist_name']))? str_replace('"', "'", $_POST['artist_name']):"no artist name" ;
$music_video_details ['director'] = ( trim($_POST['director']) )? str_replace('"', "'", $_POST['director']):"no director" ;
$music_video_details ['lyrics'] = (trim($_POST['lyrics']))? str_replace('"', "'", $_POST['lyrics']):"no lyrics" ;
$music_video_details ['arrangement'] = (trim($_POST['arrangement']))? str_replace('"', "'", $_POST['arrangement']):"no arrangment" ;
$music_video_details ['comment'] = (trim($_POST['comment']))? str_replace('"', "'", $_POST['comment']):"no comment" ;
$music_video_details ['txt-lyrics'] = (trim($_POST['txt-lyrics']))? str_replace('"', "'", $_POST['txt-lyrics']):"no lyrics" ;
//save the metadata
$music_video_details_serialize = serialize($music_video_details);
update_post_meta( $post_id, '_music_video_details',esc_sql($music_video_details_serialize) );

}
}

ویرایش شده در توسط ARIARAD
0

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


لینک به پست

این هم کدی که باهاش فراخوانی می کنم


<?php
if(get_post_custom( $post->ID, "_music_video_details", true )):
foreach($video_details as $key => $value){
switch($key){

case "txt-lyrics":
?>
<li "><span></span><p><?php echo soft_output_text( $value, "html" );?></p></li>

<?php break; } ?>
<?php } endif;?>

0

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


لینک به پست

بعد از کلی تلاش الان جای اینتر rn نشون میده

:-؟

شرمنده پست جدید زدم

نمیدونم چرا انجمن برام کامل لود نمیشه نتونستم پست قبلیو ویرایش کنم

0

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


لینک به پست

کد فراخوانیتون رو به اینصورت چک کنید


<?php
$txt = soft_output_text( $value, "html" );
echo wpautop($txt);
?>

3

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


لینک به پست

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

چک کردم این هم همون مشکلو داره

مشکل از فراخوانیش نیست

چون وقت یمیخوام تو ادیتور هم نشون بدم به این صورت

$content = $video_details['txt-lyrics'];

تو ادیتور هم rn نشون میده بعد از ذخیره شدن:-؟

به این صورت تو دیتابی ذخیره میشه


s:476:"a:8:{s:13:"video_mp4_url";s:96:"Http://localhost/mp3/aligator%20ft.%20sarah%20west%20-%20be%20with%20you_%201080p%20%5bbm%5d.mp4";s:13:"video_flv_url";s:96:"Http://localhost/mp3/aligator%20ft.%20sarah%20west%20-%20be%20with%20you_%201080p%20%5bbm%5d.mp4";s:11:"artist_name";s:15:"No Artist Name ";s:8:"director";s:12:"No Director ";s:6:"lyrics";s:10:"No Lyrics ";s:11:"arrangement";s:14:"No Arrangment ";s:7:"comment";s:10:"no comment";s:10:"txt-lyrics";s:13:"slamrnrnsalam";}";

salam

salam

رو به این شکل ذخشره میکنه

slamrnrnsalam

ویرایش شده در توسط ARIARAD
0

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


لینک به پست

تابع wpautop برای همین کاره این تابع فیلتر هم داره ممکنه قالبتون این فیلتر را داشته باشه روی قالب دیفالت چک کنید

2

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


لینک به پست

قالبم استاندارد نیست اون بخشایی که این مشکلو دارم کلا رو قالب دیفالت نیست که بتونم با یه قالب دیگه چک کنم

ولی تابع wpautop رو تو فایل فانکشن جستجو کردم چیزی پیدا نکردم :-؟

0

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


لینک به پست

کدهای ایجاد متاباکس را در یک قالب دیگه چک کنید نه همه کدهای قالبتون رو

کدهای ارسال و احضار

شروط اضافه را هم بردارید فقط یک شرط را بگذارید که اگر متا نوشته شدهخ بود خوانده شود و تست بگیرید

3

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط Siaavash
      با استفاده از این آموزش یک متاباکس ساختم:
      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 is already set, and contains an object: the WordPress post global $post; $values = get_post_custom( $post->ID ); $text = isset( $values['my_meta_box_text'] ) ? $values['my_meta_box_text'] : ''; $selected = isset( $values['my_meta_box_select'] ) ? esc_attr( $values['my_meta_box_select'] ) : ''; $check = isset( $values['my_meta_box_check'] ) ? esc_attr( $values['my_meta_box_check'] ) : ''; // We'll use this nonce field later on when saving. wp_nonce_field( 'my_meta_box_nonce', 'meta_box_nonce' ); ?> <p> <label for="my_meta_box_text">Text Label</label> <input type="text" name="my_meta_box_text" id="my_meta_box_text" value="<?php echo $text; ?>" /> </p> <?php } add_action( 'save_post', 'cd_meta_box_save' ); function cd_meta_box_save( $post_id ) { // Bail if we're doing an auto save if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return; // if our nonce isn't there, or we can't verify it, bail if( !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, bail if( !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 anchors can only have href attribute ) ); // Make sure your data is set before trying to save it if( isset( $_POST['my_meta_box_text'] ) ) update_post_meta( $post_id, 'my_meta_box_text', wp_kses( $_POST['my_meta_box_text'], $allowed ) ); }  
      به جز یک مورد همه موارد درسته!
      اون یک مورد هم اینه که در صفحه ارسال/ویرایش مطلب بعد از اینکه باکس مربوطه رو پر می کنم و دکمه به روز رسانی رو می زنم، صفحه که دوباره لود می شه، داخل باکس متنی که نوشتم رو نمایش نمی ده! و کلمه "Array" نمایش داده شده!
      مشکل از کجاست؟
    • توسط jakob
      با عرض سلام
      دوستان من یه پست تایپ درست کردم واسه تیم ما
      بعد میخام متا باکس براش ایجاد کنم  که مثلا سمت شغلی رو بزنم و اینا
      چجوری باید ایجاد کنم ؟