رفتن به مطلب

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


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

با سلام

من دنبال کدی میگردم که با یک بار استفاده کردن از آن بتوانم چندین بار از آن استفاده کنم و همچنین بتوانم نام آن را خودم مشخص کنم

به اینصورت میخواهم باشد اما در صورتی که بتوانم نام لینک را هم خودم قرار دهم و بصورت پارت اول ثابت نباشد ( کد زیر )


<?php
$links = get_post_custom();
$links = $links['dl'];
if(isset($links)) {
foreach ( $links as $key => $value ) {
?>
<a href="<?php echo $value; ?>"> دانلود پارت <?php echo $key; ?> </a> <br/>
<?php } } ?>

این کد را ویرایش کردم و در هر بار فقط می توانم یکبار از آن استفاده کنم با نام انتخابی خودم

لطفا شما این کد را ویرایش کنید »


<?php $mid_var = get_post_meta($post->ID, '',true);
if(isset($mid_var) && !empty($mid_var)) : ?>
<li class="download"><a href="<?php echo $mid_var; ?>"><font style="color:#363535;font-weight:bold;font-size:13px">
<?php $author = get_post_meta($post->ID, 'name1', $single = true); ?>
<?php echo $author; ?>
</font></a></li> <?php endif; ?>

لینک به ارسال

درود.

مطالعه بفرمایید :


http://forum.wp-parsi.com/topic/1586-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1-%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D8%AF%D9%84%D8%AE%D9%88%D8%A7%D9%87-%D8%A8%D9%87-%D8%AF%D9%81%D8%B9%D8%A7%D8%AA-%D8%A8%DB%8C%D8%B4%D8%AA%D8%B1/#entry14052

کلا نیاز دارید جلوی هر لینک اسم لینکم بگذارید ؟(تعداد لینک ها زیاد هست ؟)

لینک به ارسال

این موضوع را قبلا مطالعه کرده بودم

من میخواهم نام هم خودم مشخص کنم در این مطلب نام بصورت پیشفرض می باشد

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


<?php $mid_var = get_post_meta($post->ID, '',true);
if(isset($mid_var) && !empty($mid_var)) : ?>
<li class="download"><a href="<?php echo $mid_var; ?>"><font style="color:#363535;font-weight:bold;font-size:13px">
<?php $author = get_post_meta($post->ID, 'name1', $single = true); ?>
<?php echo $author; ?>
</font></a></li> <?php endif; ?>

لینک به ارسال

اگر می خوایید چندین نام به کار ببرید به صورت زیر تست کنید :


<?php $mid_var = get_post_meta($post->ID, '',true);
if(isset($mid_var) && !empty($mid_var)) : ?>
<li class="download"><a href="<?php echo $mid_var; ?>"><font style="color:#363535;font-weight:bold;font-size:13px">
<?php $author = get_post_meta($post->ID, 'name1', $single = false); ?>
<?php foreach($author as $name) {
echo $name; } ?>
</font></a></li> <?php endif; ?>

داخل زمینه دلخواه :

name1 > مقدار(نام شما)

اسم بعدی مجددا:

name1 >مقدار(نام شما)

لینک به ارسال

ممنون از شما تقریبا درست شد

فقط نوشته ها پشت سر هم میان من میخوام در زیر هم قرار بگیرن اما با فاصله مشخص چکار باید بکنم ؟

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

یه مشکل دیگه که داره این کد این هست که : وقتی آدرس لینک را برای نام اولی قرار میدی این لینک به تمام نام ها داده میشود !

لینک به ارسال

برای اینکه هر یک در یک خط باشند جایگزین کنید :


<?php $mid_var = get_post_meta($post->ID, '',true);
if(isset($mid_var) && !empty($mid_var)) : ?>
<li class="download"><a href="<?php echo $mid_var; ?>"><font style="color:#363535;font-weight:bold;font-size:13px">
<?php $author = get_post_meta($post->ID, 'name1', $single = false); ?>
<?php foreach($author as $name) {
echo $name."<br/>"; } ?><
</font></a></li> <?php endif; ?>

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

