رفتن به مطلب

ساخت قالب جستجو


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

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


<div id="et-search">
<div id="et-search-inner" class="clearfix">
<p id="et-search-title"><span>جست و جوی پیشرفته</span></p>
<form action="<?php bloginfo('url'); ?>" method="get" id="et_search_form">
<div id="et-search-left">
<p id="et-search-word"><input type="text" id="et-searchinput" name="s" value="" /></p>

<p id="et_choose_posts"><label><input type="checkbox" id="et-inc-posts" name="et-inc-posts"> در نوشته ها</label></p>
<p id="et_choose_pages"><label><input type="checkbox" id="et-inc-pages" name="et-inc-pages"> در برگه ها</label></p>
<p id="et_choose_date">
<select id="et-month-choice" name="et-month-choice">
<option value="no-choice">انتخاب ماه</option>
<?php
global $wpdb, $wp_locale;

$selected = '';
$query = "SELECT YEAR(post_date) AS `year`, MONTH(post_date) AS `month`, count(ID) as posts FROM $wpdb->posts GROUP BY YEAR(post_date), MONTH(post_date) ORDER BY post_date DESC";

$arcresults = $wpdb->get_results($query);

foreach ( (array) $arcresults as $arcresult ) {
if ( isset($_POST['et-month-choice']) && ( $_POST['et-month-choice'] == ($arcresult->year . $arcresult->month) ) ) {
$selected = ' selected="selected"';
}
echo "<option value='{$arcresult->year}{$arcresult->month}'{$selected}>{$wp_locale->get_month($arcresult->month)}" . ", {$arcresult->year}</option>";
if ( $selected <> '' ) $selected = '';
}
?>
</select>
</p>

<select name="jarchive-dropdown" > <option value="">شمسی ماه</option>
<?php wp_get_jarchives("type=monthly&format=option");?></select>
<select name="jarchive-dropdown" > <option value="">شمسی سال</option>
<?php wp_get_jarchives("type=yearly&format=option");?></select>
<p id="et_choose_cat"><?php wp_dropdown_categories('show_option_all=انتخاب دسته&show_count=1&hierarchical=1&id=et-cat&name=et-cat'); ?></p>
</div> <!-- #et-search-left -->
<div id="et-search-right">
<input type="hidden" name="et_searchform_submit" value="et_search_proccess" />
<input class="et_search_submit" type="submit" value="بگرد" id="et_search_submit" />
</div> <!-- #et-search-right -->
</form>
</div> <!-- end #et-search-inner -->
</div>

کدی که برای ماه و سال شمسی قرار دادم :



<select name="jarchive-dropdown" > <option value="">شمسی ماه</option>
<?php wp_get_jarchives("type=monthly&format=option");?></select>
<select name="jarchive-dropdown" > <option value="">شمسی سال</option>
<?php wp_get_jarchives("type=yearly&format=option");?></select>

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

سلام

توی دیتابیس هم ماه ها بصورت میلادی ذخیره میشه.

شما فقط کافیه موقع نمایش اون رو برگردان به شمسی کنید. با تابع jdate

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

مرتضی جان یه راهنمایی کم ، من الان کدوم تابع رو توی jdate قرار بدم که فارسی بهم بده ؟

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

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

فکر کنم فیلد منظورتون هست درسته؟

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

فیلد های جستجو فارسی باشه ، یه ستون دراپ دون برای ماه ، یکی برای سال یکی هم برای روز ، که شمسی باشن ، دیروز هم با تابع jdate ور رفتم ، ولی چیزی نتونستم انجام بدم :D

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

خوب پس این متد رو میشه انجام داد.

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

بعد باید سال و ماه و روز رو به میلادی برگردان کنید. با کمک تابع jalali_to_gregorian که وردپرس عددی میگیره.

http://jdf.scr.ir/rahnama/?t=jalali_to_gregorian

بعد اینها رو با کمک فرم به صفحه بعد ببرید و در کوئری زیر قرار بدید:

$date_query = new WP_Query( 'year=' . $_GET['year'] . '&monthnum=' . $_GET['month'] . '&day=' . $_GET['day'] );

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

http://www.developer1.ir/PHP/Form.aspx

این رو پیدا کردم ، برم روش کار کنم ، مرسی ، حالا اگه باز مشکلی پیش اومد می یام :)

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

سلام . من با فرم زیر ، برای جستجو انتخاب دسته بندی ها رو گزاشتم ، ولی یه سوال ، با چه روشی اینا رو برای کوری آماده کنم ؟ منظورم اینه که مثلا کاربر چند دسته بندی رو انتخاب که می کنه ، بدون مشکل وارد کوری بشوند و سرچ رو انجام بده ؟


<form>

<select size="12" name="”select_mulitple[]“" multiple="”multiple”" style="height: 402px;width: 118px;font-family: SNAA;font-size: 15px;">
<option value="”cat1″">صفحه اصلی</option>
<option value="”cat2″">- پیشنهاد سردبیر</option>
<option value="”cat3″">- اخبار ویژه</option>
<option value="”cat4″">- یادداشت</option>
<option value="”cat5″">- گفتگو</option>
<option value="”cat6″">بوشهر</option>
<option value="”cat7″">- اخبار برگزیده</option>
<option value="”cat8″">- آخرین اخبار</option>
<option value="”cat9″">- اخبار ویژه</option>
<option value="”cat10″">- یاداشت</option>
<option value="”cat10″">- گفتگو</option>
<option value="”cat12″">فارس</option>
<option value="”cat13″">- اخبار برگزیده</option>
<option value="”cat14″">- آخرین اخبار</option>
<option value="”cat15″">- اخبار ویژه</option>
<option value="”cat16″">- یاداشت</option>
<option value="”cat17″">- گفتگو</option>
</select>

</form>

لینک به ارسال

خوب همه انتخاب ها رو بصورت آرایه میتونید در کوئری ست کنید. در حالت معمول هم همین امکان هست.

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

شما از wpdb استفاده کردید

استفاده از این روش نیازمند دانش sql هست

پیشنهادم اینه با wp_query کار کنید.

  • امتیاز 3
لینک به ارسال
  • 6 ماه بعد...

wp_query آموزش فارسی لینک میدین

تشکر

جستجو کنید

احتمالا نیست

http://codex.wordpress.org/Class_Reference/WP_Query

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

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

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



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