Milad123

ویرایش این تکه کد + ترجمه

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

سلام به همگی

من برای لینک های دانلودم یه سری دکمه ی دانلود دارم شبیه جعبه ی دانلود،بعد زیر ادیتورم توی پنل مدیریت چندتا فیلد دارم که لینکای دانلود رو داخل اونا وارد میکنم،حالا اگه توی اون فیلدها چیزی وارد نکنم و خالی باشه،اون دکمه ی دانلودها که داخل پست نمایش داده میشه لینکش لینک همون پسته،یعنی اگه مثلا من توی فیلد "دانلود موزیک با کیفیت 320" لینکی وارد نکنم و خالی باشه،وقتی داخل پست یه کاربر روی دانلود موزیک با کیفیت 320 کلیک کنه دوباره به همون پست هدایت میشه،حالا میخوام کاری کنم که فیلدهای خالی یا بدون لینک بشن که وقتی روشون کلیک میشه هیچ اتفاقی نیفته،یا مثلاَ همگی به یه صفحه ی خاصی لینک بشن،فکر میکنم از این قسمت میشه اینکارو انجام داد اما متاسفانه از این کدها هیچی سر در نیاوردم،ممنون میشم اگه کسی سر در میاره یه توضیحی درموردش بده یا ویرایشش کنه :wub:


<?php
define('MY_WORDPRESS_FOLDER',$_SERVER['DOCUMENT_ROOT']);
define('MY_THEME_FOLDER',str_replace('\\','/',dirname(__FILE__)));
define('MY_THEME_PATH','/' . substr(MY_THEME_FOLDER,stripos(MY_THEME_FOLDER,'wp-content')));
add_action('admin_init','my_meta_init');
function my_meta_init()
{

wp_enqueue_style('my_meta_css', MY_THEME_PATH . '/custom/meta.css');

foreach (array('post','page') as $type)
{
add_meta_box('my_all_meta', 'توضیحات تکمیلی خبر', 'my_meta_setup', $type, 'normal', 'high');
}

add_action('save_post','my_meta_save');
}
function my_meta_setup()
{
global $post;
$meta = get_post_meta($post->ID,'_my_meta',TRUE);
include(MY_THEME_FOLDER . '/custom/meta.php');
echo '<input type="hidden" name="my_meta_noncename" value="' . wp_create_nonce(__FILE__) . '" />';
}

function my_meta_save($post_id)
{
if (!wp_verify_nonce($_POST['my_meta_noncename'],__FILE__)) return $post_id;

if ($_POST['post_type'] == 'page')
{
if (!current_user_can('edit_page', $post_id)) return $post_id;
}
else
{
if (!current_user_can('edit_post', $post_id)) return $post_id;
}

$current_data = get_post_meta($post_id, '_my_meta', TRUE);

$new_data = $_POST['_my_meta'];
my_meta_clean($new_data);

if ($current_data)
{
if (is_null($new_data)) delete_post_meta($post_id,'_my_meta');
else update_post_meta($post_id,'_my_meta',$new_data);
}
elseif (!is_null($new_data))
{
add_post_meta($post_id,'_my_meta',$new_data,TRUE);
}
return $post_id;
}
function my_meta_clean(&$arr)
{
if (is_array($arr))
{
foreach ($arr as $i => $v)
{
if (is_array($arr[$i]))
{
my_meta_clean($arr[$i]);
if (!count($arr[$i]))
{
unset($arr[$i]);
}
}
else
{
if (trim($arr[$i]) == '')
{
unset($arr[$i]);
}
}
}
if (!count($arr))
{
$arr = NULL;
}
}
}

?>

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


لینک به پست

درود.

فکر می کنم کد های مورد بحث شما در فایل single باشند فایل مورد نظر را بگذارید.

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


لینک به پست

درود.

فکر می کنم کد های مورد بحث شما در فایل single باشند فایل مورد نظر را بگذارید.

یه فایل هست به اسم metabox.php که کداشو توی پست اول گذاشتم.

