رفتن به مطلب

چطور زمینه ی دلخواه را به یک بخش جدا تبدیل کنیم؟


پست های پیشنهاد شده

تعویض کد یک راهش هست.

باید این نوع مشکلات رو با آزمون و خطا پیدا کرد.

مثلا یک راه حل هم این هست که تا وقتی پستی ارسال نشده (یعنی post فرستاده نشده) کدهای بالا عملیاتی انجام ندن و لود نشن.

خوب برای این باید چیکار کرد مرتضی جان؟

لینک به ارسال

همونجا هم گفتم. یا باید کد رو تعویض کنید یا اینکه کدها رو از اول بررسی کنید شاید جایی اشتباه کد زده باشید.

لینک به ارسال

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

اکثر افزونه ها هم همین مشکل رو دارن :|

لینک به ارسال

سلام.

زمینه وقتی خالی باشه ، در صفحه ی پست هم هیچ چیزی ارسال نشه !

میخوام بصورت فیلد درشون بیارم ، اما متاسفانه وقتی یک زمینه رو خالی ارسال میکنم ، همون خالی هم ارسال میشه.

لینک به ارسال

باید زمینه رو توی یک شرط مثلا با نام $custom_var بریزید و بعد محتوا داشتنش رو بررسی کنید:

if(!empty($custom_var)){اجرای عملیات}

لینک به ارسال

