برترین های انجمن

  1. mehran-b

    mehran-b

    همیـار


    • امتیاز

      936

    • تعداد ارسال ها

      1,399


  2. naghmesara

    naghmesara

    عضو سایت


    • امتیاز

      315

    • تعداد ارسال ها

      423


  3. Morteza

    Morteza

    وردپرس پارسی


    • امتیاز

      291

    • تعداد ارسال ها

      18,884


  4. Mirrajabi

    Mirrajabi

    عضو سایت


    • امتیاز

      285

    • تعداد ارسال ها

      434



Popular Content

نمایش ارسال هایی با بیشترین امتیاز تا 04/12/95 در همه بخشها

  1. 15 points
    با سلام و عرض تبریک سال نوی خورشیدی خدمت همه دوستان عزیز سال 1396 پنجمین بهاری است که همراه با سایر همکاران و دوستان وردپرس پارسی در خدمت دوستان عزیز خواهیم بود. در این چندسال همیشه سعی ما بر کمک به جامعه وب فارسی و توسعه و فراگیری هر چه بیشتر وردپرس بود، در این مسیر اصل و بنیاد کاری ما تفکر کدبازی (Open Source) و انتشار رایگان دانسته هایمان بود. و امید داریم در سال جدید هم همچنان بتوانیم با کمک همه عزیزان این مسیر را هر چه بهتر و با کیفیت تر ادامه دهیم. در سال پیش رو مهمترین برنامه های ما بدین شرح است: - توسعه انجمن و پورتال سایت - برگزاری دومین دوره همایش وردپرس ایران - برگزاری اولین دوره وردکمپ در ایران - برگزاری کارگاه های وردپرس اما مهمترین کار ما در سال جاری یک سورپرایز بسیار مفید و ارزشمند است که به زودی از آن رونمایی می شود. و با کمک این سورپرایز بزرگترین چالش های وردپرس در زمینه آموزش، در زمینه بازار و بسیاری از جنبه های دیگر رفع خواهد شد. با آرزوی سالی خوش و پر از موفقیت برای تک تک دوستان عزیز گروه وردپرس پارسی
  2. 7 points
    سلام گروه وردپرس پارسی واقعا جای تشکر هست که با قدرت تمام این انجمن رو نگه داشتید بدون هیچ گونه چشم داشتی و قصد تجارتی امیدوارم همیشه سربلند باشید و پیروز به امید موفقیت روز افزون برای همه ی شما مدیران و کاربران عزیز انجمن در پناه حق
  3. 6 points
    سلام به شخصه تجربیات زیادی در بحث همکاریهای گروهی و آنلاین داشتم. شاید موفقترینشون این انجمن بوده. البته کارهای گروهی زیادی از بچه های دیگه توی سایت های دیگه رو هم دیدم، تجربه ثابت کرده بزرگترین مسئله تو همچین داستان هایی لقمه بزرگ اول هست که باعث شکست میشه. پیشنهاد خوبی دادین، و همیشه همچین چیزهایی از نیازهای اصلی هست. ولی من پیشنهاد میکنم از موارد کوچیکتر شروع بشه، مثلا برای وردپرس و موارد مرتبطش بیایم با یک cheatsheet شروع کنیم. هم ساده تر هست و میشه براحتی از کار گروهی نتیجه هایی که میخوایم رو بگیریم. در ادامه هم میشه به کارهایی با اندازه بزرگتر بصورت قدم به قدم فکر کرد. مثل نگارش مقاله، نگارش کتابچه، ویکی، گاهنامه و..
  4. 5 points
    بعد از اولین دوره همایش وردپرس در ایران اگر پیگیر اخبار وردپرس بوده باشید، حتما خبر برگزاری چندین میتاپ و جلسه متعدد وردپرسی را شنیده‌اید، یکی از بحث‌های اصلی که محور اصلی این میتاپ‌ها بوده است برگزاری وردکمپ بود که به طور جدی دنبال می‌شود. این میتاپ‌ها و جلسات توسط جمعی از فعلان حوزه وردپرس در کنار وردپرس‌پارسی برگزار می‌شد و مسائل مربوط به این حیطه و از جمله وردکمپ مورد بحث قرار می‌گرفت. این بار با رایزنی‌هایی که با تیم اصلی وردپرس داشتیم در بخش دوم این رویدادها قصد داریم که میتاپ‌ها و جلسات وردپرسی را به صورت آزاد برگزار کنیم تا تمامی علاقه‌مندان و دوست‌داران وردپرس فرصت حضور داشته باشند و با گردهمایی، جامعه کاملتری از دوست داران وردپرس بسازیم و از تجربیات یکدیگر استفاده کنیم. بدیهی است که این رویدادها با رویکرد مثبت در جهت سود رسانی به جامعه وردپرس و افراد حاضر در آن برگزار می‌شود و برای تمامی علاقه‌مندان به وردپرس است. پس اگر یک کاربر معمولی وردپرس یا یک توسعه دهنده هستید می‌توانید در این رویدادها شرکت کنید. ما در ملاقات‌هایمان از موارد مختلف و کاربردی وردپرس صحبت می‌کنیم و علاقمند به توسعه هر چه بیشتر وردپرس در ایران هستیم. ما وردپرس را دوست داریم. عضویت در این گروه برای همه افرادی که مایل به پیوستن هستند بدون در نظرگرفتن توانایی‌ها، مهارت‌ها، وضعیت مالی و یا معیارهای دیگر باز و رایگان است. فضای میتاپ‌ها و جلسات ما دوستانه و آزادنه و دور از هرگونه تبعیض و رفتارهای زننده است. بر این اساس از تمامی دوستانی که علاقه‌مند به شرکت در میتاپ‌های وردپرس هستند دعوت می‌شود تا از طریق لینک زیر در سایت میتاپ اقدام به ثبت‌نام کنند و منتظر خبرهای برگزاری جلسات در آینده باشند . لینک ثبت نام و عضویت : https://www.meetup.com/Iran-WordPress-Meetup
  5. 5 points
    به نظرم از تبلیغات کلیکی استفاده نکنید، به خصوص اگر سایتتون نوپا هست، سود زیادی براتون نخواهد داشت. شما میتونید به جای تبلیغات کلیکی با شرکت‌هایی مثل کاپریلا، یکتانت یا کانگورو همکاری کنید. این شرکتا با هوش مصنوعی تبلیغات مرتبط رو به کاربران شما نمایش میدن و برای همین هم رضایت کاربران و هم میزان درآمد شما افزایش پیدا میکنه، ضمن اینکه شرکت‌های کاپریلا و یکتانت، به صورت پیش‌پرداخت فعالیت میکنن، یعنی شما در ازای قرار دادن تبلیغات پول دریافت می‌کنید و نه کلیک و شرکت کانگورو بر اساس کلیک هستش (منتها باز هم خیلی از تبلیغات کلیکی عادی بهتره) آدرس‌هاشون رو میذارم، اگر خواستید یه بررسی انجام بدید: کاپریلا: http://kaprila.com/ یکتانت: http://yektanet.com/ کانگورو: http://congoro.com من خودم در حال حاضر با کاپریلا همکاری میکنیم، توصیه میکنم برای شروع شما هم با کاپریلا کار کنید، راحت تر تبلیغات میدن، ضمن اینکه شما میتونید همین الان به وبسایت "همیار آی تی" هم که در امضای من هست سر بزنید و تبلیغاتشون رو ببینید، به گونه‌ای هست که اصلا تمرکز کاربر رو به هم نمیریزه (قسمت مطالب مرتبط پایین پست‌ها و سایدبارها) موفق باشید
  6. 5 points
    سلام از نسخه 4.5.0 وردپرس اضافه شده، برای قسمت سفارشی‌سازی وردپرس هست وقتی این قسمت رو اضافه کنید در صفحه سفارشی‌سازی می‌تونید به صورت لایو ابزارک‌های وردپرس رو تغییر بدید نمونه
  7. 5 points
    سلام و درود مورد ساده ایه ابتدا یه فرم ساده شامل یه اینپوت با تایپ تکست و یه اینپوت هم با تایپ سابمیت می سازیم. <form action="<?php echo home_url('/'); ?>" method="post"> <input type="text" name="sbpid"> <input type="submit" value="بسرچ"> </form> سپس کد زیر رو برای هندل کردن اطلاعات فرم بعد از سابمیت به فایل functions.php قالب سایت و زیر اولین <?php اضافه میکنیم. add_action('init', function() { if(isset($_POST['sbpid']) && is_numeric($_POST['sbpid'])) { $link = get_permalink((int) $_POST['sbpid']); if($link !== false) { wp_redirect($link); exit; } } }); موفق باشید
  8. 5 points
    سلام ابراز تاسف نیازی به ایجاد یک تاپیک نداره. هیچکس خبر نداره در این انجمن چه کسانی چه کارهایی چه برای زلزله اخیر در غرب، چه برای تبریز و بم و... انجام داده. اگر واقع میخواهید کمکی کنید از طریق کانال اصلیش که هلال احمر هست اقدام کنید. خیلی خلاصه میگم به عمل کار برآید. تاپیک بسته شد.
  9. 5 points
    در این که ssl نشانه ی امنیت سایت شماست شکی نیست. در این هم که ssl برای گوگل تافته ی جدا بافته هست هم شکی نیست. اما شک دارم دلتون بخواد برای SSL هزینه های سنگین بیوفته رو دستتون. قیمت SSL از این شرکت تا اون شرکت بغلی زمینه تا آسمون فرق داره. یه جا قیمت ملیونی میدن یه جا در حد چند ده هزار تومن. من چی بگم خب ! بگم اون ارزونه بدرد نمیخوره هرچی گرون تر باشه بهتر ؟ نه این اشتباهه. صحیحش اینه که از هرکس که معتبر تر و متخصص تر هست بخریم. خب معتبر ها هم اکثرا گرون گرون کار میکنن خدا خیرشون بده مثل این که قراره خرج زیادی روی دستتون بیوفته. نگران نباشید همین الان بهتون میگم چطور بدون هزینه و کاملا امن (secure سبز رنگ) رو برای سایتتون فعال کنید. (نــکـتــــه : ssl رایـگـان پـشـتـیــبـانـــی نـــداره هـــآ ) دریافت ssl رایگان: به سایت SSL For Free مراجعه کنید. آدرس سایتتون (+ تمام ساب دامین هایی که به سایتتون وابسته است) رو در فیلد بزرگ صفحه وارد کنید و دکمه ی Create Free SSL Certificate رو بزنید. اینجا 3 تا راه برای شما میاره تا بخواین نصب ssl رو انجام بدین (دو روش نصب دستی و یک روش نصب اتوماتیک ) اما ما نصب اتوماتیک رو انتخاب میکنیم پس روی دکمه ی سمت چپ که Automatic FTP Verification هست کلیک میکنیم. اطلاعات FTP هاست خودمون رو درش وارد میکنیم و دکمه ی Download Free SSL Certificate رو میزنیم کد های دریافتی رو ذخیره میکنیم و پنجره رو همینطور باز نگه میداریم تا کد ها گم نشه. بهتره از قبل با ایمیل و رمز خودمون ورود/ثبتنام کرده باشیم. (که کدها برامون در پنل ذخیره شده باشه) نصب ssl در هاست : در Cpanel به بخش Install and Manage SSL for your site < SSL/TLS رفته و روی لینک Manage SSL sites کلیک میکنیم. دامین خودمون رو انتخاب میکنیم. سپس محتویات و کد ها رو از 3 تکست باکس سایت (ssl for free) کدها رو به 3 تکست باکس داخل cpanel کپی میکنیم. (دقت کنید به اسم های فیلد ها - حداقل ترتیب رو رعایت کنید) تنظیم ssl در سایت : افزونه Really Simple SSL رو از مخزن وردپرس نصب و فعال کنید. افزونه پیغامی را بالای صفحه مدیریت شما به همراه دکمه راه اندازی ارسال میکند. متن دکمه : ( Go ahead, activate SSL! ) در صورت ندیدن پیغام در بالای صفحه به تنظیمات > SSL رفته و تب Configuration دکمه ی (Go ahead, activate SSL!) را بزنید در همان صفحه به تب Settings رفته و 4 گزینه اول را تیک بزنید (اگه انگلیسیتون خوب باشه متوجه میشین که این 4 گزینه برای ریدایرکت و بهینه سازی محتوای سایت برای SSL است ) موفق باشید
  10. 5 points
    دوستان عزیز ، کاربران گرامی، امروز قصد دارم یک آموزش دیگر، که یکی از نقطه ضعفهای شدید کاربران وردپرس است را برای شما برگذار کنم. آموزش این جلسه به نصب فونت ایران سنس روی وردپرس و سایت وردپرسی اختصاص دارد. البته قبل از آن نگاهی به نصب انواع دیگر فونت که فونت های وب و معمولی و رایگان هستند می اندازیم و سپس در آموزش بعدی، سراغ ایران سنس میرویم که فونتی است از گروه طراحی فونت ایران و باید لایسنس آنرا قبل از نصب خریداری کرد. هر چند این روزها یکی میخرد و ده نفر نصب میکنند ولی باز جزو فونتهای حرفه ای به شمار می آید که بسیار در وبسایت های حرفه ای مورد استفاده قرار میگیرد. ابتدا به فونت های معمولی میپردازیم. هنگامی که شما به عنوان مثال میخواهید فونت یکان یا BYekan را روی وردپرس خود نصب کنید باید سه نسخه از این فونت را داشته باشید، که اصولا وقتی در اینترنت به دنبال وب فونت برای دانلود بگردید، به راحتی هر سه فرمت مربوطه را میابید. Eot ttf woff سه فرمتی هستند که شما باید از فونت خود که اینجا BYekan میباشد داشته باشید. من این فونت BYekan را در سه فرمت مختلف به صورت پیوست در این آموزش قرار داده ام و شما میتوانید آنرا دانلود کنید و از آن استفاده کنید، ولی در مورد فونت ایران سنس واقعا متاسفم نمیتوانم آنرا در اختیارتان قرار دهم. شما میتوانید خودتان برای خرید فونت اقدام کنید و لطفا قانون کپی رایت را رعایت کنید. fonts.zip مرحله اول: آپلود فونت ها در هاست ابتدا وارد پنل مدیریت هاست خود شوید، به فولدر قالب خود به این آدرس بروید: Wp-content/themes/your theme و فولدر Fonts زیپ شده ی خود را آنجا آپلود کنید. توجه داشته باشید که ZIP ! چون گاهی به اشتباه RAR آپلود میکنند. پس از اینکه فولدر زیپ شده در فولدر قالب شما آپلود شد آنرا extract میکنید تا فونت ها به دست بیایند. یعنی حالا در فولدر Fonts شما این سه فونت را باید داشته باشید: BYekan.ttf – BYekan.woff – BYekan.eot مرحله ی دوم: ویرایش style.css سپس style.css را در قالب سایتتان ویرایش کنید و این کد را آنجا قرار دهید: @font-face { font-family: 'BYekan'; src: url('fonts/BYekan.eot?#') format('eot'), url('fonts/BYekan.woff') format('woff'), url('fonts/BYekan.ttf') format('truetype'); } body{ font-family:BYekan; } پس این کار لطف میکنید و در فایل style.css تمامی Font – family: ها را تغییر میدهید مانند مثال زیر: Font –family:Arial Black; حالا شما فقط لازم است که Arial Black را با BYekan در تمامی style.css قالبتان جایگزین کنید. سپس سایت خود را با CTRL+F5 رفرش کرده و مشاهده میکنید که فونت آن به یکان تغییر یافته است. توجه داشته باشید که اینجا به عنوان نمونه فونت BYekan را مثال زدیم. شما میتوانید فونت دلخواه خودتان را از اینترنت در سه فرمت نامبرده دانلود کرده و همین مراحل را انجام دهید و فونت سایتتان را تغییر دهید. در ضمیمه فایل زیپ فونت BYekan در سه فرمت مختلف قرار داده شده است//
  11. 5 points
    با عرض سلام و وقت بخیر ووکامرس رو میشه گفت یک دنیای فروشگاهی هست نه افزونه فروشگاهی (: بنده خودم با ووکامرس خیلی کارا کردم از مبتدی تا حرفه ای و میشه گفت به نحوی با این دنیا آشنایی نسبتا خوبی دارم . ولی باید توجه داشت که واسه انجام این کار ابتدا باید یک تیمی که متشکل از اعضای کاربلد هستند تشکیل شه و به صورت مستقل حالا چ تو تلگرام و چه تو همین انجمن کار کنند و مباحث و مدیریت کنن . ن اینکه هرکسی اومد هر چیزی خواست بنویسه و بره حتی اگه مطلبش مفید باشه . منظور من مدیریت هرچه بهتر این کار هست. پیشنهاد من ایجاد یک گروه منظم و کاری برای آموزش و ارائه راه کار های مدنظر در زمینه ووکامرس می باشد. موفق و پیروز باشید.
  12. 5 points
    سلام بزارید نکته وار بریم جلو. من یک پوسته ای از جایی خریداری کردم. پوسته یک بخشی از امکانات مدنظر من رو نداشت. من به فروشنده(که لزوما نویسنده پوسته نیست) درخواست افزودن قابلیتی رو دارم اما اعلام میکنه نمیتونه و ارجاع میده به نویسنده محصول. به نویسنده محصول هم گفته میشه اما اعلام میکنه نمیتونه و یا زمان همچین کاری رو نداره. من در یک انجمن اعلام نیاز میکنم، در انجمن به من کمک میشه و من به جواب خودم در مورد اون پوسته میرسم. --------------------------------- سناریوی اول: پوسته ای که من خریداری کردم مشخص میشه دزدی بوده، نویسنده اصلی پوسته از من به عنوان کسیکه پوسته اش رو در دست دارم و تغییرات دادم و دارم استفاده میکنم شکایت میکنه. --------------------------------- سناریوی دوم: شخصی معلوم الحال پوسته ای رو بصورت قانونی و یا غیرقانونی خریداری میکنه یا بدست میاره. در انجمن میاد و بخشهایی رو برای تغییر مطرح میکنه و بعد از دریافت جوابش اون پوسته رو برای فروش قرار میده. شاکی از انجمن شکایت میکنه! --------------------------------- سناریوی سوم: .... ببینید این مواردی که مطرح کردم در انجمن اتفاق افتاده و اینکه موارد بیشتر و عجیب تری هم اتفاق افتاده، کاربرهای زیادی به دردسر افتادن، مدیران یکسری سایت ها تهدید به شکایت از ما کردن و... کلا برای جلوگیری از مشکلات زیادی که اتفاق افتاده، هم اینکه فرهنگ سازی بشه که کاربرها حقشون رو از کسیکه هزینه فروش رو دریافت کرده و زیر بخش فروش نوشته "پشتیبانی X ماهه" ولی هیچ پشتیبانی به کاربر نمیده! بگیرن و داستان های زیاد دیگه، کلا عطای این موضوع که دوستان در مورد موارد پرمیوم و پولی بیان و سوال بپرسن رو به لقایش بخشیدیم. بهترین راه اینه که سوالی در مورد بخشی یا کمبود قابلیتی در پوسته یا افزونه ای دارید، بصورت جزئی و بدون نام بردن از محصول مطرح کنید. ما هم در مورد راهکاری بهتر برای حل این نوع موضوعات فکر می کنیم. موفق باشید
  13. 5 points
    سلام پیشنهاد دوستمون @ToranjArts خیلی خوبه . البته من تخصصی در کد نویسی و ووکامرس ندارم ولی خب شاید بعدها در نظر داشته باشید که یک لوگوی جداگانه و اختصاصی برای این بخش بزنید. بنده و تیممون در خدمتتون هستیم که به صورت رایگان و به زعم خویش برای جبران گوشه ای از زحماتتون که در این انجمن میکشید ، کار طراحی رو براتون انجام بدیم.
  14. 5 points
    سلام. ایده خوبیه، اما اقا مرتضی درست میگه لقمه بزرگیه چون ووکامرس مرتب کدهاش به روز میشه و روش های جدید هی براش میاد از طرفی درسته که خیلیا فروشگاه دارن ولی همه ووکامرس استفاده نمیکنن خیلی ها محصولشون مجازیه پس edd هم لازمه . بعد به نظرم بهتره یه اسکریپت جدا باشه و هرکسی مثل ویکی بتونه به روزش کنه تا اینکه تو همین انجمن باشه. اما یه ویکی خوب طوری که رنکینگ داشته باشه و اسم کسانی که میان توضیحات یا تکه کد اضافه میکنن رو نشون بده و مثل همین جا سطح بندی داشته باشن کاربرا، طوری که کاربرا تشویق بشن بیان توضیح اضافه کنن. و برای بقیه هم یه مرجع مطمئن و به روز باشه.
  15. 5 points
    سلام دوست گرامی متاسفانه سایت شما Malware داره و این پاپ آپ های تبلیعاتی و تب های که پس از هر کلیک در سایت باز میشه همه برمیگرده به این که سایت شما آلوده شده است. به احتمال زیاد شما افزونه های زیر که نال شده بودن روی سایت نصب کردید: LayerSlider revslider پیشنهاد: افزونه هایی که نال شده بودن و روی سایت نصب کردید رو پاک کنید. بعد به هاستیگ بگید که یه اسکن از سایتتون بگیره. شاید تو این اسکن سایتتون پاک سازی بشه. در غیر اینصورت اگه بک آپی از سایت دارید که سالم هست و آلوده به Malware نیست بگید که ریستور کنن براتون. در غیر اینصورت باید هاستتون بطور کامل پاکسازی و مجدد سایت رو راه اندازی کنید. البته می تونید از پلاگین های آنتی ویروس در سایت استفاده کنید ولی اکثر این پلاگین ها برای اینکه بطور کامل اسکن و پاکسازی رو انجام بدن نیازمند این هست که شما نسخه اصلی رو تهیه کنید. موفق باشید...
  16. 5 points
    ببینید هوک چیز خاص و بزرگی نیست.تو اکثر سیستمهای تحت وب و حتی ویندوز سیستمی بنام هوک وجود داره هوک این قابلیت رو به شما میده که روند اجرای یک تابع رو مانیتور یا تغییر بدید. این به این دلیل هست که شما وقتی از سیستم اماده مثل وردپرس استفاده میکنید.کدها نوشته شده و اماده هستن برای اضافه کردن بعضی قابلیتها شما نیاز به تغییر در بعضی از توابع وردپرس دارین مثلا شما یک پلاگین نوشتین میخواهید یک فایل javascript یا css به یک صفحه وردپرس اضافه کنین راه راحتش این هست که کدهای اون صفحه رو پیدا کنین و لینک فایلها رو در هدر اون قرار بدید.این کار شدنی هست اما روش درستی نیست چون 1.اگه وردپرس اپدیت بشه شما دوباره باید این کار رو انجام بدید 2.اگه بخواهید این پلاگین رو منتشر کنید بخش پلاگین وردپرس به شما اخطار میده در مورد ویرایش فایلهای اصلی وردپرس. برای رفع این مشکلات وردپرس هوک رو در اختیار کاربران قرار داده هوک یا قلاب راهکاری هست در زمان فراخوانی شدن تابع مورد نظر شما دستورات شما رو اجرا میکنه در ورد پرس از add_action برای تعریف هوک استفاده میشه که 4 پارامتر داره 2 تا اصلی و 2 تا اختیاری 1.اسم تابعی که میخواهید هوک کنید مثلا wp_head یا get_the_content یا pre_get_posts 2. اسم تابع شما (کدهای مورد نیاز رو باید در قالب یک تابع بنویسید)که باید در اون تابع وردپرس اجرا بشه وردپرس 2 تا هوک داره add_action و add_filter که دومی بیشتر برای تغییر در محتوا هست function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1); function add_filter($tag, $function_to_add, $priority, $accepted_args); مقدار priority اولویت اجرای هوک در لیست رو مشخص میکنه مثلا شما اگه نیاز دارید کد شما زودتر از بقیه کدها اجرا بشه مقدار1 و اگه نیازه بعد از همه کدها اجرا بشه مقدار 9999 بهش میدین که این مقدار اختیاری هست و پیشفرض 10 مقدار accepted_args تعداد ارگومانهایی هست که به تابع شما ارسال بشه که پیشفرض 1 هست مثال:شما میخواهید یک فایل js یا css رو به هدر بخش کاربری اضافه کنید کد هوک شما به صورت زیر میشه function child_theme_head_script() { wp_register_style( 'prefix-style', plugins_url('/css/your-stylesheet.css', __FILE__) ); wp_enqueue_script('custom_script', plugins_url('/js/your-script.js', __FILE__),array('jquery')); } add_action( 'wp_head', 'child_theme_head_script' ); خب حالا هوک چطور کار میکنه تو سیستم وردپرس اگه به فایل هدر یکی از تمپلیتهای استاندارد وردپرس نگاه بندازین به صورت زیر هست <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=assetsice-width, initial-scale=1"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/assets/css/bootstrap.min.css"> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/assets/css/custom.css"> <title></title> <?php wp_head(); ?> </head> <body> از تابع wp_head استفاده میکنه وقتی تابع wp_head اجرا میشه چه اتفاقی می افته این تابع درون فایل wp-includes/general-template.php هست function wp_head() { /** * Prints scripts or data in the head tag on the front end. * * @since 1.5.0 */ do_action( 'wp_head' ); } کار تابع do_action این هست که میاد هوک موبوطه رو از لیست هوکها اجرا میکنه که در اینجا بهش گفته شده هوک 'wp_head' رو اجرا کنه و تابع شما اجرا میشه و فایل js و css شما به هدر سایت اضافه میشه
  17. 5 points
    سلام مطمئنا برابر نیستند و این مورد ارتباط مستقیم با شرکت ارائه دهنده‌ی اون سرویس داره . منظور دوستان اینه اگر شرکت مناسب و خوب باشه امنیت روی هر دو سرویس تضمین شده‌ست دوست من این مورد رو فقط و فقط نیاز شماست که تعیین می‌کنه ، شما اگر از شرکت خوب سرویس بگیرید مشکلی بابت امنیت (از سمت سرور) روی هیچ کدوم از سرویس‌ها نخواهید داشت ، برای منابع و سایر موارد نیاز سیستم و سایت شماست که تعیین کننده این مسئله‌ست. برای سایت x ممکنه هاست مناسب باشه و برای سایت دیگه سرور مجازی و ... موفق باشید
  18. 5 points
    سلام بله میتونید با همین ها سایت رو برگردونید. اول یک دیتابیس خالی بسازید و بعد دیتابیستون رو داخلش ایمپورت کنید. وردپرس رو اپلود کنید روی سرور. بعد پوشه wp-content خودتون رو جایگزین روی سرور کنید. بعد داخل فایل کانفیگ وردپرستون اطلاعات دیتابیستون رو بزنید. سایت بالا میاد.
  19. 5 points
    داخل css باید ادرس دهی کنید قبلش @font-face{font-family:'fontname';src:url(http://www.site.com/wp-content/themes/yourtheme/fonts/font.eot) format("eot"), url(http://www.site.com/wp-content/themes/yourtheme/fonts/font.woff2) format("woff2"), url(http://www.site.com/wp-content/themes/yourtheme/fonts/font.woff) format("woff"), url(http://www.site.com/wp-content/themes/yourtheme/fonts/font.ttf) format("truetype")}
  20. 5 points
    سلام و عرض تبریک بابت فرا رسیدن سال نو، آرزوی سالی همراه با موفقیّت برای تمامی عزیزان مشتاق به یادگیری و انجمن وردپرس پارسی دارم، انشاءالله که در سال جاری با توجّه به برنامه‌های در دست اقدام گروه وردپرس پارسی بتونیم قدمی در راه پر پیچ و خمِ پیشرفتِ وبِ سرزمین عزیزمون ایران داشته باشیم به امید موفقیّت تمامی بچّه های وب ایران ♥
  21. 5 points
    به علت محبوبیت مبحث سئو در انجمن و درخواست دوستان، بخش سئو از زیر بخشی پوسته ها خارج و بصورت یک قسمت مستقل به بخش وردپرس اضافه شد.
  22. 5 points
    سلام امیدوارم که حالتون خوب باشه و همیشه سلامت باشید. قبل از شروع ادامه آموزش ، بگم که یه وقفه طولانی افتاد که به خاطر مشکلات من بود و از این بابت ازتون ماذریت میخوام و امیدوارم دیگه تا آخرش آموزش رو تموم کنم. در ضمن این قسمت فقط برای آموزش هست و هیچ پستی ندید !!! پست های اضافی پاک شدن ... خب توی پست های قبلی تا قسمت منو پیش رفتیم و تقریبا میشه گفت یه هیدر ساده ساختیم و با توابعی مثل list_pages برای نمایش صفحه ها و wp_head و date و ... به صورت ابتدایی آشنا شدیم و استفاده کردیم. رسیدیم تا قسمت منوها و هیدر تکمیل شد و حالا بسته به خودتون میتونید قسمت هیدر رو پیشرفته تر و ... کنید که ما اینجا فقط میخوایم بگیم که چطوری یک پوسته وردپرس تشکیل میشه اونم به ساده ترین روش ممکن ! خالا میرسیم به محتوای داخلی سایت : برای محتوای داخل سایت میایم یک محتوای 2 ستونه تشکیل شده از سایدبار و قسمت مطالب ایجاد میکنیم. فایل index.php رو باز کنید و با استفاده از : <?php get_header() ?> هیدری که ساختید رو فراخوانی کنید. بعد از اون باید قسمت مطالب رو ایجاد کنیم که با استفاده از تگ : <article> محتوا </article> اون رو ایجاد میکنیم و در css به اون استایل میدیم : article { background:#fff; width:690px; border:1px solid #ccc; float:left; padding:5px; } تو این استایل ما اومدیم رنگ پس زمینه رو سفید گذاشتیم و اندازه عرض رو 690 و خاصیت float برای بردن به سمت چپ که اگر درست انجام داده باشید باید یه همچین چیزی در بیارید : خب حالا میریم سراغ این قسمت و شرح محتوا و پست ها و .... : توی این قسمت میایم با استفاده از تگ section پست هارو تعریف میکنیم به این صورت یک کد مینویسیم : <section class="posts"> <?php if(have_posts()) : ?> <?php while(have_posts()) : the_post(); ?> <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> <?php the_excerpt(); ?> <?php endwhile; ?> <?php endif; ?> </section> حالا توضیح کدها : همونطور که میبینید به تگ sectiuon اومدیم کلاس posts دادیم : که در css میتونید به اون خاصیت بدید به هر شکلی که میخواید. <section class="posts"> ....... به اون در css استایل میدیم به این صورت : .posts { font:normal 11px tahoma; color:#555; line-height:21px; } بعد اومدیم مهمترین قسمت یعنی حلقه مطالب وردپرس رو ایجاد کردیم که به ترتیب اولش یک شرط هست که میگه اگر پست داشتیم : <?php if(have_posts()) : ?> اونارو با استفاده از حلقه برایما نمایش بده یعنی این : <?php while(have_posts()) : the_post(); ?> اطلاعات بیشتر در این مورد : https://codex.wordpress.org/The_Loop برای حلقه مطالب یا همون لوپ و : https://codex.wordpress.org/Function_Reference/have_posts برای وجود مطالب با استفاده از شرط خب ، بعد اومدیم قسمتی که از پست ها میخوایم رو فراخوانی کنیم که من در ابتدا عنهوان مطلب رو داخل h2 میزارم به این صورت : <h2><?php the_title(); ?></h2> تو این کد عنوان مطلب رو نمایش میده که اگر بخواید عنوان همراه با لینک به مطالب باشه باید به صورت زیر استفاده کنید : <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> تو اینجا the_permalink وظیفه دریافت آدرس یا همون پیوند به مطلب رو داره اطلاعات بیشتر در کدکس وردپرس : http://codex.wordpress.org/Function_Reference/the_permalink خب حالا قسمت بعدی که خود مطلب هست رو فراخوانی میکنیم که باید به این صورت باشه : <?php the_content(); ?> اطلاعات بیشتر در : codex.wordpress.org/Function_Reference/the_content ولی من در کدها از خلاصه استفاده کردم به این صورت : <?php the_excerpt(); ?> که خلاصه مطلب رو بر حسب اون چیزی که خودتون تعریف میکنید فراخوانی میکنه اطلاعات بیشتر : codex.wordpress.org/Function_Reference/the_excerpt البته در این مورد خلاصه مطلب بعدا در صورت لزوم مفصل صحبت میکنیم البته سوالی هم داشتید بپرسید ( در تاپیک سوالات ) خب حالا باید شرط و حلقمون رو ببندیم با این کدها : <?php endwhile; ?> // بستن حلقه <?php endif; ?> بستن شرط خب حالا سایتتونو نگاه کنید میبینید که مطالبتون نمایش داده میشه حالا شاید مطالبتون عنوانش که با h2 بود یه کم بد جلوه کنه که در css به اون خاصیت میدیم : .posts h2 a { font:bold 12px tahoma; color:#333; border-bottom:1px solid #ccc; padding-bottom:7px } خب حالا اگر همه چیو به درستی انجام داده باشید باید یه چیزی مثل این داشته باشید : خب فک کنم تا همین جا بست باشه و تمرین کنید تا خوب با قسمت پست ها آشنا بشید تا در قسمت بعدی سایدبار و ... رو هم اضافه کنیم در آخر با هم تاکید میکنم که هیچ کدوم از این کدهارو کپی و پیست نکنید و سعی کنید خودتون همرو تایپ کنید. سوال مشکل و هرچی راجب این پست وحلقه و شرط و ... داشتید در تاپیک : تاپیک رفع مشکلات و سوالات مربوط به آموزش طراحی پوسته وردپرس بپرسید حتی اگر ربطی به وردپرس نداشت مثلا شرط ها در php یا حلقه ها در php و ... تا قسمت بعد موفق باشید.
  23. 4 points
    با سلام 'publicly_queryable' => true, بعد یکبار به تنظیمات > پیوندهای یکتا برید و روی ذخیره تغییرات کلیک کنید
  24. 4 points
    سلام برای اینکار میتونید یه منو بسازید و برای گزینه ها اینطوری آدرس دستی ست کنید. مثلا: اسم منو میشه: about و آدرس یا href که ست میکنید میشه: #about . حالا ممکن این سوال پیش بیاد که #about چیه؟ #about آیدی هست که به اون تگ div در صفحه نسبت داده میشه و اطلاعات مربوط به درباره ما اونجا نوشته شده. که مثلا میتونه این شکلی باشه: <div id="about"> <p>این المان برای معرفی بخش درباره ما هست</p> </div> به همین ترتیب میتونید بخش های مختلفی رو تو صفحه درست کنید و به اونها یک آیدی نسبت بدید. و بعد تو منو آدرس ها رو بیاید براساس آیدی هایی که به بخش های مختلف دادید ست کنید.
  25. 4 points
    خب دوستان عزیز سلام الان مدت یک ماهه تقریبا که من اینجام و توی این مدت به یک سوال یک شکل به کررات پاسخ دادم! و اون سوال اینه: قیمت های مختلف برای یک محصول، یا شکل دیگش: قیمت های مختلف برای انواع مختلف از یک محصول متغیر ووکامرس ... بله، همه همین مشکل رو دارن و حق هم دارن برای اینکه آموزش مناسبی به زبان فارسی براش نیست و انگلیسی همه هم که ماشالا نم کشیده و خلاصه تصمیم گرفتم خودم یه آموزش درست کنم برای شما ، آموزشی مخصوص انجمن وردپرس پارسی، که این نکته رو کاملا توش توضیح بدم و باز کنم برای همه ی کسایی که محصولاتی دارن با انواع مختلف یا به اصطلاح محصولات متغیر و میخوان برای هر نوعش حالا بسته به محصول، یه قیمت جداگانه بزارن. لازم به توضیحه که این دومین آموزش از مجموعه آموزشهایی هست که برای انجمن وردپرس پارسی تهیه میکنم و حق و حقوقش هم متعلق به این انجمنه. خب بهتره که شروع کنیم. ما دو حالت داریم، یا فروشگاه ووکامرسمون رو قبلا نصب کردیم و محصولاتمون رو اضافه کردیم و حالا میخوایم ویرایش کنیم و قیمت اضافه کنیم و از این کارا. یا اینکه در حالت دوم ، ما تازه کاریم و برای اولین بار فروشگاهمون رو میخوایم راه بندازیم و شروع کنیم محصول اضافه کنیم. در هر دو حالت فرقی نمیکنه روش کار، در مورد اول شما فقط محصول رو ویرایش میکنی، در مورد دوم محصول رو ایجاد میکنی. در هر دو حالت هم محصولات شما باید متغیر باشن که بتونن ویژگیها و قیمت های مختلف به ازای این ویژگی ها رو ساپورت کنن. مرحله اول! شما باید برای محصولاتتون اون خصوصیات خاصشون رو که از هم مجزاشون میکنه رو به صورت ویژگی تعریف کنین و برای این کار به افزونه یا همون پلاگین احتیاج دارین. شما این پلاگین رو دانلود کنین: https://wordpress.org/plugins/advanced-custom-fields advanced-custom-fields.zip این افزونه توی خود وردپرس هست، حالا بعضی از دوستان میگن پولیه، ولی خب من پولی پاش ندادم تا اونجا که یادمه و فقط دانلودش کردم و فعالش کردم و بعد ازش استفاده کردم و الان اینجا میزارم شما هم دانلود کنید اگه پیداش نکردید و استفاده ببرید. خب بگذریم. این افزونه رو نصب و فعال میکنید تا بتونین برای محصولتون ویژگی درست کنین. ما اینجا یه مثال رو پی میگیریم که همه چیز قشنگ جا بیفته. یه فروشگاه لباس رو در نظر میگیریم که ممکنه هر طرحی یا رنگی از یه لباس یه قیمت جداگانه داشته باشه. مثلا اینجا ما در نظر میگیریم که یه فروشگاهی هست که تیشرت داره و هر طرحی اسمی داره و مشکی به علت اینکه به صورت دیجیتالی چاپ میشه و دستگاه چاپ دیجیتالی هم گرونه و همینطور جوهرش، یه مقدار گرون تر از بقیه هست. هر طرحی هم روی تیشرت یه قیمت داره. مثلا در نظر بگیرین طرحهای مختلف روی تیشرت، مثلا سریال Game of Thrones، طرحهای سنتی و مینیاتور، سریال Breaking Bad.(اینا فقط مثالن) حالا ما سایز های مختلف هم داریم برای این تیشرت ها: S , M , XL پس ما باید برای این تیشرت ها سه تا ویژگی تعریف کنیم. 1- رنگ 2- طرح 3- سایز پس ما افزونه رو نصب کرده ، فعال میکنیم و شروع میکنیم. از طریق منوی ادمین پنل وردپرس وارد محصولات میشیم به این صورت: محصولات =>> ویژگیها =>> افزودن ویژگی جدید حالا در ادامه ی گذینه ی افزودن ویژگی جدید، شروع میکنیم و ویژگی اولمون رو میسازیم. مثلا : نام که معلومه و همینطور نامک، نوع بستگی به خودت داره. من میزارم انتخاب برای مثال. بعد مثلا نام: طرح (که بعد شامل GOT،BB و سنتی و مینیاتور میشه) مرتب سازی پیشفرض: ترتیب دلخواه حالا میای پایین تر و اینا رو هم توی فیلد های انگلیسی مینویسین: custom lable: اسم طرح grouped تیک بخوره display type: text size: small (بسته به سلیقه ی خودتون داره، اینو میگم چون نرمالشه) display in product catalog بلی حالا دکمه ی افزودن ویژگی رو میزنی و ویژگی جدیدت تولید میشه. نکته: حواستون باشه برای ویژگی هایی مثل رنگ display type باید color یا رنگ باشه، که فکر کنم اینو دیگه حتما خودتون میدونین. و به این صورت همه ی ویژگیهای لازم رو میسازیم. مرحله دوم: تعریف کردن ویژگیها این مرحله به این صورته ، ما میبینیم که همونجایی که ویژگی هست و ساخته شده یه گذینه داریم به عنوان پیکره بندی شرایط و مقررات کلیک میکنیم و واردش میشیم و اونجا در سمت راست این گذینه رو میبینیم: افزودن طرح جدید و شروع میکنیم طرح ها رو دونه دونه درست میکنیم و تعریف میکنیم به این شکل Game of Thrones Breaking Bad طرحهای سنتی و مینیاتور حالا ما سه نوع طرح مختلف داریم با سه قیمت مختلف. برای رنگ و سایز هم همین کارا رو باید انجام بدین و در نهایت بعد از اینکه این مراحل رو پشت سر گذاشتیم میرسیم به مرحله ی بعدی یا مرحله سوم که ایجاد متغیر با استفاده از ویژگیهای تعریف شده هست. مرحله ی سوم: ایجاد متغیر برای محصول با استفاده از ویژگیهای تعریف شده محصول رو ویرایش میکنیم یا میسازیم، انتخاب میکنیم که محصولمون متغیر باشه و بعد میریم به قسمت متغیر و شروع میکنیم به ازای سه ویژگی طرح و رنگ و سایز که هر کدوم سه ویژگی زیرمجموعه دارن، به صورت اتومات میزاریم که متغیر بسازه که سر هم رفته اینجا ما بیست و هفت متغیر خواهیم داشت اگه اشتباه نکنم. چرا؟؟؟ خب معلومه. مثلا فرض کنیم من یه تیشرت مشکی سایز XL میخوام با طرح Game of Thrones ولی خواهرم یه تیشرت میخواد به رنگ سفید به سایز M و طرح Game of Thrones و خلاصه الی آخر ... حالا این متغیر ها رو داریم و همه درست شدن مثلا به این شکل: تیشرت مشکی - S - با طرح Game of Thrones تیشرت سفید- S- باطرح Game of Thrones تیشرت مشکی - L - با طرح Game of thrones تیشرت سفید - L - با طرح Game of thrones . . . . و الی آخر حالا تصور کنین که تیشرت مشکی Game of Thrones قیمتش 40.000 تومان هست و تیشرت سفید Game of Thrones قیمتش 30.000 تومان هست. ما برای اینکه این قیمت ها رو اضافه کنیم چیکار میکنیم؟ وارد مرحله ی نهایی میشیم: مرحله نهایی : اضافه کردن قیمت ها به محصول با متغیر های تولید شده اینجا سمت چپ پایین، یه گذینه هست به نام گسترش/بستن روی گسترش کلیک کنین تمامی محصولات تولید شده باز میشن. حالا به ترتیب قیمت ها رو هر چی که هست وارد کنین. این کارو که تموم کردین و قیمت ها رو همه رو که اضافه کردین دکمه ی به روز رسانی فراموش نشه. حالا دقت کنید توی صفحه ی محصولتون میتونین ببینین که سه تا گذینه دارین برای انتخاب و به ازای هر انتخابی که شما بکنین یه قیمت خاصی جلوی شما سبز میشه. یادتون هم باشه که در قسمت انبار توی ویرایش محصول حتما به موجودی انبار یه مقدار دلخواهی بدین. خب اینم از آموزش امروزمون. امیدوارم مفید واقع بشه. و امیدوارم نجات بدم این همه کاربر وردپرس و ووکامرس رو که میان و با همچین مشکلاتی درگیر میشن.
  26. 4 points
    سلام و درود زمینه های دلخواه در وردپرس برای همین منظور پیاده شده است. موفق باشید
  27. 4 points
    سلام افزونه‌ش https://woocommerce.com/products/dynamic-pricing/
  28. 4 points
    سلام چیزی که شما الان داری توضیح میدی یعنی بدترین نوع اجرا رو برای شما انجام دادن و سربار زیادی داره! فکر میکنم جاییکه برای شما پروژه رو زده مفهوم استفاده از پیش فرض های وردپرس رو نمیدونسته و خودش هم مهارت لازم رو نداشته که کدنویسی درستی انجام بده و کار به این شکل در اومده.
  29. 4 points
    با سلام اگر شما به سادگی با css و جی‌کوئری می‌تونید قالب رو برای همه دیوایس‌های موجود ریسپانسیو کنید بهتره به روش خودتون عمل کنید. اما چرا باید از بوتسترپ و فریم ورک‌های مشابه استفاده کنیم؟ پاسخ یک کلام است، افزایش سرعت طراحی! امروز همه سایت‌ها نیاز دارند تا قالبشون ریسپانسیو باشه و در همه دیوایس ها درست نمایش داده بشه! بوتسترپ در این امر به ما کمک میکنه و همچنین در گرید بندی نیز به ما کمک میکنه بنا براین ما درگیر گرید بندی و ریسپانسیو سازی نمیشیم و طرحمون رو پیاده می‌کنیم! همچنین بوتسترپ با دارا بود کامپوننت‌های اسلایدر، منوهای آکاردونی و مودال و... باعث میشه در وقت بسیار صرفه جویی بشه و خودمون رو زیاد درگیر ساخت مدوال‌ها، اسلایدر و... نکنیم کما اینکه همه این موارد قابلیت نمایش در همه دیوایس‌ها رو دارند. در کل ما در طراحی قالب یکسری نکات رو برای همه قالب‌ها رعایت میکنیم مثل گرید بندی، ریسپانسیو سازی، استفاده از اسلایدر، دکمه و... فریم ورک‌ها اومدن اینا رو برای راحتی یکجا جمع کردند! تا وقت ما برای کارهای پایه‌ای تلف نشه! از جایی که بوتسترپ اپن سورس هست خیلی از طراحان وب برروی آن کار میکنند تا استانداردترین فریم ورک ممکن رو ارایه بدهند! همه این‌ها مواردی هست که ما رو مجاب به استفاده از فریم‌ورک‌ها و اللخصوص بوتسترپ می‌کنه. موفق باشید.
  30. 4 points
    سلام و درود توضیح کامل پیاده سازی یه سیستم خبرنامه تحت وردپرس زمانبر هست و در کامنت های انجمن واقعا نمیگنجه. ولی در تاپیک فوق راهنمایی هایی در این زمینه انجام شده. موفق باشید
  31. 4 points
    سلام و درود کد زیر رو در فایل functions.php قالبتون زیر اولین <?php قرار میدید. function post_title_func($atts){ return esc_html(get_the_title()); } add_shortcode('posttitle', 'post_title_func'); از شورتکد این شکلی استفاده میکنید: [posttitle] موفق باشید
  32. 4 points
    با سلام و احترام بنظرم خیلی خوب میشه به عنوان یک مرجع مناسب برای وردپرس در ایران یک بخش به عنوان مارکت ایجاد بشه تا توسعه دهندگان داخلی بتونند افزونه و قالب‌های مرتبط با وردپرس‌شون برای فروش ارايه بدهند. تاکیدم بیشتر برای درج محصولات داخلی هست؛ چون محصولات خارجی رو نمیشه بنا بدلایلی فروخت! وردپرس پارسی این پتانسیل رو داره. با تشکر
  33. 4 points
    سلام ممنون بابت این پیشنهاد ما روی طرح های زیادی داریم کار می کنیم که به نفع جامعه وردپرسی باشه و مسلما فروشگاه هم جزوشن هست. ایشالله طبق روندمون جلو میریم و بخشهای کاربردی رو برای دوستان رونمایی می کنیم.
  34. 4 points
    با سلام و احترام در ادامه توضیحات geeksesi عزیز اگه زبان php رو در حد متوسط بلد هستید که مشکلی نداره در غیر این صورت باید حتما قبلش به زبان php مسلط بشید و اینکه برای یادگیری یک زبان برنامه نویسی شما نیاز به درک برنامه نویسی دارید که این روند یک پروسه زمانبر هست در یادگیری یک زبان برنامه نویسی هیچ راه میانبری وجود نداره. شما باید زمان بزارید و یاد بگیرید و در این مسیر داشتن یک راهنما که راه رو بلد باشه میتونه به شما کمک زیادی بکنه.
  35. 4 points
    اینفوگرافی جدول نقش کاربری وردپرس در تصویر اینفوگرافی زیر جدول نقش کاربری و میزان دسترسی هر نقش به بخشهای مدیریتی وردپرس نمایش داده شده است.
  36. 4 points
    به نام خدا این بحث نه سیاسی است، نه مذهبی، نه اتهام و تهدید است و نه برای خرید و فروش (قابل توجه ناظران محتوایی فروم) صرفا می خواهم بگویم که زلزله ای در کشور رخ داده است و جان خیلی از هموطنانمان را گرفته است. شاید برخی از این عزیزانی که فوت کرده اند یک روزی مشتری من و شما و یا کاربر همین فروم بوده اند. شاید .. اما نه در این فروم و نه در هیچ وبسایت وردپرسی و طراحی سایتی من ندیده ام که یک ابراز تاسف یا تسلیتی در قالب یک تاپیک یا مطلب بیان شود. بگذرد از این که توقع می رود یک روز یا بخشی از درآمدمان را صرف این عزیزان کنیم. چرا که خسارت ناشی از زلزله وحشتناک است. امیدوارم تغییری در این روند فعلی مدیران وبسایتها حاصل شود. خیلی هم به جایی بر نمی خورد که کمی ابراز ناراحتی خود را بروز دهیم. قرار نیست اگر ناراحتی مان را بروز دادیم کسی بگوید اینها حرفه ای نیستند و مسائل حاشیه ای را وارد کار و فعالیت خود کرده اند. قرار نیست به این حس همدردی مان کسی بخندد. فقط قرار است مرهمی باشیم برای عده ای بی سرپناه که باید بر داغ عزیزانشان در این شبهای سرد صبر کنند... خواستم صرفا تلنگری به خودمان زده باشم. ممنون
  37. 4 points
    به نام خدای مهربان خودمون سلام و عرض ادب خدمت همه ی دوستان عزیز و دانای من من ابتدا خودمو معرفی میکنم : محمد بزرگ زاده هستم علاقه مند به وردپرس جان. تقریبا دو ساله که تو وردرپرس پارسی عضوم . و واقعا باید بگم دانا ترین دوست من بوده. حالا از این تعریف تمجیدا بگذریم ( آخه من هنوز از خودم تعریف نکردم ). آقا من تا الان تو اون یکی اکانتم نمیتونستم پاسخ یا تاپیکی ارسال کنم. دلیلش رو نمیدونم ولی دسترسی محدود بود بخاطر همین اکانت رو بستم و یه اکانت دیگه ساختم در سایت و الان در خدمت شمام. آخه این موضوع اطلس وردپرس واقعا برام مهم شد خب برم سر اصل مطلب و دیدگاهم درمورد این تاپیک و این موضوع بگم پیشنهاد که توسط @ToranjArts عزیز خوندم استارت ایده و بقیه دوستان هم واقعا نظرات جالبی دادن. به نظرم دیگه بحث و انتقاد و گلایه و تجربه اینا رو بذاریم کنار بحث تکرار شده رو دوباره تجدید نکنم بهتره بارها شده در همین انجمن مشکلی که داشتم رو حل کردن ( ولی باید بگم که اما داره ) منظورم اینه که داخل تاپیک مشکل رفع میشه . دوستان مثلا کد های مختلفی میذارن. اما این که از بین 10 تا کد که میذارن یکیش کار میکنه یعنی درواقع یکیش کامل تر از بقیه هست. همینطور معرفی افزونه - قالب و انواع و اقسام چیز ها (یکی تاپیک زده افزونه ی کپچا میخوام - عزیزان 10 تا افزونه معرفی میکنن - دستشون درد نکنه ولی خب اگه من 10 تا انتخاب میخواستم که تو گوگل سرچ میکردم 10 صفحه برام نتیجه میاورد ) و با این همه پر حرفی برسیم به پیشنهاد اصلی : * اطلس وردپرس و اقسام آن : 1 - بخش آماتور تقسیم شده به دسته بندی آموزش ها آماده بشه : یعنی این که طرف میخواد فروشگاه بزنه یا فلان سایتو بزنه. خب یه سری مباحث برای تمام مرحال طراحی وب از طریق وردپررس لازمه پس اونها شامل همه میشه. اما کسی که میخواد مجله خبری بزنه فکر نکنم آموزش های ووکامرس به دردش بخوره. پس پیشهاد اول من اینه : آموزش نه به صورت جامع و 0 تا 100 ( به صورت پروژه ای ) هرکس هر کاری خواست بکنه باید بره تو همون بخش خاص. و هروقت لازم شد دوباره به مرجع سر بزنه و مبحث دیگه ای رو مطالعه کنه. مثال : (آره من میخوام یه سایت خبری بزنم - خب میرم تو بخش نصب وردپرس - عه چه جالب آموزش نصب قالب رو هم داره - خب از این روشی که اینجا نوشته هم میشه پست فرستاد- چند ماهی با سایت خبریم فعالیت میکنم و هیچ مشکلی ندارم - * اما حالا میخوام یه فروشگاه در سایت خبری خودم تاسیس کنم * - به مرجع مراجعه میکنم و آموزش های بخش فروشگاهی رو مطالعه میکنم.) ویکی آموزش : ظاهر یک ویکی رو داشته باشه اما مختص آموزش. یعنی با ظاهر یک داریرۀ المعارف و باطن یک مرجع آموزشی. 2 - بخش پرفشنال (مراحل بخش پرفشنال پشت سر هم هستند. به ترتیب مطالعه کنید) درخواست ها : درواقع یه بخشی باشه که کاربر آماتور بتونه درخواست بده و یا مشکلش رو بیان کنه. مثال : (آقا سایت من مگا منو نداره. بلد نیستم کد نویسی. یا بهم کد نویسی یاد بدین. یا افزونه ای معرفی کنید) البته اینی که گفتم شبیه تاپیک یک فروم بود. اما در مراحل بعدی تفاوت این مورد رو متوجه میشین. اتاق فکر : بعد از دریافت درخواست کاربر آماتور، کاربران پرفشنال که با به دست آوردن امتیاز به این درجه رسیدن. در اتاق فکر شروع به مشورت و تهیه آموزش کد نویسی مثلا : (ساخت یک مگا منو) کرده و عده ای دیگه در اتاق فکر به تست و آزمایش افزونه های آماده بپردازند تا هم ( ایجاد مگا منو ) از طریق کد نویسی هم از طریق افزونه در ویکی وردپرس ارسال بشه. توسعه دهندگان : توسعه دهندگان هم همونایی هستند که فقط در اتاق فکر مشغول نیستند. میشه یه جوری گفت مثل ویکی پدیا ارسال مطلب رو برای کاربران پرفشنالی که امتیاز بالا گرفتن آزاد بذاریم. درواقع اونها میشن دِوِلوپر و اجازه ارسال مطالبی که در اتاق فکر ارائه میشه رو دارن. { بخوام کامل تر بگم باید بگم هر اتاق فکر یک تا دو نفر به عنوان دِوِلوپر داره که بعد از به نتیجه رسیدن کاربران پرفشنال آموزش و یا مقاله آماده شده رو در ویکی قرار میده. } 3 - بخش لِرنینگ آغاز کار : اینجا ما به ساخت پکیج های آموزشی و یا برگذاری دوره های آنلاین مباحث مختلف وردپرس میپردازیم. تکمیل فرایند : بعد از آموزش ما با قرارداد مستقیم با QAL انگلستان گواهینامه های پایان دوره اعطا میکنیم. ( اینو گفتم چون میتونم مسئولیتش رو بپذریم ) درآمد زایی : ما میتونیم جذب مدرس آزاد داشته باشیم یا نه فقط میتونیم پکیج های آموزشی رو فقط از طریق خود سایت ارائه کنیم. (درآمد زایی زیاد مساله پر رنگی نیست حالا ) مجوز : آقا برا این یکی یه پیشنهادی بده ! فک کنم باید مجوز هایی فرا تر از ساماندهی بگیریم. 4 بخش فریلنسرینگ زیاد نمیخوام توضیح بدم چون دیگه خیلی دارم پر حرفی میکنم دیگه خودمم خسته شدم ( درواقع سایت هایی مثل دورکار - پونیشا - کارک و ... ) فریلنسرینگ : کارفرما میخواد یه سایتی تاسیس کنه و میاد مناقصه ای برگذار میکنه برای انتخاب کسی که سفارشش رو قبول کنه. (خب هر فریلنسری تو مناقصه برنده بشه کار مال اونه) فریلنسر : همون پیمان کار خودمونه (البته میدونم میدونید) کار فرما : کسی که سفارشی چیزی داره (اینم میدونم میدونید) مناقصه : هرکس پیشنهاد با قیمت پایین تری بده برنده میشه ( اینم میدونستید ؟ ) 5 - پیشنهاد شما ((( اینجا مکان پیشنهاد شماست ))) در آخر از همتون عذر خواهی میکنم بخاطر پر حرفی هام. ممنون از وردپرس پارسی جان.
  38. 4 points
    این تاپیک قدیمی هست. اما چون موضوع جذابی هست، من اینجا چند نکته میگم که شاید به درد کسی بخوره. توی php یا حتی زبان های دیگه مثل جاوا و سی شارپ کدها همیشه در دسترس هستند و حتی اگر نباشند هم باز میشه نرم افزار ها رو کرک کرد. پس برای اینکه متضرر نشیم چیکار باید بکنیم؟ دقت کنید گفتم متضرر نشیم نگفتم کسی نتونه کرک کنه. اولین راه حل یه سیستم لایسنس گذاری تحت سروره که مثلا یه سری اطلاعات رو محصول شما بیاد و از سرور دریافت کنه مثلا دیتابیسش توی سرور خودتون باشه و غیره ... که قبلا گفتم و راه دور زدن هم باز داره. راه حل دیگه میتونه این باشه که مرتب محصولتون رو اپدیت کنید. این چیزیه که تیم های خارجی الان در پیش گرفتن و با دادن آپدیت کاربرا احساس می کنند اخرین نسخه بهترین نسخه هست در حالی که ممکن باگ های کوچکی رو فیکس کرده باشید یا اینکه یه قابلیت خیلی کم اهمیت اضافه کرده باشید. همچنین قابلیت های جدید رو به مرور اضافه کنید نه اینکه همه رو توی یه نسخه قرار بدید. همراه با هر آپدیت هم میتونید یکمی سیستم لایسنس گذاری تون رو تغییر بدید. یه روش دیگه اینه که سیستم لایسنس گذاری ساده داشته باشید یا اصلا محصول رو رایگان عرضه کنید اما پشتیبانی قوی ارائه بدید. مثلا نصب رایگان و دیباگ و فروم پشتیبانی و غیره... که معمولا برای پروژه های بزرگ جواب میده. یا میشه قابلیت های خاصش پولی باشن که تجربه نشون داده قابلیت های جانبی خیلی سخت تر گیر میان توی اینترنت تا خود محصول. در نهایت به فکر بهبود مهارتتون توی کدنویسی و در نتیجه محصول نهایی و کسب رضایت خریدار باشید تا اینکه بخواید نگران باشید یک یا چند نفر محصولتون رو کرک نکنن.
  39. 4 points
    سلام توضیح کمی ناقص هستش با کد زیر میتوانید 3 سایت رو باز کنید <a href="http://forum.wp-parsi.com" target="_blank" onclick="window.open('http://www.google.com'); window.open('http://www.yahoo.com');"> کلیک کنید</a> برای اضافه و کم کردن هم این قسمت زیر رو ( اضافه یا کم کنید ) window.open('http://yahoo.com');
  40. 4 points
    سلام مواردی که جناب @ahmadwp فرمودند صحیحه. پست ارسال شده دارای دو تاریخ می باشد یکی published_date و دیگری modified_date که published_date تاریخ انتشار پست هست و ثابت هست و modified_date که آخرین تاریخ بروزرسانی پست است و هنگام زدن دکمه بروزرسانی آپدیت می شود. گوگل برای بررسی بروزرسانی پست از modified_date استفاده میکنه. اگر توجه کنید متوجه میشید در نقشه سایت هم modified_date اومده نه published_date.
  41. 4 points
    کد شما به صورت زیر میشه <?php /*Template Name: contact*/ /*فرم تماس با ما*/ if (isset($_POST['submitted'])) { if (trim($_POST['contactName']) === '') { $nameError = 'لطفا نام خود را وارد نمایید'; $hasError = true; } else { $name = trim($_POST['contactName']); } if (trim($_POST['email']) === '') { $emailError = 'لطفا آدرس ایمیل خود را وارد نمایید.'; $hasError = true; } else if (!preg_match("/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i", trim($_POST['email']))) { $emailError = 'آدرس ایمیل وارد شده صحیح نمی باشد'; $hasError = true; } else { $email = trim($_POST['email']); } if (trim($_POST['comments']) === '') { $commentError = 'لطفا پیغام خود را وارد نمایید'; $hasError = true; } else { if (function_exists('stripslashes')) { $comments = stripslashes(trim($_POST['comments'])); } else { $comments = trim($_POST['comments']); } } if (trim($_POST['website']) === '') { $websiteError = 'لطفا نام سایت خود را وارد نمایید'; $hasError = true; } else { if (function_exists('stripslashes')) { $comments = stripslashes(trim($_POST['website'])); } else { $comments = trim($_POST['website']); } } if (trim($_POST['subject']) === '') { $subjectError = 'لطفا موضوع پیام خود را وارد نمایید'; $hasError = true; } else { if (function_exists('stripslashes')) { $comments = stripslashes(trim($_POST['subject'])); } else { $comments = trim($_POST['subject']); } } if (!isset($hasError)) { $emailTo = get_option('tz_email'); if (!isset($emailTo) || ($emailTo == '')) { $emailTo = get_option('admin_email'); } $subject = 'یک پیغام از طرف ' . $name; $body = "نام فرستنده: $name \n\nایمیل نویسنده: $email \n\nنام وبسایت: $website\n\nموضوع پیام: $subject\n\nپیغام: $comments"; $headers = 'From: ' . $name . ' <' . $emailTo . '>' . "\r\n" . 'Reply-To: ' . $email; wp_mail($emailTo, $subject, $body, $headers); $emailSent = true; } } ?> <?php get_header(); ?> <div class="container"> <div id="content"> <?php get_sidebar('right'); ?> <?php if (have_posts()): while (have_posts()): the_post(); ?> <div <?php post_class() ?> id="post-<?php the_ID(); ?>"> <div class="contactForm1"> <div class="contacth1"><?php the_title(); ?></div> <?php if (isset($emailSent) && $emailSent == true) { ?> <div> <p>با تشکر، ایمیل شما با موفقیت ارسال شد</p> </div> <?php } else { ?> <?php the_content(); ?> <?php if (isset($hasError) || isset($captchaError)) { ?> <p>متاسفم، خطایی رخ داده است لطفا مجددا سعی نمایید<p> <?php } ?> <form action="<?php the_permalink(); ?>" class="contactForm" method="post"> <ul> <li> <label for="contactName">نام شما:</label> <input type="text" name="contactName" id="contactName" value="<?php if (isset($_POST['contactName'])) echo $_POST['contactName']; ?>" /> <?php if ($nameError != '') { ?> <span><?= $nameError; ?></span> <?php } ?> </li> <li> <label for="email">ایمیل شما:</label> <input type="text" name="email" id="email" value="<?php if (isset($_POST['email'])) echo $_POST['email']; ?>" /> <?php if ($emailError != '') { ?> <span><?= $emailError; ?></span> <?php } ?> </li> <li> <label for="email">نام سایت:</label> <input type="text" name="website" id="website" value="<?php if (isset($_POST['website'])) echo $_POST['website']; ?>" /> <?php if ($websiteError != '') { ?> <span><?= $websiteError; ?></span> <?php } ?> </li> <li> <label for="email">موضوع پیام</label> <input type="text" name="subject" id="subject" value="<?php if (isset($_POST['subject'])) echo $_POST['subject']; ?>" /> <?php if ($subjectError != '') { ?> <span><?= $subjectError; ?></span> <?php } ?> </li> <li><label for="commentsText">پیغام:</label> <textarea name="comments" id="commentsText" rows="20" cols="30"><?php if (isset ($_POST['comments'])) { if (function_exists('stripslashes')) { echo stripslashes($_POST['comments']); } else { echo $_POST['comments']; } } ?></textarea> <?php if ($commentError != '') { ?> <span><?= $commentError; ?></span> <?php } ?> </li> <li> <input type="submit" value="ارسال ایمیل"></input> </li> </ul> <input type="hidden" name="submitted" id="submitted" value="ارسال ایمیل" /> </form> <?php } ?> </div><!-- .entry-content --> </div><!-- .post --> <?php endwhile; endif; ?> </div><!-- #content --> <?php get_sidebar('left'); ?> </div><!-- #container --> <?php get_footer(); ?> برای کپچا هم میتونین از کدهای زیر استفاده کنید
  42. 4 points
    این کلاس کپچا هست که خودم نوشتم و استفاده میکنم <?php /** * @author lord_viper * @copyright 2013 */ class bn_captcha { private $font_size = 5; private $fontfilename = ''; private $bg_color = array(255,255,255); private $text_color = array(0,0,0); private $line = 0; private $noise = 0; private $elipse = 0; private $elfill = false; private $text = ''; private $img; protected static $instance; function __construct() { if (session_status() == PHP_SESSION_NONE) //if (!isset($_SESSION)) session_start(); } public static function instance() { if(!isset(self::$instance)) self::$instance = new self(); return self::$instance; } private function RandomString($length = 10, $type = 'char',$repeat=2) { $Special = '!@#$%^&*()-_ []{}<>~+=,.;:/?|'; $number = '0123456789'; $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; switch($type) { case 'all' :$str = $Special.$number.$chars;break; case 'char':$str = $chars;break; case 'num' :$str = $number;break; default :$str = $chars.$number; } return substr(str_shuffle(str_repeat($str,$repeat)),0,$length); } public function line($count) { $this->line = $count; return $this; } public function noise($count) { $this->noise = $count; return $this; } public function font($fontname,$fontsize) { $this->fontfilename = $fontname; $this->font_size = $fontsize; return $this; } public function ellipse($count,$fill=false) { $this->elipse = $count; $this->elfill = $fill; return $this; } public function text($text='') { $this->text = $text; return $this; } public function show($text_count=5,$text_type='all',$bgcolor='#000',$txtcolor='#FFFFFF',$echo=true) { if(empty($this->text)){ $this->text = self::RandomString($text_count,$text_type); $_SESSION['__captcha'] = strtolower($this->text); $this->text = wordwrap($this->text,1,' ',true) ; } $size = self::get_img_size(); $this->img = imagecreatetruecolor($size['width'],$size['height']); self::draw_ellipse($size); self::draw_line($size); imagefill($this->img,0,0,hexdec($bgcolor)); if(empty($this->fontfilename)) imagestring($this->img,5,10,rand(5,15),$this->text,hexdec($txtcolor)); else imagettftext($this->img,$this->font_size,0,10,rand($size['height']-15,$size['height']-5),hexdec($txtcolor),$this->fontfilename,$this->text); self::draw_noise($size); ob_start(); ImagePng($this->img); $img = base64_encode(ob_get_clean()); if($echo) echo "<img src='data:image/jpeg;base64,$img' />"; else return "<img src='data:image/jpeg;base64,$img' />"; } public function check_captcha($post) { return ($post==$_SESSION['__captcha']?true:false); } //______________________________________________________________________________________________________________________________ private function get_img_size() { $ret = array(); if(empty($this->fontfilename)){ $w = imagefontwidth($this->font_size); $h = imagefontheight($this->font_size); $ret['width'] = ($w * strlen($this->text)) + 20; $ret['height'] = $h + 20; }else{ $siz = imagettfbbox($this->font_size,0,$this->fontfilename,$this->text); $ret['width'] = $siz[4]+20; $ret['height'] = abs($siz[7])+20; } return $ret; } private function draw_line($size) { if($this->line>0){ $width = $size['width']; $height = $size['height']; $minwidth = intval($size['width'] / 4); for ($i = 0; $i <= $this->line; $i++){ imageline($this->img, rand(1, $minwidth), rand(1, $height), rand($width - $minwidth,$width), rand(1, $height), rand(1,16000000)); } } } private function draw_noise($size) { if($this->noise>0){ $width = $size['width']; $height = $size['height']; for ($i = 0; $i <= $this->noise; $i++){ imagesetpixel($this->img, rand(1, $width), rand(1, $height), rand(1,16000000)); } } } private function draw_ellipse($size) { if($this->elipse>0){ $width = $size['width']; $height = $size['height']; for ($i = 0; $i < $this->elipse; $i++){ $cx = (int)rand(15, $width - 5); $cy = (int)rand(15, $height - 5); $h = rand(1, 30); $w = rand(1, 30); if ($this->elfill) imagefilledellipse($this->img, $cx, $cy, $w, $h,rand(1,16000000)); else imageellipse($this->img, $cx, $cy, $w, $h,rand(1,16000000)); } } } } ?> برای استفاده به صورت زیر عمل کنید $cap = new bn_captcha; //check kardan captcha //$_POST['captcha'] مقدار input کد امنیتی هست name=captcha if($cap->check_captcha($_POST['captcha'])) echo 'captcha is true'; else echo 'captcha is false'; //ایجاد کپچا فقط عدد 6 کاراکتر echo $cap->show(6,'num'); //ایجاد کپچا عدد - حروف - سیمبل 6 کاراکتر echo $cap->show(6,'all'); // ایجاد کپچت فقط حروف 6 کاراکتر پس زمینه مشکی رنگ حروف سفی echo $cap->show(6,'char','#000','#FFF');
  43. 4 points
    سلام دوست عزیز برای انجام اینکار می توانید از کد زیر در قالب خودتون استفاده کنید: <?php if ( is_user_logged_in() ) { echo 'محتوایی که قرار هست برای کاربر لاگین شده نمایش بدید!'; } else { echo 'محتوایی که قرار هست برای کاربران مهمان نشان دهید'; } ?> موفق باشید...
  44. 4 points
    خوب. یه فایل به نام .htaccess ایجاد میکنید توی مسیر /wp-content/uploads/ یعنی توی پوشه uploads ایجادش میکنید بعد این کدها رو میذارید توش. <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^(.*)$ "http\:\/\/img\.example\.com\/uploads\/$1" [R=301,L] </IfModule> جای example هم اسم دامنه خودتون رو میذارید.
  45. 4 points
    شما نمیتونید از مرورگر و... این موارد پیدا کنید چون این کدها سمت سرور پردازش میشوند و خروجی آن ها برای شما نمایش داده میشود پس شما باید مثلا متن و یا کلاس مورد نظر درون فایل ها جستجو کنید و بخوانید و ادیت کنید
  46. 4 points
    ترفندهایی کاربردی برای htaccess سایت وردپرس آیا بدنبال ترفندهایی کاربردی برای htaccess سایت وردپرس خود هستید؟ فایل htaccess یکی از فایل های قدرتمند برای تنظیمات است که کارهای شسته رفته ای برای سایت وردپرس شما انجام می دهد. در این مقاله سعی داریم تعدادی از کارهای این فایل را برای شما توضیح دهیم. فایل htaccess چیست و چطور می توان آن را ویرایش کرد؟ این فایل در حقیقت تنظیماتی جامع برای تنظیمات سرور است و به شما این امکان را می دهد که قوانینی که برای سایت خود می خواهید با اعمال این کدها اعمال کنید. وردپرس از این فایل برای ایجاد ساختار مناسب برای آدرس سئو استفاده می کند که قطعا این حداقل کاری است که این فایل برای شما انجام می دهد. جایگاه فایل htaccess در فایل روت وردپرس شماست. برای اینکه بتوانید این فایل را ویرایش باید به کلاینت اف تی پی متصل شوید. قبل از ویرایش فایل htaccess مهم است که یک نسخه پشتیبان به عنوان کپی از آن بگیرید تا در صورت نیاز از آن استفاده کنید. در ادامه به برخی از فواید استفاده از htaccess می پردازیم: ۱- محافظت از قسمت مدیریت سایت شما می توانید از htaccess برای محافظت از سامانه مدیریت وردپرس استفاده کنید. بدین صورت که htaccess می تواند محدودیت هایی برای آی پی هایی که می خواهند به سایت شما وارد شوند بگذارد. AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "WordPress Admin Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all # whitelist Syed's IP address allow from xx.xx.xx.xxx # whitelist David's IP address allow from xx.xx.xx.xxx </LIMIT> فراموش نکنید که بجای عبارت xx در کد های بالا آی پی خود را جایگزین کنید. اگر بیشتر از یک آی پی دارید مطمئن شوید که همه را درست وارد کرده اید. ۲- قرار دادن رمز عبور اضافی بر روی wp-admin اگر از مکان های مختلفی به وبسایت وردپرس خود متصل می شوید ممکن است ایجاد محدودیت برای آی پی برای شما کارساز نباشد. برای همین می توانید از فایل htaccess برای اضافه کردن رمز عبور بخ مدیریت استفاده نمایید. برای این کار ابتدا نیاز به ساختن یک فایل .htpasswds دارید. این کار به راحتی به صورت آنلاین قابل انجام است. فایل .htpasswds را خارج از دایرکتوری وب یا فولدر /public_html/ آپلود کنید. شاید مسیر زیر خوب باشد: /home/user/.htpasswds/public_html/wp-admin/passwd/ مرحله بعد ساختن یک فایل htaccess و آپلود در دایرکتوری /wp-admin است. سپس کدهای زیر را اضافه کنید: AuthName "Admins Only" AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd AuthGroupFile /dev/null AuthType basic require user putyourusernamehere <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files> نکته مهم این است که مسیر AuthUserFile با مسیر .htpasswds جایگزین کنید و نام کاربری خود را به آن اضافه کنید. ۳- جلوگیری از نمایش فایل های دایرکتوری بسیاری از متخصصین امنیتی وردپرس توصیه می کنند دسترسی ورود به دایرکتوری محدود شود. با دسترسی به دایرکتوری هکرها می توانند به دایرکتوری و ساختار فایل های شما آشنایی پیدا کرده و نقاط ضعف سایت های شما را متوجه شوند. برای غیرفعال کردن دسترسی به دایرکتوری به کدهای زیر از فایل htaccess نیاز دارید: Options -Indexes ۴- جلوگیری از اجرای PHP در برخی از دایرکتوری های وردپرس بعضی وقت ها هکرها در سایت نفوذ می کنند و یک بکدر یا در پشتی را بر روی وبسایت شما نصب می کنند. گاهی اوقات سامانه هکی که گفته شد به عنوان هسته اصلی در فایل وردپرس جایگزین شده و در فولدر /wp-includes/ یا /wp-content/uploads/ می رود. راه بهتری برای بالا بردن امنیت وردپرس غیرفعال کردن اجرای PHP در برخی از دایرکتوری ها است. برای این کار به یک فایل بلنک htaccess بر روی کامپیوتر خود نیاز دارید که کد زیر را در آن جاگذاری کنید: <Files *.php> deny from all </Files> سپس فایل مذکور را ذخیره کرده و در /wp-content/uploads و /wp-includes/ بارگذاری کنید. ۵- محافظت از فایل wp-config.php همانطور که می دانید مهم ترین فایل روت وبسایت وردپرس شما wp-config.php است. این فایل حاوی اطلاعات پایگاه داده و نحوه اتصال به آن است. برای جلوگیری از دسترسی های غیر مجاز غیر مجاز کدهای زیر را به فایل htaccess اضافه کنید: <files wp-config.php> order allow,deny deny from all </files> ۶- تنظیم ریدایرکت ۳۰۱ در فایل htaccess استفاده از ریدایرکت ۳۰۱ یکی از راه های مناسب برای این است که به استفاده کنندگان از سایت خبر دهید که محتوا به آدرس دیگری منتقل شده است. اگر می خواهید سریع این کار را انجام دهید باید کدهای زیر را در فایل htaccess کپی کنید: Redirect 301 /oldurl/ http://www.example.com/newurl Redirect 301 /category/television/ http://www.example.com/category/tv/ ۷- بلاک کردن آی پی آدرس های مشکوک آیا تا بحال تقاضاهای زیاد و غیرعادی برای ورود به سایتتان از آی پی خاصی را مشاهده کرده اید؟با استفاده از htaccess می توانید به راحتی آی پی های مشکوک را بلاک کنید. برای این کار می توانید از کد زیر در فایل htaccess استفاده کنید: <Limit GET POST> order allow,deny deny from xxx.xxx.xx.x allow from all </Limit> فراموش نکنید که به جای عبارت xx آی پی آدرس مورد نظر را قرار دهید تا بلاک شود. ۸- غیرفعال کردن هات لینک ها – نمایش تصاویر سایت شما در سایت های دیگر نمایش عکس های سایت شما در وبسایت های دیگر می تواند وبسایت شما را کند کرده یا برای پهنای باند شما مشکلی بوجود آورد. البته این کار مشکلی برای وبسایت های کوچک بوجود نمی آورد. اما اگر وبسایتی محبوب دارید یا وبسایت شما دارای عکس های زیادی است باید در این مورد کمی احتیاط کنید. با اضافه کردن کد زیر به فایل htaccess خود می توانید از هات لینک ها جلوگیری کنید: #disable hotlinking of images with forbidden or custom image option RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?fenix.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L] فراموش نکنید که دامنه پیش فرض در این کد ها گوگل و فنیکس می باشد. با افزودن نام دامنه وبسایت خود این موضوع را اصلاح کنید. ۹-جلوگیری از دسترسی های غیر مجاز به htaccess برای جلوگیری از دسترسی های غیر مجاز مانند دسترسی هکرها به وبسایتتان و فایل htaccess وبسایت کدهای زیر را به فایل مذکور اضافه کنید: <files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files> ۱۰- افزایش محدودیت بارگزاری فایل ها راه های مختلفی برای بالابردن مقدار مجاز سایز فایلهای بارگزاری شده بر روی وبسایت وجود دارد. برای کسانی که از هاست به اشتراک گذاشته شده استفاده می کنند برخی از این راه ها ممکن است درست عمل نکند. با استفاده از کدهای زیر و اضافه کردن آن ها به htaccess به راحتی می توانید این کار را انجام دهید. php_value upload_max_filesize 64M php_value post_max_size 64M php_value max_execution_time 300 php_value max_input_time 300 این فایل به سادگی به سرور می گوید تا از مقادیر تعریف شده برای اندازه حجم فایل بارگزاری و آپلود شده و بیشترین زمان آن در وردپرس را تغییر دهد. ۱۱-جلوگیری از دسترسی به XML-RPC با استفاده از htaccess هر فایل نصب وردپرس با فایلی با نام xmlrpc.php موجود است. این فایل به نرم افزار ثالث اجازه می دهد به سایت وردپرس شما متصل شود. بسیاری از متخصصان امنیت وردپرس توصیه می کنند اگر از نرم افزار ثالثی استفاده نمی کنید باید این قابلیت را غیر فعال کنید. راه های بسیاری برای این کار وجود دارد. یکی از راه ها اضافه کردن کد زیر به فایل htaccess است: # Block WordPress xmlrpc.php requests <Files xmlrpc.php> order deny,allow deny from all </Files> ۱۲- مسدود کردن اسکن نویسنده ها در وردپرس برای هکرها راهی در وردپرس وجود دارد که با سوء استفاده از آن می توانند تعدادی از نام های کاربری را پیدا کرده و پس از یافتن آن نام ها تلاش کنند تا پسورد آن ها را کرک کنند. برای جلوگیری از این سوء استفاده هکرها و بالا بردن امنیت سایت خود می توانید کدهای زیر را به فایل htaccess وردپرس خود اضافه کنید: # BEGIN block author scans RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} (author=\d+) [NC] RewriteRule .* - [F] # END block author scans امیدواریم که اطلاعات موجود در این مقاله به شما برای ارتقاء امنیت وبسایت شما مفید بوده باشد. منبع : https://fenix.ir/?p=778
  47. 4 points
    مشکل حل شد! راه حل رو میگم که اگه کس دیگه ای این مشکل رو داشت به کمکش بیاد: کافیه این کد رو توی تگ هید قالبتون بذارید: <meta name="viewport" content="width=device-width, initial-scale=1">
  48. 4 points
    درود اصلا مشکلی نیست می تونه یک تگ در هر پست تکرار بشه اما نباید تگ با عنوان پست یکی باشه
  49. 4 points
    سلام. شاید راه های دیگه هم باشه اما چیزی که به ذهن من میرسه این هست که اگر مطالب زیاد هستن و واقعا می خواید این کار رو انجام بدید، به این صورت عمل کنید: اول از یه وردپرس توسط افزونه های موجود فایل xml اکسپورت بگیرید. به استانداردش دقت کنید و مطابق با همون استاندارد اسکریپتی توی سایت asp تون بنویسید که بیاد از مطالب خروجی xml مشابهش بگیره ، بعد خیلی راحت میتونید اون فایل رو توی وردپرس ایمپورت کنید. البته باید دقت کنید که برای ایمپورت کردن تصاویر لینک ها باید کامل و دقیق باشند یعنی نسبی نباشن آدرس دامنه توش باشه! موفق باشید.
  50. 4 points
    فعال سازی کش مرورگر : یکی از مشکلات اکثر وب سایت ها این مورد هست که کش مرورگر رو برای فایل ها فعال نمیکنند . فرض کنید سایت شما 10 عکس ثابت داره و با هر بار لود قالب سایت ، این عکس ها هم لود میشه . حالا اگر قرار بر این باشه که بار این لود از سمت سرور انجام بشه و کاربر تمام فایل رو دریافت کنه خب مسلماً سرعت لود سایت بسیار کند خواهد بود . بنابراین بهترین راه اینه که این فایل ها مدت زمان خاصی روی کامپیوتر بازدید کننده ذخیره بشه و در هر بار لود سایت این عکس ها بجای لود از سرور از سایت خود کاربر لود بشه . انجام این کار خیلی ساده هست . کافیه کدهای زیر رو به فایل htaccess سایتتون اضافه کنید . ## EXPIRES CACHING ## ExpiresActive On ExpiresByType image/jpg "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType text/css "access plus 1 month" ExpiresByType application/pdf "access plus 1 month" ExpiresByType text/x-javascript "access plus 1 month" ExpiresByType application/x-shockwave-flash "access plus 1 month" ExpiresByType image/x-icon "access plus 1 year" ExpiresDefault "access plus 2 days" ## EXPIRES CACHING ## شما میتونید زمان های استفاده شده رو به دلخواه خودتون ویرایش کنید .