یه فایل هست به اسم meta.php که کدهای داخل این فایل فیلدهای زیر ویرایشگر پنل مدیریت رو نمایش میده و کم و زیاد میکنه.

نمونه کد :


<label>نام فیلم یا سریال</label>
<p>
<textarea name="_my_meta[namefs]" rows="1"><?php if(!empty($meta['namefs'])) echo $meta['namefs']; ?></textarea>
<span>محل وارد کردن نام فیلم یا سریال</span>
</p>

توی فایل سینگل هم به این صورت فراخوانی میشن :


<?php if( $my_meta = get_post_meta($post->ID,'_my_meta',TRUE)){echo $my_meta['namefs'];} else{ if(isset($mid_var) && !empty($mid_var)) ;} ?>

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


لینک به پست

کد single که گذاشتید موردی نداره الان اگر قصد دارید مثلا اگر مقدار namefs خالی بود به یک لینک دیگر نمایش داده شود در قسمت else به قسمت مورد نظر لینک دهید.

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


لینک به پست

کد single که گذاشتید موردی نداره الان اگر قصد دارید مثلا اگر مقدار namefs خالی بود به یک لینک دیگر نمایش داده شود در قسمت else به قسمت مورد نظر لینک دهید.

یعنی به چه صورت؟!

مثلا من الان میخوام این لینک در صورت خالی بودن به # لینک بشه چیکار باید بکنم؟!


<?php if( $my_meta = get_post_meta($post->ID,'_my_meta',TRUE)){echo $my_meta['downloadfilm480'];} else{ if(isset($mid_var) && !empty($mid_var)) ;} ?>

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


لینک به پست

یعنی به چه صورت؟!

مثلا من الان میخوام این لینک در صورت خالی بودن به # لینک بشه چیکار باید بکنم؟!


<?php if( $my_meta = get_post_meta($post->ID,'_my_meta',TRUE)){echo $my_meta['downloadfilm480'];} else{ if(isset($mid_var) && !empty($mid_var)) ;} ?>

الان کد کامل می باشد ؟(باید بین


<a href=""></a>

باشد!

کد را کامل قرار بدید .

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


لینک به پست

الان کد کامل می باشد ؟(باید بین


<a href=""></a>

باشد!

کد را کامل قرار بدید .

بفرما :


<a href="<?php if( $my_meta = get_post_meta($post->ID,'_my_meta',TRUE)){echo $my_meta['downloadfilm480'];} else{ if(isset($mid_var) && !empty($mid_var)) ;} ?>" class="tbutton medium"><span>لینک مستقیم 480</span></a>

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


لینک به پست

جایگزین کنید :


<a href="<?php if( $my_meta = get_post_meta($post->ID,'_my_meta',TRUE)){echo $my_meta['downloadfilm480'];} else{ echo '#';} ?>" class="tbutton medium"><span>لینک مستقیم 480</span></a>

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


لینک به پست

جایگزین کنید :


<a href="<?php if( $my_meta = get_post_meta($post->ID,'_my_meta',TRUE)){echo $my_meta['downloadfilm480'];} else{ echo '#';} ?>" class="tbutton medium"><span>لینک مستقیم 480</span></a>

متاسفانه هیچ فرقی نکرد! :(

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


لینک به پست

تست شد مشکلی نبود.

اگر مقدار نداده باشید به فیلد مورد نظر به آخر آدرس پست یک # اضافه میشه

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


لینک به پست

تست شد مشکلی نبود.

اگر مقدار نداده باشید به فیلد مورد نظر به آخر آدرس پست یک # اضافه میشه

الان من کد رو گذاشتم،هیچ تغییری نسبت به کد قبلی ایجاد نشده متاسفانه!

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


لینک به پست

به این صورت :


<?php if( $my_meta = get_post_meta($post->ID,'_my_meta',TRUE)) { ?>
<a href="<?php echo $my_meta['downloadfilm480']; ?>" class="tbutton medium"><span>لینک مستقیم 480</span></a><?php } ?>

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


لینک به پست

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

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

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

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


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

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

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


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