الان نیاز دارید هر لینک یک نام داشته باشد ؟!

لینک به ارسال

بله

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


<?php $mid_var = get_post_meta($post->ID, 'link',true);
if(isset($mid_var) && !empty($mid_var)) : ?>
<li class="download"><a href="<?php echo $mid_var; ?>"><font style="color:#363535;font-weight:bold;font-size:13px">
<?php $author = get_post_meta($post->ID, 'name1', $single = false); ?>
<?php foreach($author as $name) {
echo $name."<br/>"; } ?>
</font></a></li> <?php endif; ?>

برای دانلود سریال می خواهم مثل این عکس

83976793303245344697.png

post-2848-0-94917900-1394477558_thumb.pn

لینک به ارسال

تست کنید :


<?php $mid_var = get_post_meta($post->ID, 'link',false);
$author = get_post_meta($post->ID, 'name1', $single = false);
$x=count($author);
echo $x;
if(isset($mid_var) && !empty($mid_var)) : ?>
<?php for($i=0;$i<count($author);$i++) { ?>
<li class="download"><a href="<?php echo $mid_var[$i]; ?>"><font style="color:#363535;font-weight:bold;font-size:13px">
<?php
echo $author[$i]."<br/>"; } ?>
</font></a></li> <?php endif; ?>

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

llink>لینک اول

name>نام اول

link>لینک دوم

name>نام دوم

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

یکم بهینه تر هم میشه نوشت اما یکم عجله هم دارید :rolleyes: چیزی به ذهنم نرسید.

لینک به ارسال

ممنون از شما الان اکی هست

فقط در تصویر تعداد هر لینک را به عدد نشان می دهد که در اینجا من 2تا لینک بصورت تست درست کردم اما عدد 2 ذکر شده ! چگونه می تونم این عدد را پاکش کنم ؟ زیرا در حالت عادی بدون درج لینکدر قالب عدد 0

را نشان می دهد

مانند تصویر ضمیمه

و سوالی که دارم در تصاویر بالا مشاهده کردید که جلوی هر لینک مستقیم یک لینک کمکی هست چگونه می توانم برای هر لینک کمکی یک آی دی جداگانه تعریف کنم ؟

مثلا برای لینک اصلی با آی دی name و link تعریف بشه و در صورتی که لینک بخوام لینک کمکی اضافه کنم با یک آی دی دیگه مثل namekomaki , linkkomaki ب

تونم ایجاد کنم به ترتیب مثل کد بالا که ایجاد کردید اما متفاوت .

واقعا سپاسگزارم :wub:

post-2848-0-02937600-1394481360_thumb.pn

لینک به ارسال

کد را برای رفع نمایش تعداد جایگزین کنید :


<?php $mid_var = get_post_meta($post->ID, 'link',false);
$author = get_post_meta($post->ID, 'name1', $single = false);
if(isset($mid_var) && !empty($mid_var)) : ?>
<?php for($i=0;$i<count($author);$i++) { ?>
<li class="download"><a href="<?php echo $mid_var[$i]; ?>"><font style="color:#363535;font-weight:bold;font-size:13px">
<?php
echo $author[$i]."<br/>"; } ?>
</font></a></li> <?php endif; ?>

برای لینک کمکی اگر بخواید به صورت جدا تعریف کنید در زمینه دلخواه ابتدا یک زمینه دلخواه ایجاد کنید با نامی که عرض کردید و سپس فراخوانی کنید و در حلقه بزارید.

لینک به ارسال

واقعا ممنونم

آیا میشه یک نام دیگر ( مثلا نام آی دی name2 ) بدون درج لینک بروی این نام و فقط بصورت عنوان قرار بگیره در حلقه بالا آورد ؟ و اگرم درج نشه نشان داده نشه ؟

