Nemesis 1 ارسال شده در شهریور 92 گزارش بازنشر ارسال شده در شهریور 92 سلام دوستانسوالی برای من پیش اومدهفکر کنید من صفحه ای دارم با نام "صفحه اول - 12345" که منحصر به فرد هستوکاربر جستجو کنه "12345"حالا چطور میتونم1.جستجو رو محدود کنم به این که در فقط ( تایتل صفحه هام ) بگرده2.و به جای نمایش نتایج صفحه در پاپ آپ یا هرچیزی خودش باز بشه ممنون میشم اگه راهنماییم کنیدبا تشکر نقل قول لینک به ارسال
isk 4447 ارسال شده در شهریور 92 گزارش بازنشر ارسال شده در شهریور 92 (ویرایش شده) اصولاً جستجو در هسته وردپرس تعریف میشه پس دو راه دارید - یکی تغییر در هسته (wp-includes/query.php ) و دیگری اضافه کردن تابع زیر به فایل functions.phpfunction __search_terms_only_in_post_title( $search, &$wp_query ){global $wpdb;if ( empty( $search ) ) return $search;$q = $wp_query->query_vars;$n = ! empty( $q['exact'] ) ? '' : '%';$search =$searchand = '';foreach ( (array) $q['search_terms'] as $term ) { $term = esc_sql( like_escape( $term ) ); $search .= "{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')"; $searchand = ' AND ';}if ( ! empty( $search ) ) { $search = " AND ({$search}) "; if ( ! is_user_logged_in() ) $search .= " AND ($wpdb->posts.post_password = '') ";}return $search;}add_filter( 'posts_search', '__search_terms_only_in_post_title', 500, 2 ); ویرایش شده شهریور 92 توسط isk 2 نقل قول لینک به ارسال
Nemesis 1 ارسال شده در شهریور 92 مالک گزارش بازنشر ارسال شده در شهریور 92 ممنونم از پاسختونمن کمی گیچ شدم امکان توضیح بیشتر هست براتون؟ببینید بیام اصلان فراموش کنیم جستجو روفرض کنید من یک فیلد دارم که میخوام وقتی نام صفحه رو وارد کرد داخل فیلد مستقیم وارد اون صفحه بشهدرمورد این هم میتونید راهنماییم کنید ؟البته باز هم اینجا فکر کنم باید از موتور جستجو وردپرس استفاده کنم نقل قول لینک به ارسال
isk 4447 ارسال شده در شهریور 92 گزارش بازنشر ارسال شده در شهریور 92 میخواین جستجو به جای اینکه بر روی عنوان مطلب و متن مطلب باشه ، فقط بر روی عنوان باشه؟ اگر بله پس همون چیزیه که در پست 2 آمدهاما این چیزی که جدید گفتید فرق داره - برای اینکار کافیه یه فرم بسازید با متد post بعد یوزر کلمه ایی رو وارد کنه - مثلاً: حسنحالا اگر چندین مطلب وجود داشته باشه که عنوان اون ها دارای کلمه "حسن" باشه چی؟مگر اینکه در عنوان مطلب کلمات انحصاری قرار بدید - مثلاً اعداد رشته ایی مثل 1111 الی 9999در این صورت بعد از submit فرم میشه کوئری از دیتابیس گرفت با سلکت like بر روی فیلد post_title و نتیجه رو ریدایرکت کرد به روی:http://sitename.ltd/che-rooze-khoobi-2457 2 نقل قول لینک به ارسال
Nemesis 1 ارسال شده در شهریور 92 مالک گزارش بازنشر ارسال شده در شهریور 92 حق با شماست بنده نام هر صفحه ای که میسازم منحصر به فرد هستو مشکل سر نام ندارم امکانش هست تو ساخت کدی که بتونم با وارد کردن نام او صفحه از دیتابیس کوئری وردپرس کوئری بگیرم و ریدایرکت کنم کمک کنید من برنامه نویس کلاینت هستم در php ضعیفمباز هم متشکرم نقل قول لینک به ارسال
isk 4447 ارسال شده در شهریور 92 گزارش بازنشر ارسال شده در شهریور 92 الان پشت فرمونم - رسیدم خونه حتماً - البته اگر تا اون موقع دوستان انجام دادند که چه بهتر 1 نقل قول لینک به ارسال
isk 4447 ارسال شده در شهریور 92 گزارش بازنشر ارسال شده در شهریور 92 (ویرایش شده) تست کنید:<?php/*Template Name: ridir*/get_header(); ?><div id="container"><div id="content" role="main"><h1 class="page-title"><?php the_title(); ?></h1><form method="post" name="frm"><input value="" type="text" name="keyword" placeholder="کد صفحه را وارد کنید"/><button id="submit" class="submit" type="submit">انتخاب</button></form><?php $keyword = $_POST['keyword']; ?><?php new wpdb('DB_username','DB_password','DB_name','localhost'); ?><?php $result = mysql_query("SELECT * FROM wp_posts WHERE post_title like '%$keyword%' and post_status = 'publish' and post_type = 'post' ORDER BY post_title ASC"); ?><div><?php if ( $keyword != null ) { ?><?php while($row = mysql_fetch_array($result)) { ?><?php header("Location: $row[guid]"); ?><?php } ?><?php } else { ?><?php echo 'کد را وارد نمایید' ?><?php } ?></div><?php wp_reset_query(); ?></div><!-- #content --></div><!-- #container --><?php get_sidebar(); ?><?php get_footer(); ?>البته حتماً می دونید که استایل ها به عهده شماستدر ضمن من از فیلتر like در یک جا استفاده کردم که شما شاید نیاز داشته باشید به = تبدیلش کنیدهمچنین مقادیر DB_username و DB_password و DB_name رو هم باید تغییر بدیدمن تست کردم و جواب داد ویرایش شده شهریور 92 توسط isk 2 نقل قول لینک به ارسال
Nemesis 1 ارسال شده در شهریور 92 مالک گزارش بازنشر ارسال شده در شهریور 92 با تشکر فراوان از شما دوسته گلممن اینو امتحان کردن روی لوکال هاستمولی پاسخ نگرفتمالبته من یک برگه درست کردم و در حالن متن کد هارو جایگزین کردم فرم ساخته شدبعد برگه ای درست کردم با نام 1234 و تست کردم مسخصات دیتابیسم هم وارد کردم فکر میکنید مشکل من از کجاست ؟ نقل قول لینک به ارسال
isk 4447 ارسال شده در شهریور 92 گزارش بازنشر ارسال شده در شهریور 92 نه برگه ایی که میسازید هیچی نباید توش بنویسید. به این صورت عمل کنید:1- Notepad++ رو باز کنید - کدهای بالا رو درونش کپی کنید و مشخصات دیتابیس رو درونش تغییر بدید و با نام مثلاً hasan.php درون پوشه ی قالبتون ذخیرش کنید.2 - در پنل وردپرس وارد افزودن برگه جدید بشید و نام برگه جدید رو هر چه می خواهید قرار بدید. مثلاً "ورود به صفحات" . حالا قالب برگه رو به جای قالب پیشفرض ، قالب ridir انتخاب کنید و برگه رو منتشر کنید - تماماگر باز هم جواب نداد بگید تا نمونه آنلاین بدم 1 نقل قول لینک به ارسال
Nemesis 1 ارسال شده در شهریور 92 مالک گزارش بازنشر ارسال شده در شهریور 92 متاسفانه باز جواب نداد من فکر کنم مشکلم از دوتا جا میتونه باشه1.اتصال به دیتا بیس لوکال هاست که مشخصات رو username : rootPassword:Name : wpوارد کردم2. مشکل از تنظیمات وردپرس بنده برای نمایش برگه ها هست.بنده در حال بررسی هستم نقل قول لینک به ارسال
isk 4447 ارسال شده در شهریور 92 گزارش بازنشر ارسال شده در شهریور 92 شما دارید داخل وردپرس عمل می کنید - می تونید عبارت زیر رو از کد بالا حذف کنید:<?php new wpdb('DB_username','DB_password','DB_name','localhost'); ?> 2 نقل قول لینک به ارسال
Nemesis 1 ارسال شده در شهریور 92 مالک گزارش بازنشر ارسال شده در شهریور 92 (ویرایش شده) دوسته گلممن تمامی مراحل رو بررسی کردم متاسفانه جواب نگرفتمبعد از وارد کردن نام صفحه داخل کادر صفحه فقط رفرش میشه حتی اشتباه هم وارد میکنم همین اتفاق میوفتهنمیدونم چرا این اتفاق میوفته من متوجه جیزی شدم وقتی تایتل پست رو وارد میکنم اخطارWarning: Cannot modify header information - headers already sent by (output started at C:\Program Files\EasyPHP-DevServer-13.1VC9\data\localweb\projects\wordpress\wp-includes\general-template.php:1726) in C:\Program Files\EasyPHP-DevServer-13.1VC9\data\localweb\projects\wordpress\wp-content\themes\Radiokolah\pagesearch.php on line27 میگیرهمن چطور مینونم نام برگه ای یکتایی که ساختم رو وارد کنم و بعد باز بشه ؟برای مثال http://localhost/projects/wordpress/l-test/l-testنام برگه من هست اینچیزیه که میخوام بهش برسم ویرایش شده شهریور 92 توسط Nemesis نقل قول لینک به ارسال
isk 4447 ارسال شده در شهریور 92 گزارش بازنشر ارسال شده در شهریور 92 اینجا رو ببینید: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/ 2 نقل قول لینک به ارسال
Nemesis 1 ارسال شده در شهریور 92 مالک گزارش بازنشر ارسال شده در شهریور 92 کاملا درسته و داره کار میکنه ولی روی لوکال هاست بنده عمل نمیکنهمن مجبورم با این کد که استاندارد نیست کارمو پیش ببرمبا این کد مقادیر داخل فرم به انتهای لینک من اظافه میشه و وارد میشه<script>function process(){var url="http://localhost/projects/wordpress/" + document.getElementById("url").value;location.href=url;return false;}</script><form onsubmit="return process();">URL: <input type="text" name="url" id="url"> <input type="submit" value="go"></form>البته باز عرض کنم کار استانداردی نیست که این عملیات خارج از وردپرس انجام بشه نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .