رفتن به مطلب

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


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

سلام این زمینه دلخواه منه البته جستجو هم کردم اما نتیجهء مطلوبی نگرفتم


<?php
$features = get_post_meta($post->ID, 'features', true);
$preview = get_post_meta($post->ID, 'preview', true);
$size = get_post_meta($post->ID, 'size', true);
$download = get_post_meta($post->ID, 'download', true);
?>

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


<?php if ($features!="") : ?>
<div class="tab">
<img class="zamineh-pic" src="<?php bloginfo('template_directory'); ?>/img/Modify.png" alt="-" />
<h4>امکانات پوسته</h4>
<ul>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<ul>
</div>
<?php endif; ?>

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


<?php if ($features!="") : ?>
<div class="tab">
<img class="zamineh-pic" src="<?php bloginfo('template_directory'); ?>/img/Modify.png" alt="-" />
<h4>امکانات پوسته</h4>
<ul>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<ul>
</div>
<?php endif; ?>

راهی هست برای تکرار یا اینکه مجبورم کار رو سخت کنم و برای هر خط زمینه بنویسم

ممنون

ویرایش شده توسط amir khalaji mehr
لینک به ارسال

مرتضی جان ممنون از مهرت من تا آخرین نوشته اون تاپیک رو دنبال کردم اون کاربر هم متوجه نشده بود و برای عملی کردن اینکار یه زمینه دیگه رو هم اضافه کرده بود اما چون تعداد مقدار های من برای هر زمینه ممکنه زیاد باشه اصلا" منطقی و قابل قبول نیست که برای هر مقدار که مربوط به یه قسمت میشه زمینه تعریف کنم حقیقتش برای بار اول هست که به زمینه دلخواه نیاز پیدا کردم و تجربه ای ندارم ^_^ چون حداکثر تعداد مقدار رو من 10 مقدار در نظر گرفتم اینکه این ده مقدار رو چطور با مثال شما تعریف کنم برام دشوار هست ممنون میشم لطف کنی و کمکم کنی و برای مثال زیر حداقل دو یا سه تا مقدار رو تعریف کنی تا متوجه بشم

ممنون {گل}


<?php if ($features!="") : ?>
<div class="tab">
<img class="zamineh-pic" src="<?php bloginfo('template_directory'); ?>/img/Modify.png" alt="-" />
<h4>امکانات پوسته</h4>
<ul>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<ul>
</div>
<?php endif; ?>

و نکته مهم اینکه مرتضی جان هر مقدار باید بین تگ زیر قرار بگیره


<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> خروجی زمینه دلخواه</li>

ممنون

ویرایش شده توسط amir khalaji mehr
لینک به ارسال

<?php if ($features!="") : ?>
<div class="tab">
<img class="zamineh-pic" src="<?php bloginfo('template_directory'); ?>/img/Modify.png" alt="-" />
<h4>امکانات پوسته</h4>
<ul>

<?php
$features = get_post_meta($post->ID, "features", true);

$featurez = explode("~", $features);
foreach ($featurez as $feature) {
$link = explode("|", $feature);
echo "<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /><a href='". $feature[0] ."'>". $feature[1] ."</a></li>";
}
?>

<ul>
</div>
<?php endif; ?>

نحوه استفاده :

برای وارد کردن اول اسم لینک مثلا "پارت اول" و بعد هم آدرس لینک رو وارد کنید. این شکل:

download-link1|part1~download-link2|part2

لینک به ارسال

مرتضی جان تو خط های 10 تا 12 تفاوت اسم برای چی هست مثلا" برای زمینه های دیگه چی کار باید کرد برای مقایرت نام

feature

featurez

الان شکر خدا هاستینگ به مشکل خورده نمیتونم تست کنم یه سوال دارم مثلا" وقتی کد کامل شد در حین پست دادن این مقدار رو من طبق نمونه شما :

download-link1|part1~download-link2|part2

پر کردم در صورتی که حداکثر رو روی ده تا مقدار گذاشتیم الان اگه تو همین زمینه دوباره مقدار وارد کنم مثل زیر

download-link2|part2~download-link3|part3

