hcp90

مشکل با متاباکس | مبتدی

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

سلام دوستان

من یه متاباکس درست کردم که لینک یه سایت توش گذاشته بشه

اینم کد :


add_action( 'add_meta_boxes', 'linkdm_add_meta_box');
add_action( 'save_post', 'linkdm_save' );
function linkdm_add_meta_box(){

$screens = array( 'portfolio');

foreach ( $screens as $screen ) {
add_meta_box('linkdm_meta_box','لینک سایت بالا','linkdm_content',$screen,'side','high');
}

}
function linkdm_content($post){

$link_dempt=get_post_meta($post->ID,'linkpt',true);

?>
<div class="panel-wrap">
<div>
<input style="width: 100%;background: #FFF none repeat scroll 0% 0%;border-radius: 3px" name="$link_dempt" class="input" value="<?php echo !empty($link_dempt)?$link_dempt:''; ?>">
</div>
</div>
<?php

}
function linkdm_save($post_id){

if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
return;
}

if(isset($_POST['$link_dempt']) && !empty($_POST['$link_dempt'])){

update_post_meta($post_id,'linkpt',sanitize_text_field($_POST['$link_dempt']));

}


}
function linkpt_show(){

$linkdemo_posts=new WP_Query('showposts=4&meta_key=linkpt');

while($linkdemo_posts->have_posts()):$linkdemo_posts->the_post();

?>
<?php
endwhile;
}

ولی وقتی یه لینکی مثل این رو توش میزارم، آدرسش کوتاه میشه و لینک خراب میشه

این آدرس رو میزارم :


http://marketwp.ir/products/%D9%82%D8%A7%D9%84%D8%A8-%D9%81%D8%B1%D9%88%D8%B4%DA%AF%D8%A7%D9%87%DB%8C-%D9%86%DB%8C%D9%84%D8%B3%D9%86-%D8%A8%D9%87-%D8%B9%D8%B8%D9%85%D8%AA-%D8%AF%DB%8C-%D8%AC%DB%8C-%DA%A9%D8%A7%D9%84%D8%A7-2/

ولی بعد که دکمه ذخیره رو میزنم این میشه :


http://marketwp.ir/products/--------2/

چطور میشه درستش کرد ؟

ممنون

0

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


لینک به پست

از طریق زمینه دلخواه تست کنید .

سپس مشاهده کنید باز لینک به همان صورت میشه ؟

0

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


لینک به پست

تابع sanitize_text_field تمامی کاراکترهای غیرمجاز رو فیلتر می‌کنه و بعد در دیتابیس قرار میده. چون در متای خودتون دارید یه URL ذخیره می‌کنین، به جای sanitize_text_field از esc_url استفاده کنید.

موفق باشید.

1

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


لینک به پست
تابع sanitize_text_field تمامی کاراکترهای غیرمجاز رو فیلتر می‌کنه و بعد در دیتابیس قرار میده. چون در متای خودتون دارید یه URL ذخیره می‌کنین، به جای sanitize_text_field از esc_url استفاده کنید. موفق باشید.

ممنون مشکل حل شد :)

0

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


لینک به پست

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

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

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

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


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

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

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


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