رفتن به مطلب

مشکل در متاباکس


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

سلام

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

مشکل از چیه؟؟

کدهای متاباکس :


<?php

// Slider metabox
add_action( 'add_meta_boxes', 'meta_boxes_wp' );
function meta_boxes_wp() {
add_meta_box('wp_metaboxes','گزینه های پست', 'wp_meta_location', 'post', 'advanced', 'high');
}
function wp_meta_location() {
global $post;
$portfolio = get_post_meta($post->ID, '_$portfolio', $single = true);
$name = get_post_meta($post->ID, '_$name', $single = true);
wp_nonce_field( 'dw_meta_box_nonce', 'meta_box_nonce' );
?>
<style>
.dornaweb_meta{
width:100%;
}
.dornaweb_meta input,
.dornaweb_meta textarea{
width:50%;
}
.dornaweb_meta label{
width:120px;
display:inline-block;
}
.dw_20_ltr{
text-align:left;
direction:ltr;
}
</style>
<div class="dornaweb_meta">
<label for="portfolio">آدرس سایت : </label> <input class="dw_20_ltr" id="download" type="text" name="_portfolio" value="<?php echo $portfolio; ?>">
<label for="name">آدرس سایت : </label> <input class="dw_20_ltr" id="download" type="text" name="_name" value="<?php echo $name; ?>">
<br />
</div>
<?php
}
function save_slider_meta() {
global $post;

$metaboxes = array("_portfolio","_name");

foreach ( $_POST as $key => $value ) {
if( in_array( $key,$metaboxes ) ) {

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

if( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'dw_meta_box_nonce' ) ) return;

if( !current_user_can( 'edit_post' ) ) return;

if( isset($_POST[$key]) && $_POST[$key] != get_post_meta($post->ID, $value, true) ) {
update_post_meta($post->ID, $key, $value);
}
}
}
}
add_action('save_post', 'save_slider_meta');
?>

و کد زیر رو هم جایی که میخوام نمایش داده بشه نوشتم :


<?php if( is_field($portfolio) ) : ?>
<span>
<?php echo $portfolio; ?>
</span>
<?php endif; ?>

و اما اروری که میده :

( ! ) Fatal error: Call to undefined function is_field()

لینک به ارسال

سلام

کد زیر رو هم باید شما دقیقا بعد از شروع حلقه پست قرار بدید


<?php $portfolio = get_post_meta($post->ID, '_portfolio', $single = true);?>

لینک به ارسال

به این صورت تست کنید توی جایی که میخواین نمایش داده بشه


<?php if( empty ($portfolio) ) : ?>
<span>
متنی که اگر فیلد مقداردهی نشده بود نمایش داده بشه
</span>
<?php else: ?>
<span>
<?php echo $portfolio; ?>
</span>
<?php endif; ?>

لینک به ارسال

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

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

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

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

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

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

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

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

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