آرشام . رادمهر 9 ارسال شده در اردیبهشت 94 گزارش بازنشر ارسال شده در اردیبهشت 94 با سلام ، آیا راهی هست که بشه علامت ( ؟ ) رو از پیوند یکتا به طور خودکار حذف کرد ؟ دقیقا مثه علامت ( ! ) که به طور خودکار از پیوند یکتا حذف میشه .به عنوان مثال : الان اگه یه مطلبی بنویسیم که تو عنوانش علامت ( ! ) باشه ، این علامت رو از داخل پیوند یکتا حذف میکنه و فقط میزاره داخل عنوان باشه ، ولی واسه علامت ( ؟ ) اینجوری نیست . میخواستم ببینم امکانش هست که این عمل واسه علامت سئوال هم انجام بشه و فقط این علامت رو از پیوند یکتا حذف کنه ؟ نقل قول لینک به ارسال
آرشام . رادمهر 9 ارسال شده در اردیبهشت 94 مالک گزارش بازنشر ارسال شده در اردیبهشت 94 یعنی هیچ کس نمی دونه که باید چکار کنم؟ آخه چه جوری به صورت پیش فرض ، وردپرس علامت ( ! ) رو از پیوند یکتا ( لینک ها ) حذف میکنه ؟ واسه حذف خودکار علامت ( ؟ ) هیچ راهی نیست؟ نقل قول لینک به ارسال
Ehsaan 1865 ارسال شده در اردیبهشت 94 گزارش بازنشر ارسال شده در اردیبهشت 94 دوست عزیز، موردی که شما میفرمایید رو من در 3 سالی که دارم وردپرس کار میکنم ندیدم!! لطفاً واضحتر توضیح بدید که کدوم علامت سوال رو میفرمایید؟موفق باشید. نقل قول لینک به ارسال
آرشام . رادمهر 9 ارسال شده در اردیبهشت 94 مالک گزارش بازنشر ارسال شده در اردیبهشت 94 دوست عزیز، موردی که شما میفرمایید رو من در 3 سالی که دارم وردپرس کار میکنم ندیدم!! لطفاً واضحتر توضیح بدید که کدوم علامت سوال رو میفرمایید؟موفق باشید.ببینید شما وقتی به صفحه ی افزودن نوشته در پنل وردپرس میرید ، یک کادر واسه وارد کردن عنوان داره و یک پیوند یکتا که زیر اون کادره . تا اینجا که همه می دونن .حالا وقتی به عنوان مثال بنده میخوام عنوانی واسه مطلبم بزارم که توش علامت تعجب ( ! ) باشه به این شکل میشه :مثلا در کادر عنوان می نویسم : نوع کفش می تواند به سلامت مغز هم کمک کند !در این حالت در زیر کادر عنوان که همون پیوند یکتا باشه عنوان بالا به صورت خودکار بدون علامت ( ! ) میشه : نوع کفش می تواند به سلامت مغز هم کمک کندولی اگه همین عنوان رو با علامت سئوال ( ؟ ) بنویسم : نوع کفش می تواند به سلامت مغز هم کمک کند ؟در پیوند یکتا هم با علامت ( ؟ ) میاد : نوع کفش می تواند به سلامت مغز هم کمک کند ؟من میخوام علامت ( ؟ ) هم مثل علامت ( ! ) از پیوند یکتا به صورت خودکار حذف شه و فقط در عنوان بمونه . باید چکار کنم ؟امیدوارم منظورمو متوجه شده باشید . نقل قول لینک به ارسال
Ehsaan 1865 ارسال شده در اردیبهشت 94 گزارش بازنشر ارسال شده در اردیبهشت 94 معذرت میخوام، این مورد رو من روی علامت سوال انگلیسی دیدم که خودکار حذف میشم، ولی برای فارسی گویا اینطوری نیست.میتونید با یه هک ساده، این مورد رو هم حذف کنید.function remove_persian_question_mark( $url, $post, $leavename ) {// HOOK BY EHSAAN$All_PostTypes = true; // Agar Mikhaid In Mored Roye Hameye Post Type Ha Emal Shavad, true Ra false Konidif ( ! $All_PostTypes && $post->post_type == 'post' ) {$url = str_replace( '؟', '', $url );return $url;}$url = str_replace( '؟', '', $url );return $url;}add_filter( 'post_link', 'remove_persian_question_mark', 10, 3 );( فرصت تست هک را نداشتم ) 2 نقل قول لینک به ارسال
HANNANStd 395 ارسال شده در اردیبهشت 94 گزارش بازنشر ارسال شده در اردیبهشت 94 (ویرایش شده) معذرت میخوام، این مورد رو من روی علامت سوال انگلیسی دیدم که خودکار حذف میشم، ولی برای فارسی گویا اینطوری نیست.میتونید با یه هک ساده، این مورد رو هم حذف کنید.function remove_persian_question_mark( $url, $post, $leavename ) {// HOOK BY EHSAAN$All_PostTypes = true; // Agar Mikhaid In Mored Roye Hameye Post Type Ha Emal Shavad, true Ra false Konidif ( ! $All_PostTypes && $post->post_type == 'post' ) {$url = str_replace( '؟', '', $url );return $url;}$url = str_replace( '؟', '', $url );return $url;}add_filter( 'post_link', 'remove_persian_question_mark', 10, 3 );( فرصت تست هک را نداشتم )به نظرم بهتره که این کار انجام نشه . چون اون موقع کوئری استرینگ ها از بین میرن .البته اگه این هوک فقط روی url پست ها باشه و با url کل کاری نداشته باشه احتمالا مشکلی پیش نمیاره ! ویرایش شده اردیبهشت 94 توسط hannanstd 1 نقل قول لینک به ارسال
Ehsaan 1865 ارسال شده در اردیبهشت 94 گزارش بازنشر ارسال شده در اردیبهشت 94 به نظرم بهتره که این کار انجام نشه . چون اون موقع کوئری استرینگ ها از بین میرن .البته اگه این هوک فقط روی url پست ها باشه و با url کل کاری نداشته باشه احتمالا مشکلی پیش نمیاره !دوست عزیز، هوک فقط ؟ را از بین میبره، نه ? که برای کوئریاسترینگ مشکلی پیش بیاره.موفق باشید. 1 نقل قول لینک به ارسال
آرشام . رادمهر 9 ارسال شده در اردیبهشت 94 مالک گزارش بازنشر ارسال شده در اردیبهشت 94 معذرت میخوام، این مورد رو من روی علامت سوال انگلیسی دیدم که خودکار حذف میشم، ولی برای فارسی گویا اینطوری نیست.میتونید با یه هک ساده، این مورد رو هم حذف کنید.function remove_persian_question_mark( $url, $post, $leavename ) {// HOOK BY EHSAAN$All_PostTypes = true; // Agar Mikhaid In Mored Roye Hameye Post Type Ha Emal Shavad, true Ra false Konidif ( ! $All_PostTypes && $post->post_type == 'post' ) {$url = str_replace( '؟', '', $url );return $url;}$url = str_replace( '؟', '', $url );return $url;}add_filter( 'post_link', 'remove_persian_question_mark', 10, 3 );( فرصت تست هک را نداشتم )تشکر . این کد رو داخل فانکشن گذاشتم و یک نوشته ی جدید با علامت ( ؟ ) نوشتم ولی علامت ؟ رو حذف نکرد و در کل تغییری ایجاد نکرد .به نظرم بهتره که این کار انجام نشه . چون اون موقع کوئری استرینگ ها از بین میرن .البته اگه این هوک فقط روی url پست ها باشه و با url کل کاری نداشته باشه احتمالا مشکلی پیش نمیاره !کد بالا که جواب نداد . به نظر شما آیا راهی هست که بشه فقط علامت ؟ رو از پیوند یکتا حذف کرد و طبق گفته ی شما این حذف به گونه ای باشه که در آینده ایجاد مشکل نکنه ؟یه جور باشه که به قول آقای احسان مثله علامت ؟ انگلیسی ، علامت ؟ فارسی هم به طور خودکار حذف شه . نقل قول لینک به ارسال
Mobin 1669 ارسال شده در خرداد 94 گزارش بازنشر ارسال شده در خرداد 94 جناب آرشام . رادمهرپیوندهای یکتا توسط خود سیستم از روی اسلاگخا ایجاد میشه و دلیل حذف ! و موندن ؟ این هست که تابعی که اسلاگ رو تو وردپرس میسازه ! رو حذف میکنه و اونو برای پست یا صفحه یا دسته بندی تو دیتابیس ذخیره میکنهکه حذف ؟ از عناوین برای شما مشکل ساز خواهد شد 3 نقل قول لینک به ارسال
آرشام . رادمهر 9 ارسال شده در خرداد 94 مالک گزارش بازنشر ارسال شده در خرداد 94 جناب آرشام . رادمهرپیوندهای یکتا توسط خود سیستم از روی اسلاگخا ایجاد میشه و دلیل حذف ! و موندن ؟ این هست که تابعی که اسلاگ رو تو وردپرس میسازه ! رو حذف میکنه و اونو برای پست یا صفحه یا دسته بندی تو دیتابیس ذخیره میکنهکه حذف ؟ از عناوین برای شما مشکل ساز خواهد شدحرف شما متین ، ولی میشه بفرمایید حذف علامت ؟ چه مشکلی رو ایجاد میکنه و تا چه حد می تونه واسه سایت خطرناک باشه ؟آخه من همین کار رو در حال حاضر دارم به صورت دستی انجام میدم ( یعنی علامت ؟ رو از پیوند یکتای مطالب ( لینک مطالب ) که دارای علامت ؟ هستند ( از طریق ویرایش پیوند ) دارم به صورت دستی حذف می کنم و فقط در عناوین سایت میزارم بمونه ) و خداروشکر تا الان مشکل خاصی ندیدم !!! ( شایدم متوجه چیزی نشدم !!! )این کار رو هم واسه این میکنم ، چون قبلا در مطالبی که در سایتهای مختلف دیده بودم ، گفته بودن که وجود علامت ؟ در لینک مطالب خوب نیست و ... .ممنون میشم توضیح بیشتری بدید و بگید که چکار کنم ؟ 1 نقل قول لینک به ارسال
Mobin 1669 ارسال شده در خرداد 94 گزارش بازنشر ارسال شده در خرداد 94 ببینید اسلاگ از روی عنوان ساخته میشه و در دیتابیس ذخیره میشه وقتی شما تو تنظیمات پیوندهای یکتا تنظیمات رو روی مثلا عنوان نوشته میزارین ادرسها و لینک پستها از روی این اسلاگها ساخته میشن حالا شما بیاید بدون تغییر اسلاگ ؟ رو حذف کنید خب وقتی وارد اون ادرس بشید با صفحه 404 مواجه میشید چون نمیتونه اون صفحه رو پیدا کنه مثلاادرس شماhttp://www.sitename.com/سلام-دنیااسلاگ داخل دیتابیسسلام-دنیا?خب وقتی وردپرس کوئری میزنه دنبال سلام-دنیا میگرده در صورتی که تو دیتابیس سلام-دنیا? ذخیره شدس و نمیتونه پست رو پیدا کنهوقتی شما پیوند رو ویرایش میکنین در واقع دارید یک اسلاگ جدید میسازید و به همین خاطر خطایی نمایش داده نمیشه و همه چیز خوب کار میکنه 3 نقل قول لینک به ارسال
آرشام . رادمهر 9 ارسال شده در خرداد 94 مالک گزارش بازنشر ارسال شده در خرداد 94 (ویرایش شده) ببینید اسلاگ از روی عنوان ساخته میشه و در دیتابیس ذخیره میشه وقتی شما تو تنظیمات پیوندهای یکتا تنظیمات رو روی مثلا عنوان نوشته میزارین ادرسها و لینک پستها از روی این اسلاگها ساخته میشن حالا شما بیاید بدون تغییر اسلاگ ؟ رو حذف کنید خب وقتی وارد اون ادرس بشید با صفحه 404 مواجه میشید چون نمیتونه اون صفحه رو پیدا کنه مثلاادرس شماhttp://www.sitename.com/سلام-دنیااسلاگ داخل دیتابیسسلام-دنیا?خب وقتی وردپرس کوئری میزنه دنبال سلام-دنیا میگرده در صورتی که تو دیتابیس سلام-دنیا? ذخیره شدس و نمیتونه پست رو پیدا کنهوقتی شما پیوند رو ویرایش میکنین در واقع دارید یک اسلاگ جدید میسازید و به همین خاطر خطایی نمایش داده نمیشه و همه چیز خوب کار میکنهخیلی ممنون از توضیح خوبی که دادید .با توجه به توضیحات شما واسه بنده سه سئوال ایجاد شد که تشکر میکنم پاسخ این سئوالات رو هم بدید .1- اگه درست متوجه شده باشم ، پس با این حساب و طبق حرفهای شما ، یعنی اگه علامت " ؟ " رو به همین صورتی که دارم حذف می کنم ( یعنی به صورت دستی و از طریق ویرایش پیوند ) هیچ مشکلی واسه سایت و مطالب ایجاد نمیشه ، ولی اگه بخوام همین کارو ( حذف علامت ؟ ) به صورت خودکار انجام بشه و مثله حذف علامت " ! "باشه ، مطالبم با خطای 404 مواجه میشه . درست متوجه شدم ؟2- با توجه به تجربیات شما ، آیا اینکه میگن علامت " ؟ " نباید داخل لینک مطالب باشه صحت داره ؟ یعنی لازمه که من علامت " ؟ " موجود در لینک مطالبم رو حذف کنم ؟3- فرق بین علامت " ؟ " انگلیسی و علامت " ؟ " فارسی چیه ؟ آخه خود وردپرس علامت " ؟ " انگلیسی رو به صورت خودکار از لینک مطالب حذف می کنه ( دقیقا مثه علامت " ! " ) ، ولی علامت " ؟ " فارسی رو حذف نمی کنه !!!! ویرایش شده خرداد 94 توسط آرشام . رادمهر نقل قول لینک به ارسال
Mobin 1669 ارسال شده در خرداد 94 گزارش بازنشر ارسال شده در خرداد 94 خیلی ممنون از توضیح خوبی که دادید .با توجه به توضیحات شما واسه بنده سه سئوال ایجاد شد که تشکر میکنم پاسخ این سئوالات رو هم بدید .1- اگه درست متوجه شده باشم ، پس با این حساب و طبق حرفهای شما ، یعنی اگه علامت " ؟ " رو به همین صورتی که دارم حذف می کنم ( یعنی به صورت دستی و از طریق ویرایش پیوند ) هیچ مشکلی واسه سایت و مطالب ایجاد نمیشه ، ولی اگه بخوام همین کارو ( حذف علامت ؟ ) به صورت خودکار انجام بشه و مثله حذف علامت " ! "باشه ، مطالبم با خطای 404 مواجه میشه . درست متوجه شدم ؟بلهالبته به صورت اتوماتیک راه داره(که 404 نشه) اگه نیاز شما صرفا نمایش ندادن ؟ تو ادرس صفحات باشه2- با توجه به تجربیات شما ، آیا اینکه میگن علامت " ؟ " نباید داخل لینک مطالب باشه صحت داره ؟ یعنی لازمه که من علامت " ؟ " موجود در لینک مطالبم رو حذف کنم ؟فرق خاصی نداره بستگی به خود شما داره3- فرق بین علامت " ؟ " انگلیسی و علامت " ؟ " فارسی چیه ؟ آخه خود وردپرس علامت " ؟ " انگلیسی رو به صورت خودکار از لینک مطالب حذف می کنه ( دقیقا مثه علامت " ! " ) ، ولی علامت " ؟ " فارسی رو حذف نمی کنه !!!!به خاطر اینکه ؟ فارسی یک کاراکتر یونیکد هست و ? انگلیسی یک کاراکتر معمولی و وردپرس بخاطر pretty url کاراکترهای خاص special character ،اونو حذف میکنه 3 نقل قول لینک به ارسال
آرشام . رادمهر 9 ارسال شده در خرداد 94 مالک گزارش بازنشر ارسال شده در خرداد 94 واقعا خیلی خوب توضیح دادید . خیلی خیلی ممنون .بلهالبته به صورت اتوماتیک راه داره(که 404 نشه) اگه نیاز شما صرفا نمایش ندادن ؟ تو ادرس صفحات باشهجنابlord_viper اگه راهی هست که بشه اولا : علامت ؟ رو به طور خودکار از لینک ها حذف کرد و ثانیا : کاری کرد که با اینکار واسه سایت مشکلی ایجاد نشه و لینک ها به خطای 404 نخورن ، بسیار بسیار ممنون میشم راهشو بفرمایید ، چون به این مورد خیلی نیاز دارم.مگر اینکه هیچ راهی نباشه و مجبور باشم به طور دستی حذف کنم . ( خواهشا اگه چاره ای وجود داره لطف بفرمایید و بگید که دقیقا چکار کنم ؟ )بازم یه دنیا ممنون . نقل قول لینک به ارسال
Mobin 1669 ارسال شده در خرداد 94 گزارش بازنشر ارسال شده در خرداد 94 خب برای این کار شما باید 2 تا هوک بزنینهوک اول برداشتن ؟ مثل کدی که احسان عزیز نوشتن با کمی تغییراتfunction remove_persian_question_mark( $url, $post, $leavename ) {// HOOK BY EHSAAN$All_PostTypes = true; // Agar Mikhaid In Mored Roye Hameye Post Type Ha Emal Shavad, true Ra false Konidif ( ! $All_PostTypes && $post->post_type == 'post' ) {$url = str_replace( '؟', '', $url );return $url;}$url = str_replace( '؟', chr(33), $url );return $url;}add_filter( 'post_link', 'remove_persian_question_mark', 10, 3 );هوک دوم استفاده قرار دادن ؟ تو کوئری پست با استفاده از هوک pre_get_postsfunction add_persian_question_mark( $query ) { if(!$query->is_main_query()) return $query; $post_name = $query->get('name'); $query->set('name', str_replace(chr(33),'?',$post_name)); return $query;}add_action( 'pre_get_posts', 'add_persian_question_mark', 10, 3 );(کد هوک دوم برای نمایش روال کار بوده و تست شده نیست) 2 نقل قول لینک به ارسال
آرشام . رادمهر 9 ارسال شده در خرداد 94 مالک گزارش بازنشر ارسال شده در خرداد 94 (ویرایش شده) جناب lord_viper کد زیر رو در فانکشن گذاشتم ولی عملا دوباره هیچ تغییری نکرد و علامت ؟ رو حذف نمیکردهوک اول برداشتن ؟ مثل کدی که احسان عزیز نوشتن با کمی تغییراتfunction remove_persian_question_mark( $url, $post, $leavename ) {// HOOK BY EHSAAN$All_PostTypes = true; // Agar Mikhaid In Mored Roye Hameye Post Type Ha Emal Shavad, true Ra false Konidif ( ! $All_PostTypes && $post->post_type == 'post' ) {$url = str_replace( '؟', '', $url );return $url;}$url = str_replace( '؟', chr(33), $url );return $url;}add_filter( 'post_link', 'remove_persian_question_mark', 10, 3 );و درخصوص کد زیر هم چیزی متوجه نشدم که دقیق باید چیکار کنم ؟ میشه بیشتر و به زبان مبتدیانه توضیح بدید ؟هوک دوم استفاده قرار دادن ؟ تو کوئری پست با استفاده از هوک pre_get_postsfunction add_persian_question_mark( $query ) {if(!$query->is_main_query())return $query;$post_name = $query->get('name');$query->set('name', str_replace(chr(33),'?',$post_name));return $query;}add_action( 'pre_get_posts', 'add_persian_question_mark', 10, 3 );(کد هوک دوم برای نمایش روال کار بوده و تست شده نیست) ویرایش شده خرداد 94 توسط آرشام . رادمهر نقل قول لینک به ارسال
آرشام . رادمهر 9 ارسال شده در خرداد 94 مالک گزارش بازنشر ارسال شده در خرداد 94 آقای lord_viper میشه لطف کنید و پاسخ بدید ؟ تاپیک رو رها نکنید خواهشا . نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .