dr-wp

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

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

سلام

من میخوام از متاباکس استفاده کنم و کد زیر رو توی فایل 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()

0

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


لینک به پست

سلام

این آموزش رو ببینید

0

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


لینک به پست

خب اینی که من استفاده کردم مشکلی داره؟

0

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


لینک به پست

ببخشید اصلا کدتون رو نخوندم

خوب شما اصلا is_field رو تعریف نکردید که ...

0

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


لینک به پست

کجا و چجوری باید تعریف کنم؟

0

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


لینک به پست

سلام

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


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

2

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


لینک به پست

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


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

2

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


لینک به پست

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

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

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

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


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

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

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


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