من برای قرار گرفتن هر لینک کمکی و لینک اصلی و به همراه عنوان هر بخش در تیبل آوردم آیا درست هست یا خیر ؟


<table>
<tr><td>
<?php
$author = get_post_meta($post->ID, 'name2', $single = false);
$mid_var = get_post_meta($post->ID, 'link',false);
$author = get_post_meta($post->ID, 'name', $single = false);
if(isset($mid_var) && !empty($mid_var)) : ?>
<?php for($i=0;$i<count($author);$i++) { ?>
<div class="dl222"><a href="<?php echo $mid_var[$i]; ?>">
<?php
echo $author[$i]."</div><hr/>"; } ?>
</a><?php endif; ?>
</td><td>
<?php
$author = get_post_meta($post->ID, 'name2', $single = false);
$mid_var = get_post_meta($post->ID, 'link',false);
$author = get_post_meta($post->ID, 'name', $single = false);
if(isset($mid_var) && !empty($mid_var)) : ?>
<?php for($i=0;$i<count($author);$i++) { ?>
<div class="dl222"><a href="<?php echo $mid_var[$i]; ?>">
<?php
echo $author[$i]."</div><hr/>"; } ?>
</a><?php endif; ?>
</td></tr>
</table>

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


.dl222 {
width:130px;
margin:7px 12px 7px 12px;
padding:2px 5px;
background-color:#ccc;
color:#777 !important;
text-shadow:1px 1px 0 #eaeaea;
text-align:center;
border-radius: 5px 5px 5px 5px;
-moz-border-radius: 5px 5px 5px 5px;
-webkit-border-radius: 5px 5px 5px 5px;
font-family:'tahoma';
font-size:12px;
text-decoration:none;

border:1px #000 solid;
}

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

متوجه کار آخری که می خواید انجام بدید نشدم.

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

لینک به ارسال

من ار کد بالا 2بار استفاده کردم برای اینکه یک کد برای لینک کمکی و کد دیگر برای لینک مستقیم می باشد

الان نیاز دارم در این کد یک کد اضافه کنم به نام توضیحات که هربار لازم شد توضیحی بالای هر لینک قرار بدم ، ممنون میشم این کار را انجام دهید .

یعنی یک نام و یک لینک + یک آی دی توضیحات بالای هر دستور فراخوانی بشه

لینک به ارسال

اگر نیاز دارید یک توضیح ایجاد کنید یک زمینه دلخواه بسازید و در کد فراخوانی کنید مثلا:


<table>
<tr><td>
<?php
$disc = get_post_meta($post->ID, 'disc', true);
$author = get_post_meta($post->ID, 'name2', $single = false);
$mid_var = get_post_meta($post->ID, 'link',false);
$author = get_post_meta($post->ID, 'name', $single = false);
if(isset($mid_var) && !empty($mid_var)) : ?>
<?php for($i=0;$i<count($author);$i++) { ?>
<div class="dl222"><a href="<?php echo $mid_var[$i]; ?>">
<?php
if(isset($disc)) {
echo $disc;}
echo $author[$i]."</div><hr/>"; } ?>
</a><?php endif; ?>
</td><td>
<?php
$author = get_post_meta($post->ID, 'name2', $single = false);
$mid_var = get_post_meta($post->ID, 'link',false);
$author = get_post_meta($post->ID, 'name', $single = false);
if(isset($mid_var) && !empty($mid_var)) : ?>
<?php for($i=0;$i<count($author);$i++) { ?>
<div class="dl222"><a href="<?php echo $mid_var[$i]; ?>">
<?php
echo $author[$i]."</div><hr/>"; } ?>
</a><?php endif; ?>
</td></tr>
</table>

لینک به ارسال

من میخواستم با آی دی name2 در اینجا گاهی اوقات توضیحاتی را ایجاد کنم و با آی دی name و link نام مورد نظر و لینک موزد نظر را به آی دی name بدم و

