رفتن به مطلب

اتصال اطلاعات به عناوین در فرم بازشو


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

من میخوام یه فرم مشابه فرم زیر درست کنم.فقط نمیدونم اطلاعات مربوط به هر نوشته که جلوی "سرویس" انتخاب میشه چطور بهش وصل کنم که کاربر بعد از زدن دکمه نمایش اطلاعات مورد انتخابی براش در زیر فرم نمایش داده شه.

v299_sdsdsdsd.gif

محتوای داخل فرم سرویس به صورت دستی ولرد میشه و مرتبط با دسته یا نوشته خاصی نیست.

لینک به ارسال

مثلاً برای نمایش عناوین مطالب:


سرویس : <SELECT class="select" name="post_title">
<OPTION class="option" value="<?php the_title(); ?>"><?php the_title(); ?></OPTION>
</SELECT>

البته این ها باید درون حلقه کوئری قرار بگیرند

ویرایش شده توسط isk
  • امتیاز 3
لینک به ارسال

محتویات مطالب یک عنوان که از سرویس انتخاب میشه چطور زیرش نمایش داده میشه؟

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

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

همین جوری داریم جلو میریم همه چی داره تغییر می کنه

به هر حال:

اگر سرویس ها همون دسته ها هستند پس:

خب در اینصورت باید در value مقدار زیر را قرار بدید:


<?php wp_dropdown_categories(); ?>

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

بین فرم و کوئری باید مقدار خروجی فرم رو با یه متغیر به داخل کوئری ارسال کنید تا کوئری بفهمه که فهرست مطالب کدوم دسته رو باید نمایش بده

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

ویرایش شده توسط isk
  • امتیاز 2
لینک به ارسال

ممنون

اگر سرویس ها شامل بعضی پست ها باشه چی؟

یعنی در منوی دراپ داون من 10 تا پست دارم که میخوام عنوان پست ها توش قرار بگیره.

این کد:


<?php wp_dropdown_categories(); ?>

لیستی از دسته ها رو نمایش میده ولی من میخوام لیستی از پستهای دلخواه رو توش قرار بدم.

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

لیست تایتل پست ها؟!! : پست 2

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

فرمول کلی هم اینه:

بین فرم و کوئری باید مقدار خروجی فرم رو با یه متغیر به داخل کوئری ارسال کنید تا کوئری بفهمه

  • امتیاز 1
لینک به ارسال

یه همچین چیزی میشه:


<SELECT class="select" name="post_title">
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<OPTION class="option" value="<?php the_title(); ?>"><?php the_title(); ?></OPTION>
<?php endwhile; endif; ?>
</SELECT>

  • امتیاز 1
لینک به ارسال

isk عزیز من متوجه منظورتون هستم فقط تو کدش مشکل دارم و the_title رو هم فراخوانی میکنم ولی هیچ پستی نمایش داده نمیشه

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

هرچی فکر میکنم نمیدونم مشکلش کجاست چون توی ایندکسم رو که دیدم با همین کوئری پست ها نمایش داده شده.

---------------------------------------------

فکر کنم فهمیدم مشکل چیه که بجای عناوبن پستها عنوان برگه ای که توشم نشون میده ولی نمیدونم چجوری حلش کنم.

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

چجوری این مشکل رو حل کنم؟

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

کد ها رو کجا استفاده می کنید؟

مطمئنن اگه داخل یه حلقه دیگه استفاده بشه فقط برگه ای که در اون هستید رو نشون میده

  • امتیاز 1
لینک به ارسال

من از طریق ژنراتور کوئری ساز یه کد ساختم که پست های یک دسته رو تویه فرم دراپ داون میاره. :


