رفتن به مطلب

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


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

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

v299_sdsdsdsd.gif

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

لینک به ارسال

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


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

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

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

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

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

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

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

به هر حال:

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

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


<?php wp_dropdown_categories(); ?>

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

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

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

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

ممنون

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

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

این کد:


<?php wp_dropdown_categories(); ?>

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

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

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

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

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

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

لینک به ارسال

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


<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>

لینک به ارسال

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

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

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

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

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

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

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

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

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

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

لینک به ارسال

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


<?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 دقیقا چه اتفاقی بیافته؟ یعنی به کجا هدایت بشیم و یا چه چیزی نمایش داده بشه؟

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

لینک به ارسال

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

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

لینک به ارسال

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


<?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
لینک به ارسال

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

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

لینک به ارسال

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

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

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

لینک به ارسال

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

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

لینک به ارسال

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

لینک به ارسال

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

به هر حال تا اینجا شما میخواین فرمی تهیه کنید که درون سلکت این فرم، عناوین مطالب دسته 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 } ?>

لینک به ارسال

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

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

ممنون

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

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

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

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

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

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

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

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

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

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