چجوری به نمایش در میاد

لینک به ارسال

در خط 8 کد بالا زمینه به نام feature در حال فراخوانی هست و بقیه اسامی متغییرها هست.

برای وارد کردن شما میتونید تعداد نامحدودی وارد کنید مثلا:

http://site.com/1.rar|Part1~
http://site.com/2.rar|Part2~
http://site.com/3.rar|Part3~
http://site.com/4.rar|Part4~
http://site.com/5.rar|Part5~
http://site.com/6.rar|Part6~
http://site.com/7.rar|Part7~
http://site.com/8.rar|Part8~
http://site.com/9.rar|Part9~
http://site.com/10.rar|Part10

لینک به ارسال

مثلا" برای زمینه download متغیرها رو مثال میزنید الان دانلود نام اصلی زمینه دلخواه هست برای متغیر ها چی ؟

وقتی کد رو تست میکنم ارور میده


echo "<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /><a href='". $feature[0] ."'>". $feature[1] ."</a></li>";


Parse error: syntax error, unexpected '?'

لینک به ارسال

فراخوانی زمینه فقط عوض میشه و با متغییر کاری ندارید:

$features = get_post_meta($post->ID, "download", true);

خطا هم بخاطر اشتباه در کد شماست که در echo نباید تگ php بزارید:

echo "<li><img src='".get_bloginfo("template_directory").">/img/bullet.gif' alt="-" /><a href='". $feature[0] ."'>". $feature[1] ."</a></li>";

لینک به ارسال

متغیرها رو متوجه شدم اما برای تست پست ارسال کردم زمینه features رو هم انتخاب کردم مقدار رو هم برای تست

download-link1|part1~download-link2|part2

قرار دادم اما چیزی به نمایش در نیومد مقدار زیر رو هم تست کردم مجدد چیزی برای نمایش نبود


http://site.com/1.rar|Part1~

لینک به ارسال

کد رو دوباره از اول درست کردم. تست هم کردم کار میکنه:

<?php
$features = get_post_meta($post->ID, "download", true);
if($features!="") : ?>
<div class="tab">
<img class="zamineh-pic" src="<?php bloginfo('template_directory'); ?>/img/Modify.png" alt="-" />
<h4>امکانات پوسته</h4>
<ul>

<?php


;

$featurez = explode("~", $features);

$out = '';
foreach ($featurez as $feature) {
$linkz = explode("|", $feature);
$src = get_bloginfo('template_directory');
$out .= '<li><img src="'. $src .'/img/bullet.gif" alt="" /><a href="'. $linkz[0] .'">'. $linkz[1] ."</li>\n";
}

echo $out;
?>

<ul>
</div>
<?php endif; ?>

لینک به ارسال

مرتضی جان ممنون مثل ساعت کار میکنه :)

اما همونطور که اول گفتم مهم ترین چیز اینه که بین برچسب قرار بگیره من برای زمینه دلخواه با جی کوئری یه باکس درست کردم که با کلیک روی عنوان هر تب مقدار های وارد شده تو اون زمینه به نمایش در میاد الان اینجوری شده پشت سرهم ظاهره خوبی نداره :

http://site.com/1.rar|Part1~ http://site.com/2.rar|Part2~ http://site.com/3.rar|Part3~ http://site.com/4.rar|Part4~ http://site.com/5.rar|Part5~ http://site.com/6.rar|Part6~ http://site.com/7.rar|Part7~ http://site.com/8.rar|Part8~ http://site.com/9.rar|Part9~

در صورتی که باید اینجوری بشه :


<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> part 1</li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> part 2</li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> part 3</li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> part 4</li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> part 5</li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> part 6</li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> part 7</li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> part 8</li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> part 9</li>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> part 10</li>

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

یه دنیا ممنون {گل}

لینک به ارسال

ول کن نیستم مثل اینکه :mellow:

یه مقدار میشه نمونه بذاری اینجا من هر جوری مقدار میدم فقط آدرس رو میاره لینکش نمیکنه فقط دیگه همین دو تا مشکل مونده یکی پست بالا یکی هم این لینک نشدن

ممنون :wub:

لینک به ارسال

طبق آموزش قبلی این کد رو تست کنید:


<?php
$features = get_post_meta($post->ID, "download", true);
if($features!="") : ?>
<div class="tab">
<img class="zamineh-pic" src="<?php bloginfo('template_directory'); ?>/img/Modify.png" alt="-" />
<h4>امکانات پوسته</h4>
<ul>
<?php

;
$featurez = explode("~", $features);

$out = '';
foreach ($featurez as $feature) {
$linkz = explode("|", $feature);
$src = get_bloginfo('template_directory');
$out .= '<li><img src="'. $src .'/img/bullet.gif" alt="" /><a href="'. $linkz[0] .'">'. $linkz[1] ."</a></li>\n";
}

echo $out;
?>
<ul>
</div>
<?php endif; ?>

لینک به ارسال

پارسا جان ممنون از مساعدتت </a> تاثیری نداشت من مشکلی با کد ندارم مقدار رو میاره اما نه آدرس رو لینک میکنه و نه به ترتیب زیر هم میاد تصویر زیر رو نگاه کنید من میخوام کنار هر مقدار آیکون هم بیاد نه اینکه پشت سر هم گذاشته

zm39j42z9p5ei24zjpje.png

به هر حال من هر جوری کد رو تست میکنم جواب نمیده ممنون میشم کمکم کنید من فایل اصلی رو میذارم زمینه هایی که خودم اول ایجاد کردم یعنی هیچ ویرایشی نشده


<?php $features = get_post_meta($post->ID, 'features', true);
$preview = get_post_meta($post->ID, 'preview', true);
$size = get_post_meta($post->ID, 'size', true);
$download = get_post_meta($post->ID, 'download', true);
?>
<div id="zamineh">
<ul class="tabNav">
<li class="current"><a href="/?tab=1">نویسنده</a></li>
<?php if ($features!="") : ?><li><a href="/?tab=2">امکانات</a></li><?php endif; ?>
<?php if ($preview!="") : ?><li><a href="/?tab=3">پیش نمایش</a></li><?php endif; ?>
<?php if ($size!="") : ?><li><a href="/?tab=4">حجم</a></li><?php endif; ?>
<?php if ($download!="") : ?><li><a href="/?tab=5">دریافت</a></li><?php endif; ?>
</ul>
<div class="tabzamineh">
<div class="tab current">
<?php echo get_avatar( get_the_author_email(), '75'); ?>
<h4>نویسنده <?php the_author_link(); ?>              تعداد نوشته ها : <?php the_author_posts(); ?></h4>
<p><?php the_author_description(”); ?></p>
</div>
<?php if ($features!="") : ?>
<div class="tab">
<img class="zamineh-pic" src="<?php bloginfo('template_directory'); ?>/img/Modify.png" alt="-" />
<h4>امکانات پوسته</h4>
<ul>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $features; ?></li>
<ul>
</div>
<?php endif; ?>
<?php if ($preview!="") : ?>
<div class="tab">
<img class="zamineh-pic" src="<?php bloginfo('template_directory'); ?>/img/Search.png" alt="-" />
<h4>نمایش نمونه بصورت کامل</h4>
<ul>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <a href="<?php echo $preview; ?>">نمایش نمونه</a></li>
<ul>
</div>
<?php endif; ?>
<?php if ($size!="") : ?>
<div class="tab">
<img class="zamineh-pic" src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" />
<h4>حجم</h4>
<ul>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <?php echo $size; ?></li>
<ul>
</div>
<?php endif; ?>
<?php if ($download!="") : ?>
<div class="tab">
<img class="zamineh-pic" src="<?php bloginfo('template_directory'); ?>/img/download.png" alt="-" />
<h4>دریافت فایل های پیوست شده</h4>
<ul>
<li><img src="<?php bloginfo('template_directory'); ?>/img/bullet.gif" alt="-" /> <a href="<?php echo $download; ?>">دریافت کنید</a></li>
<ul>
</div>
<?php endif; ?>
</div>
</div>