<?php
$custom_query = new WP_Query(array(
'post_status' =>'published',
'post_type' =>'post',
'order' =>'descending',
'orderby' =>'ID',
'cat' =>'3841',
'posts_per_page' =>'5',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
?>
<ul>
<SELECT class="select" name="post_title">
<?php if($custom_query->have_posts()) :
while($custom_query->have_posts()) : $custom_query->the_post();?>
<OPTION class="option" value="<?php the_title(); ?>"><?php the_title(); ?></OPTION>

</li>
<?php endwhile;endif;?>
</SELECT>
</ul>
<?php wp_reset_query(); ?>

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

لینک به ارسال

اول اینکه در کد پست 10 نیازی به ul و li و /ul و /li نیست و حذفشون کنید

دوم اینکه اینی که الان هست عناوین پست های دسته 3841 رو در سلکت میاره - خب حالا میخواین بعد از فشردن کلید submit دقیقا چه اتفاقی بیافته؟ یعنی به کجا هدایت بشیم و یا چه چیزی نمایش داده بشه؟

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

  • امتیاز 1
لینک به ارسال

بله درسته اونارو حذف کردم

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

لینک به ارسال

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


<?php
$custom_query = new WP_Query(array(
'post_status' =>'published',
'post_type' =>'post',
'order' =>'descending',
'orderby' =>'ID',
'cat' =>'3841',
'posts_per_page' =>'5',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
?>
<span>بانک:</span>
<form>
<SELECT class="select" name="post_title">
<?php if($custom_query->have_posts()) :
while($custom_query->have_posts()) : $custom_query->the_post();?>
<OPTION class="option" value="<?php the_title(); ?>"><?php the_title(); ?></OPTION>
<input id="et_search_submit" type="submit" value="نمایش" dir="rtl" lang="fa" style="font-size:11px; font-family:Tahoma;"/>
</form>
<?php endwhile;endif;?>
</SELECT>
<?php wp_reset_query(); ?>

ولی مشکلی هست وقتی رو دکمه ارسال کلیک میکنم به صفحه پست منتقل نمیشه.

لینک به ارسال

تازه رسیدیم اول خط - مسئله این شده که شما دسته و یا دسته هایی رو معین میکنید - تایتل دسته ها در سلکت فرم ظاهر میشن - با سامبیت به پست مورد نظر هدایت میشن

این دمو رو ببینید:


http://test-line.cloudsite.ir/%D8%AC%D8%B3%D8%AA%D8%AC%D9%88-%D8%A8%D8%B1-%D8%B1%D9%88%DB%8C-%D8%B9%D9%86%D8%A7%D9%88%DB%8C%D9%86/

در ضمن فرمی که در کد پست 13 آوردید هیچ اکشنی نداره و نباید هم هیچ عملی انجام بده.

ویرایش شده توسط isk
  • امتیاز 1
لینک به ارسال

اکشنی که باید برای این نوع فرم تعریف کنم به چه صورت میشه؟

این لینکی که دادید باز نمیشه.

لینک به ارسال

لینکی که دادین رو دیدم. این در واقع یه فیلد برای سرچ هست. که اکشنی براش تعریف نشده. من کدهاش رو که دیدم اکشنی نداشت.

ولی من میخوام با زدن دکمه نمایش وارد پستی که در قسمت منوی drop down انتخاب شده بشم. چنتا از توابع رو امتحان کردم و جای مقدار اکشن قرار دادم ولی مشکل حل نشد.

میشه راهنمایی کنید مقدار اکشن باید چی قرار بگیره تا به سمت صفحه نمایش پست مذکور هدایت بشه؟

لینک به ارسال

خیلی عذر میخوام شما چطوری می تونید کدهای php رو ببینید؟!!!!

در مورد فیلد هم در اون دمو فیلد input بود که میشه به سلکت تبدیلش کرد

  • امتیاز 1
لینک به ارسال

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

لینک به ارسال

بله می دونستم چیه - حتی جداول فوتبالی رو هم!

به هر حال تا اینجا شما میخواین فرمی تهیه کنید که درون سلکت این فرم، عناوین مطالب دسته 3481 قرار بگیره و یوزر هر عنوان رو که انتخاب کرد و submit رو کلیک کرد به صفحه اون پست هدایت بشه. اگر بله:


<?php
$custom_query = new WP_Query(array(
'post_status' =>'published',
'post_type' =>'post',
'order' =>'descending',
'orderby' =>'ID',
'cat' =>'3481',
'posts_per_page' =>'50',
'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1
));
?>
<form method="post">
<SELECT class="select" name="post_title">
<?php if($custom_query->have_posts()) : while($custom_query->have_posts()) : $custom_query->the_post();?>
<OPTION class="option" value="<?php the_title(); ?>"><?php the_title(); ?></OPTION>
<?php endwhile;endif;?>
</select>
<button type="submit" >ارسال</button>
</form>
<?php wp_reset_query(); ?>


<?php $keyword = $_POST['post_title']; ?>
<?php $result = mysql_query("SELECT * FROM wp_posts WHERE post_title = '$keyword' and post_status = 'publish' and post_type = 'post' ORDER BY post_title ASC"); ?>
<?php while($row = mysql_fetch_array($result)) { ?>
<?php header("Location: $row[post_name]"); ?>
<?php } ?>

  • امتیاز 1
لینک به ارسال

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

و با کدی که لطف کردین دادین درست شد.

ممنون

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

لطفا برای ارسال دیدگاه وارد شوید

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



ورود به حساب کاربری
×
×
  • اضافه کردن...