مشکل که با این کد دارم » وقتی با آی دی name2 میخواهم توضیحی بنویسم به تنهایی فراخوانی نمی شود مگر اینکه آی دی link را بدم تا در قالب ظاهر شود .

و مشکل دیگه » آی دی name موقعی که تعریف میشه این آی دی برای خانه name2 نیز یکی میشود یعنی هر دو یک مقدار را که تعریف کردم میگیرن

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

و موقع تعریف آی دی disc نام این آی دی به پیشت تمام نام های تعریف شده چسبانده می شود .

عکس ضمیمه را چک کنید

post-2848-0-03443800-1394737781_thumb.jp

post-2848-0-80220800-1394737785_thumb.jp

لینک به ارسال

ببینید کد ها دارای استایل نیستند و خود شما باید استایل مورد را پیاده کنید

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

لینک به ارسال

استاد من کد زیر را تا حدودی درست کردم


<?php
$disc = get_post_meta($post->ID, 'disc', true);
$mid_var = get_post_meta($post->ID, 'link',false);
$author = get_post_meta($post->ID, 'name', $single = false);
if(isset($mid_var) && !empty($mid_var)) : ?>
<?php if(isset($disc)) {echo $disc."<br />";}?>
<?php for($i=0;$i<count($author);$i++) { ?>
<div class="dl222"><a href="<?php echo $mid_var[$i]; ?>">
<?php echo $author[$i]."</div><hr/></li>"; } ?>
</a><?php endif; ?>

فقط نمی توانم از آی دی disc شما بصورت زنجیره ای استفاده کنم ممنون میشم همین کد را اصلاح کنید که بتونم از آی دی disk بصورت زنجیره ای استفاده کنم

و هر بار قبل از آی دی name بتوانم فراخوانی کنم و در صورت موجود نبودن فراخوانی نشود .

( استایل را بعدا تعیریف خواهم کرد )

لینک به ارسال

تست کنید :


<?php
$disc = get_post_meta($post->ID, 'disc', false);
$mid_var = get_post_meta($post->ID, 'link',false);
$author = get_post_meta($post->ID, 'name', $single = false);
if(isset($mid_var) && !empty($mid_var)) : ?>
<?php foreach($disc as $dis) { ?>
<?php if(isset($dis)) {echo $dis."<br />";}}?>
<?php for($i=0;$i<count($author);$i++) { ?>
<div class="dl222"><a href="<?php echo $mid_var[$i]; ?>">
<?php echo $author[$i]."</div><hr/></li>"; } ?>
</a><?php endif; ?>

لینک به ارسال

ممنون درست شد

اگر بخواهم بصورت زنجیره ای هربار که فراخوانی میشود آی دی دیسک بتواند بین دوی آی دی نام و لینک قرار گیرد ؟

لینک به ارسال

قرار دادم اما یا تمام کلمات بعد ار آی دی name و link قرار میگیرن یا قبل از اون

من میخواهم به این صورت قرار بگیره »

آی دی دیسک ( در صورتی که تعریف شود نشان دهد )

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

آی دی دیسک ( در صورتی که تعریف شود نشان دهد )

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

آی دی دیسک ( در صورتی که تعریف شود نشان دهد )

لینک به ارسال

تست کنید :


<?php
$disc = get_post_meta($post->ID, 'disc', false);
$mid_var = get_post_meta($post->ID, 'link',false);
$author = get_post_meta($post->ID, 'name', $single = false);
if(isset($mid_var) && !empty($mid_var)) : ?>
<?php for($i=0;$i<count($author);$i++) { ?>
<?php if(isset($disc)) {echo $disc[$i]."<br />";}?>
<div class="dl222"><a href="<?php echo $mid_var[$i]; ?>">
<?php echo $author[$i]."</div><hr/></li>"; } ?>
</a><?php endif; ?>

لینک به ارسال

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

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

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

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

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

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

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

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

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