تو زمینه ها نویسنده که همیشه ثابت هست و جزء زمینه هام نیست امکانات پوسته و حجم همیشه بصورت متن خارج میشن ولی تعدادشون زیاد هست پیش نمایش و دریافت هم خروجیشون بصورت لینک هست امیدوارم کمک کنید مثل تصویر در بیاد و گرنه مجبورم برای هر کدوم زمینه بذارم که خیلی غیر منطقی و اعصاب خورکن میشه ممنون

لینک به ارسال

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

اگر میتونید پوسته رو اینجا بزارید یا پ.خ کنید.

لینک به ارسال

مرتضی جان این یه قالب ساده اچ تی ام ال بود که به وردپرس تبدیلش کردم بدون کوچکترین مشکلی حجم پوسته رفته بالا به خاطر سفارشی کردنش کدوم فایل رو نیاز دارید تا بفرستم

تصمیم گرفتم از چند تا زمینه استفاده کنم اینجوری مانور بیشتری دارم مثلا" dl1-dl2-dl3-dl4-dl5 فقط یه سوال برام پیش اومده از نظر خودم مشکلی نمیبینم ولی دوست دارم نظر مهم شما رو هم بدونم اینجوری ربطی به حجم خروجی صفحه که نداره منظورم سرعت بارگذاری صفحه و چک کردن کدهای پی اچ پی و .... ؟

لینک به ارسال

بیشتر به سرور بستگی داره.

اگه بنظر شما از طرف سرور مشکلی پیش نمیاد این روش موردی نداره.

پروسس هم آنچنان بالا نمیره که بخواد روی لود صفحه تاثیر داشته باشه

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


<?php
$features = get_post_meta($post->ID, "download", true);
if($features!="") : ?>
<div class="tab">
<img class="zamineh-pic" src="<?php bloginfo('template_directory'); ?>/img/Modify.png" alt="-" />
<h4>امکانات پوسته</h4>
<ul>
<?php

;
$featurez = explode("~", $features);

$out = '';
foreach ($featurez as $feature) {
$linkz = explode("|", $feature);
$src = get_bloginfo('template_directory');
$out .= '<li><img src="'. $src .'/img/bullet.gif" alt="" /><a href="'. $linkz[0] .'">'. $linkz[1] ."</li>\n";
}

echo $out;
?>
<ul>
</div>
<?php endif; ?>

میخوام از این کد چندبار استفاده کنم آیا باید در اسم متغییرها تغییری ایجاد کنم؟

لینک به ارسال

میخوام از این کد چندبار استفاده کنم آیا باید در اسم متغییرها تغییری ایجاد کنم؟

بهتره تغییر دهید

اما تغییرم ندادید فکر نکنم مشکلی ایجاد کنه

چون دوباره مقدار میگیرن

لینک به ارسال

چون میخواید چندبار استفاده کنید باید همه متغییرها تغییر نام پیدا کنن.

لینک به ارسال

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


<?php
$features = get_post_meta($post->ID, "custom", true);
if($features!="") :?>
<?php
;
$featurez = explode("~", $features);

$out = '';
foreach ($featurez as $feature) {
$linkz = explode("|", $feature);
$out .= '<li class="dl"><a href="'. $linkz[0] .'">'. $linkz[1] ."</a></li>\n";
}

echo $out;
?>
<?php endif; ?>

لینک به ارسال

نمونه :

$features = get_post_meta($post->ID, "custom", true);

if($features!="") :
$featurez = explode("~", $features);
$out = '';
foreach ($featurez as $feature) {
$linkz = explode("|", $feature);
$out .= '<li class="dl"><a href="'. $linkz[0] .'">'. $linkz[1] ."</a></li>\n";
}
echo $out;
endif;

/***********/

$features_2 = get_post_meta($post->ID, "other", true);

if($features_2!="") :
$featurez_2 = explode("~", $features_2);
$out_2 = '';
foreach ($featurez_2 as $feature_2) {
$linkz_2 = explode("|", $feature_2);
$out_2 .= '<li class="dl"><a href="'. $linkz_2[0] .'">'. $linkz_2[1] ."</a></li>\n";
}
echo $out_2;
endif;

لینک به ارسال

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

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

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

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

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

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

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

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

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