`

پارسا كه تو صفحه اول گفته كه اين اموزش رو.. برو تو صفحه اول همين تاپيك كد زير رو پارسا شرح داده و منم كاملا كاري كه ميخواستم باهاش كردم


<?php
$test = get_post_meta($post->ID, "test", true);
if($test){
echo $test ;
}
?>

لینک به ارسال

Sajjad محتوای فایل فانکشن را حذف کنید و کد زیر را قرار دهید:

<?php

add_action("admin_init", "admin_init_meta_");

add_action('save_post', 'save_post_meta');

function admin_init_meta_(){

add_meta_box("prodInfo-meta", "اطلاعات ورودی", "meta_options", "post", "normal", "high");

}

function meta_options(){

global $post;

$test = $custom["test"][0];

?>

<table border="0">

<tr>

<td><label>ورودی تست</label></td><td><input name="test" value="<?php echo $test; ?>" size="10" /></td>

</tr><tr>

</table>

<?php

}

function save_post_meta(){

global $post;

update_post_meta($post->ID, "test", $_POST["test"]);

}

if ( function_exists('register_sidebar') )

register_sidebar(array('name'=>'right',

'before_widget' => '<div class="sidebar-box">',

'after_widget' => '</DIV>

<DIV class=sidebar-box-footer></div>

</div>

',

'before_title' => '<H3><div class="title">',

'after_title' => '</div></H3>

<DIV class=sidebar-box-content>',

));

if ( function_exists('register_sidebar') )

register_sidebar(array('name'=>'left',

'before_widget' => '<div class="sidebar-box">',

'after_widget' => '</DIV>

<DIV class=sidebar-box-footer></div>

</div>

',

'before_title' => '<H3><div class="title">',

'after_title' => '</div></H3>

<DIV class=sidebar-box-content>',

));

?>

تشکر از شما ! کد خیلی خوب کار کرد. فقط یک مشکلی هستش : وقتی من مقدار اون زمینه دلخواه رو توی اون باکس ای که ایجاد شده قرار میدم ، وقتی بروزرسانی میکنم ، اون باکس خالی میشه و اون مقداری که دفعه قبل وارد کردم دیگه نیستش

نمیشه این رو درست کرد ؟

لینک به ارسال

تشکر از شما ! کد خیلی خوب کار کرد. فقط یک مشکلی هستش : وقتی من مقدار اون زمینه دلخواه رو توی اون باکس ای که ایجاد شده قرار میدم ، وقتی بروزرسانی میکنم ، اون باکس خالی میشه و اون مقداری که دفعه قبل وارد کردم دیگه نیستش

نمیشه این رو درست کرد ؟

تستینگ:


<?php
add_action("admin_init", "admin_init_meta_");
add_action('save_post', 'save_post_meta');
function admin_init_meta_(){
add_meta_box("prodInfo-meta", "اطلاعات ورودی", "meta_options", "post", "normal", "high");
}
function meta_options(){
global $post;
$test = get_post_meta( $post->ID, 'test', true );
?>
<table border="0">
<tr>
<td><label>ورودی تست</label></td><td><input name="test" value="<?php echo $test; ?>" size="10" /></td>
</tr><tr>
</table>
<?php
}
function save_post_meta( $post_id, $post ) {
global $post;
update_post_meta($post->ID, "test", $_POST["test"]);
}
?>

لینک به ارسال

اینی که value رو <?php echo $test; ?> بدیم ، قبلا تست کردم اما جواب نداده و خالی مونده

راه دیگری نداره ؟

لینک به ارسال

شما باید کدت بزاری تا بررسی کنیم.

شاید جایی توی کد مشکل وجود داشته باشه.

لینک به ارسال

شما باید کدت بزاری تا بررسی کنیم.

شاید جایی توی کد مشکل وجود داشته باشه.

کد من این هستش :


add_action("admin_init", "admin_init_meta_");
add_action('save_post', 'save_post_meta');
function admin_init_meta_(){
add_meta_box("prodInfo-meta", "اطلاعات باکس دانلود", "meta_options", "post", "normal", "high");
}
function meta_options(){
global $post;
$dl = $custom["dl"][0];
?>
<table border="0">
<tr>
<td><label>ورودی تست</label></td><td><input name="dl" value="<?php echo $dl; ?>" size="10" /></td>
</tr><tr>
</table>
<?php
}
function save_post_meta(){
global $post;
update_post_meta($post->ID, "dl", $_POST["dl"]);
}
if ( function_exists('register_sidebar') )
register_sidebar(array('name'=>'right',
'before_widget' => '<div class="sidebar-box">',
'after_widget' => '</DIV>
<DIV class=sidebar-box-footer></div>
</div>
',
'before_title' => '<H3><div class="title">',
'after_title' => '</div></H3>
<DIV class=sidebar-box-content>',
));
if ( function_exists('register_sidebar') )
register_sidebar(array('name'=>'left',
'before_widget' => '<div class="sidebar-box">',
'after_widget' => '</DIV>
<DIV class=sidebar-box-footer></div>
</div>
',
'before_title' => '<H3><div class="title">',
'after_title' => '</div></H3>
<DIV class=sidebar-box-content>',
));
?>

لینک به ارسال

اینجوری تست کنید:

add_action("admin_init", "admin_init_meta_");
add_action('save_post', 'save_post_meta');
function admin_init_meta_(){
add_meta_box("prodInfo-meta", "اطلاعات باکس دانلود", "meta_options", "post", "normal", "high");
}
function meta_options(){
global $post;
$dl= get_post_meta( $post->ID, 'dl', true );

?>
<table border="0">
<tr>
<td><label>ورودی تست</label></td><td><input name="dl" value="<?php echo $dl; ?>" size="10" /></td>
</tr><tr>
</table>
<?php
}
function save_post_meta(){
global $post;
update_post_meta($post->ID, "dl", $_POST["dl"]);
}

لینک به ارسال
  • 11 ماه بعد...

من از کد پست قبلی استفاده کردم

فقط به جای یک ورودی تغییر دادم 3 تا ورودی داشته باشه

ولی الان مشکل اینکه وقتی کد رو تو قالب میزارم صفحه سفید میشه


add_action("admin_init", "admin_init_meta_");
add_action('save_post', 'save_post_meta');
function admin_init_meta_(){


add_meta_box("prodInfo-meta", "اطلاعات باکس دانلود", "meta_options", "post", "normal", "high");
}
function meta_options(){


global $post;
$v= get_post_meta( $post->ID, 'v', true );
$s= get_post_meta( $post->ID, 's', true );
$l= get_post_meta( $post->ID, 'l', true );

?>
<table border="0">
<tr>
<td><label>نسخه</label></td><td><input name="v" value="<?php echo $v; ?>" size="10" /></td>
<td><label>حجم فایل</label></td><td><input name="s" value="<?php echo $s; ?>" size="10" /></td>
<td><label>لینکا دانلود</label></td><td><input name="l" value="<?php echo $l; ?>" size="10" /></td>

</tr><tr>


</table>
<?php
}
function save_post_meta(){
global $post;
update_post_meta($post->ID, "v", $_POST["v"]);
}

function save_post_meta(){
global $post;
update_post_meta($post->ID, "s", $_POST["s"]);
}

function save_post_meta(){
global $post;
update_post_meta($post->ID, "l", $_POST["l"]);
}

ویرایش شده توسط tablo_24
لینک به ارسال

سلام

مشکل رو پیدا کردم البته صفحه سفید بر طرف شد

function save_post_meta(){
global $post;
update_post_meta($post->ID, "v", $_POST["v"]);
update_post_meta($post->ID, "s", $_POST["s"]);
update_post_meta($post->ID, "l", $_POST["l"]);
}

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

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...