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


Popular Content

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

  1. 15 points
    با سلام و عرض تبریک سال نوی خورشیدی خدمت همه دوستان عزیز سال 1396 پنجمین بهاری است که همراه با سایر همکاران و دوستان وردپرس پارسی در خدمت دوستان عزیز خواهیم بود. در این چندسال همیشه سعی ما بر کمک به جامعه وب فارسی و توسعه و فراگیری هر چه بیشتر وردپرس بود، در این مسیر اصل و بنیاد کاری ما تفکر کدبازی (Open Source) و انتشار رایگان دانسته هایمان بود. و امید داریم در سال جدید هم همچنان بتوانیم با کمک همه عزیزان این مسیر را هر چه بهتر و با کیفیت تر ادامه دهیم. در سال پیش رو مهمترین برنامه های ما بدین شرح است: - توسعه انجمن و پورتال سایت - برگزاری دومین دوره همایش وردپرس ایران - برگزاری اولین دوره وردکمپ در ایران - برگزاری کارگاه های وردپرس اما مهمترین کار ما در سال جاری یک سورپرایز بسیار مفید و ارزشمند است که به زودی از آن رونمایی می شود. و با کمک این سورپرایز بزرگترین چالش های وردپرس در زمینه آموزش، در زمینه بازار و بسیاری از جنبه های دیگر رفع خواهد شد. با آرزوی سالی خوش و پر از موفقیت برای تک تک دوستان عزیز گروه وردپرس پارسی
  2. 13 points
    دوستان گوگل از 10 ژانویه 2017 سایت هایی که از لایت باکس و پاپ اپ و امثال اون که قبلا از نمایش محتوای اصلی نمایش داده میشن و باعث اذیت کاربر و عدم دسترسی بهینه به محتوا میشن رو جریمه خواهد کرد اطلاعات تکمیلی» http://searchengineland.com/google-confirms-rolling-mobile-intrusive-interstitials-penalty-yesterday-267408
  3. 6 points
    سلام گروه وردپرس پارسی واقعا جای تشکر هست که با قدرت تمام این انجمن رو نگه داشتید بدون هیچ گونه چشم داشتی و قصد تجارتی امیدوارم همیشه سربلند باشید و پیروز به امید موفقیت روز افزون برای همه ی شما مدیران و کاربران عزیز انجمن در پناه حق
  4. 5 points
    سلام دوست گرامی متاسفانه سایت شما Malware داره و این پاپ آپ های تبلیعاتی و تب های که پس از هر کلیک در سایت باز میشه همه برمیگرده به این که سایت شما آلوده شده است. به احتمال زیاد شما افزونه های زیر که نال شده بودن روی سایت نصب کردید: LayerSlider revslider پیشنهاد: افزونه هایی که نال شده بودن و روی سایت نصب کردید رو پاک کنید. بعد به هاستیگ بگید که یه اسکن از سایتتون بگیره. شاید تو این اسکن سایتتون پاک سازی بشه. در غیر اینصورت اگه بک آپی از سایت دارید که سالم هست و آلوده به Malware نیست بگید که ریستور کنن براتون. در غیر اینصورت باید هاستتون بطور کامل پاکسازی و مجدد سایت رو راه اندازی کنید. البته می تونید از پلاگین های آنتی ویروس در سایت استفاده کنید ولی اکثر این پلاگین ها برای اینکه بطور کامل اسکن و پاکسازی رو انجام بدن نیازمند این هست که شما نسخه اصلی رو تهیه کنید. موفق باشید...
  5. 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 شما به هدر سایت اضافه میشه
  6. 5 points
    سلام مطمئنا برابر نیستند و این مورد ارتباط مستقیم با شرکت ارائه دهنده‌ی اون سرویس داره . منظور دوستان اینه اگر شرکت مناسب و خوب باشه امنیت روی هر دو سرویس تضمین شده‌ست دوست من این مورد رو فقط و فقط نیاز شماست که تعیین می‌کنه ، شما اگر از شرکت خوب سرویس بگیرید مشکلی بابت امنیت (از سمت سرور) روی هیچ کدوم از سرویس‌ها نخواهید داشت ، برای منابع و سایر موارد نیاز سیستم و سایت شماست که تعیین کننده این مسئله‌ست. برای سایت x ممکنه هاست مناسب باشه و برای سایت دیگه سرور مجازی و ... موفق باشید
  7. 5 points
    سلام بله میتونید با همین ها سایت رو برگردونید. اول یک دیتابیس خالی بسازید و بعد دیتابیستون رو داخلش ایمپورت کنید. وردپرس رو اپلود کنید روی سرور. بعد پوشه wp-content خودتون رو جایگزین روی سرور کنید. بعد داخل فایل کانفیگ وردپرستون اطلاعات دیتابیستون رو بزنید. سایت بالا میاد.
  8. 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")}
  9. 5 points
    سلام و عرض تبریک بابت فرا رسیدن سال نو، آرزوی سالی همراه با موفقیّت برای تمامی عزیزان مشتاق به یادگیری و انجمن وردپرس پارسی دارم، انشاءالله که در سال جاری با توجّه به برنامه‌های در دست اقدام گروه وردپرس پارسی بتونیم قدمی در راه پر پیچ و خمِ پیشرفتِ وبِ سرزمین عزیزمون ایران داشته باشیم به امید موفقیّت تمامی بچّه های وب ایران ♥
  10. 4 points
  11. 4 points
    سلام مواردی که جناب @ahmadwp فرمودند صحیحه. پست ارسال شده دارای دو تاریخ می باشد یکی published_date و دیگری modified_date که published_date تاریخ انتشار پست هست و ثابت هست و modified_date که آخرین تاریخ بروزرسانی پست است و هنگام زدن دکمه بروزرسانی آپدیت می شود. گوگل برای بررسی بروزرسانی پست از modified_date استفاده میکنه. اگر توجه کنید متوجه میشید در نقشه سایت هم modified_date اومده نه published_date.
  12. 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(); ?> برای کپچا هم میتونین از کدهای زیر استفاده کنید
  13. 4 points
    این پلاگین ظاهرا همونیه که شما نیاز دارید https://wordpress.org/plugins/manageview-your-posts-only/
  14. 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');
  15. 4 points
    سلام دوست عزیز برای انجام اینکار می توانید از کد زیر در قالب خودتون استفاده کنید: <?php if ( is_user_logged_in() ) { echo 'محتوایی که قرار هست برای کاربر لاگین شده نمایش بدید!'; } else { echo 'محتوایی که قرار هست برای کاربران مهمان نشان دهید'; } ?> موفق باشید...
  16. 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 هم اسم دامنه خودتون رو میذارید.
  17. 4 points
    کد زیر در فایل functions.php قالبتون بعد از <?php قرار دهید. function mehran_add_img_alt_title($content) { $dom = new DOMDocument(); @$dom->loadHTML(mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'), LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); $xpath = new DOMXpath($dom); foreach ($xpath->query('//img') as $node) { $node->removeAttribute('alt'); $node->removeAttribute('title'); $node->setAttribute('alt', get_the_title()); $node->setAttribute('title', get_the_title()); } return $dom->saveHTML($dom->documentElement); } add_filter('the_content', 'mehran_add_img_alt_title'); کد بالا عنوان پست رو به عنوان alt و title عکس های درون پست ها ست میکنه.
  18. 4 points
    سلام، باید باکس مورد نظر خودتونو درست کنید. ولی Display :none کنید که حالت عادی نشون نده بعد با @media سی اس اس بنویسید که وقتی صفحه نمایش کوچک تر 768 px رسید display :block بشه. با اینکار فقط اونایی که با تبلت و گوشی میان می تونن ببینن.
  19. 4 points
    شما نمیتونید از مرورگر و... این موارد پیدا کنید چون این کدها سمت سرور پردازش میشوند و خروجی آن ها برای شما نمایش داده میشود پس شما باید مثلا متن و یا کلاس مورد نظر درون فایل ها جستجو کنید و بخوانید و ادیت کنید
  20. 4 points
    سلام ممنون بابت پیشنهادات موارد خوبی مطرح شده که چند تاییشون جزو برنامه های ما بود اما بستر انجمن اجازه اجرا رو تا الان نداده بود. ما توی فاز اول داریم پورتال سایت رو بروزرسانی می کنیم که تا آخر هفته بعدی رونمایی میشه. ایشالله توی فاز بعدی هم این موارد و پیشنهاداتتون رو سعی می کنیم اجرایی کنیم تا انجمن کارایی بیشتری داشته باشه.
  21. 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
  22. 4 points
    با سلام و احترام سبز نبودن گواهی اس اس اس ال میتونه از این باشه که شما در صفحه ارید استایل یا js یا تصویر یا هر چیز دیگه ای رو فراخانی میکنید که با https نیست و http می باشد این مورد باعث میشه که به قول شما سبز نباشه در اون صفحات
  23. 4 points
    سلام و عرض ادب 1ـ آمارگیرها به درستی نشون نمیدن، خود صفحه افزونه آمارگیر هم گزارشات خطای زیادی داره، بهترین آمارگیر خود گوگل آنالیتیکس هست 2ـ نام صفحه اول سایت لاتین هست، در صورتی که مطالب شما فارسی هست (البته شاید دلیل خاصی دارید) 3ـ تگ h1 و h2 ندارید، مخصوصا در صفحه اصلی سایت 4ـ سعی کنید نوشته ها رو مرتب تر و با فونت و سایز مناسب بنویسید 5ـ در آخر اینکه سایت شما یه سایت تخصصی هست، شاید آنچنان عمومیت نداشته باشه که کسی سرچ بزنه این مطالب رو در همین اوایل، مثل سایت های موسیقی و فیلم نیست که زود راه بیفته، پس کمی صبر و حوصله به خرج بدید و همین موارد اولیه سئو رو رعایت کنید انشاالله نتیجه می گیرید موفق باشید
  24. 4 points
    مشکل حل شد! راه حل رو میگم که اگه کس دیگه ای این مشکل رو داشت به کمکش بیاد: کافیه این کد رو توی تگ هید قالبتون بذارید: <meta name="viewport" content="width=device-width, initial-scale=1">
  25. 4 points
    درود اصلا مشکلی نیست می تونه یک تگ در هر پست تکرار بشه اما نباید تگ با عنوان پست یکی باشه
  26. 4 points
    این یه کد ساده هستش برای اعتبار سنجی که در یکی از کارها ازش استفاده کرده بودم : function check(){ var error=0; var name=$("input[name=namekarbar]").val(); var mail=$("input[name=mail]").val(); var password=$("input[name=password]").val(); var confirmpassword=$("input[name=confirmpassword]").val(); if(name==''){error=1; $("input[name=namekarbar]").val('لطفاً نام خود را وارد کنید');$("input[name=namekarbar]").addClass('error')}; var regexp=/^[a-z0-9_\.-]+@{1}[a-z0-9_\.-]+\.[a-z]{2,4}$/i; if(regexp.test(mail)==false){error=1;$("input[name=mail]").val('ایمل خود را وارد کنید');$("input[name=mail]").addClass('error')} var regexp=/.{5,}/i; if(regexp.test(password)==false){error=1;alert("لطفا، پسورد را به درستی وارد کنید");$("input[name=password]").addClass('error')} else{if(password!=confirmpassword){error=1;alert("پسورد یکسان نیست");$("input[name=password]").addClass('error');$("input[name=confirmpassword]").addClass('error')}} if(error==1){return false;} } البته برای راحتتر بودن به اینپوت ها آیدی یا کلس بدید بجای اینکه اسم اینپوت رو بنویسید کلس یا آیدی رو بدید مثلاً $('#username') موفق باشید
  27. 4 points
    سلام. شاید راه های دیگه هم باشه اما چیزی که به ذهن من میرسه این هست که اگر مطالب زیاد هستن و واقعا می خواید این کار رو انجام بدید، به این صورت عمل کنید: اول از یه وردپرس توسط افزونه های موجود فایل xml اکسپورت بگیرید. به استانداردش دقت کنید و مطابق با همون استاندارد اسکریپتی توی سایت asp تون بنویسید که بیاد از مطالب خروجی xml مشابهش بگیره ، بعد خیلی راحت میتونید اون فایل رو توی وردپرس ایمپورت کنید. البته باید دقت کنید که برای ایمپورت کردن تصاویر لینک ها باید کامل و دقیق باشند یعنی نسبی نباشن آدرس دامنه توش باشه! موفق باشید.
  28. 4 points
    سایت خوبی داری به خصوص این که توی مطلب هات از فیلم هم استفاده میکنی ولی یه مشکلی که دیدم یا شاید به نظر من مشکل اومد لینک های مطلب هات هست خیلی کوتا هستن مثلا این پست https://jalebast.com/ایده/ کلا لینک مطلبت یه ایده هستش حالا اگه لینکت اینطوری باشه بهتره مثلا لینکش رو بنویسی تمیز کردن و برق انداختن وسایل یا هر چ که خودت به فکرت میرسه +اینکه سعی کن نوشته هات رو بیشتر کنی حداقل نوشته باید 300 کلمه باشه و توی مطلب بالا 190 تا هست بعد سعی کن به جز اینکه ویدیو رو میزاری پایین ویدیو هم توضیح بدی اگه کسی نتونست ویدیو رو ببینه مطلب رو بخونه توی نوشته هات به نوشته های دیگه لینک بده مثلا مطلبت درباره تمیز کردن و برق انداختن قبلا هم یه مطلبی که گزاشتی برای تمیز کردن ماشین بهش لینک بده بگو اگه که ماشینتون هم کثیف شد میتونین با کمک این مطلب تمیزش کنین بعد تگ گزاری هات هم خوب نیس خب مثلا من الان نمیام توی گوگل سیرچ کنم ایده :| مثلا تگ گزاری هات رو به این صورت انجام بده که یه تگ داشته باشی به نام تمیز کردن بعد تمام مطالبی که به تمیز کردن مربوطه این تگ رو داشته باشن این کار هایی که گفتم رو انجام بدی مطمعن باش نتیجه خوبی میگیری من خودم سایت داشتم با همین کار ها حداقل توی یک یا دوماه به هفصد یا هزار ای پی رسوندمش کلا سعی نکن محتوا رو برای گوگل بسازی سعی کن برای کاربر بسازی مثلا یه کاربر سرعت اینترنتش پایین بود بتونه متن رو بونه به جای فیلم بعد توی گوگل وب سمتر سایت رو ثبت کردی؟اروری نداده؟
  29. 4 points
    نسخه 4.7.0 و 4.7.1 دارای باگ امنیتی هستش که احتمالا شما هم هنوز اپدیت نکردین و گوگل داره شمارو از این ریسک با خبر می کنه اگه اپدیت نکردین حتما بکنین
  30. 4 points
    پیشنهاد من اینه که کسانی که کمتر از 100 تاپیک در فروم دارند و سابقه ی کمتری دارند، تعداد تاپیکهای اونها در ساعت معدود و محدود باشد
  31. 4 points
    سلام ببینید میشه گفت تگ H1 در کنار تگ Title از مهم‌ترین تگ‌ها هستن و برای موتورهای جستجو بسیار پر ارزشن، بهتره فقط یکبار ازش استفاده کنید و اون هم برای عنوان اصلی در هر صفحه. تگ H2 از نظر ارزش بعد H1 قرار میگیره، بهتره برای زیر تیترهای نوشته استفاده بشه، تعدادش هم خوب بستگی داره به طول متن نوشته شده، خوب مسلما هر چی یه متن طولانی‌تر باشه میشه به زیرتیترهای بیشتری تقسیم‌بندیش کرد. در مورد سوال آخرتون هم، بله اشتباست، تگ‌های سری H فقط برای تیتر باید استفاده بشه، همونطوری که از اسمشون هم پیداست (Heading Tags به معنی تگ‌های عنوان) و به هیچ‌وجه برای متن و جملات طولانی استفاده نکنید. و اینکه در پایان باید بگم، نمیشه دقیقا در این مورد نظر داد، چون هیچ‌کسی به طور دقیق از الگوریتم‌های گوگل خبر نداره و همونطوری که خودتون و دوستان گفتید نظرات اکثرا از روی تجربیات افراد هست.
  32. 4 points
    پایان نامه من روی همین Information retrieval هست. و طبق مطالعه هایی که روی گزارش خروجی آزمایشگاه های چند تا سرچ انجین مطرح داشتم، اینطور مشخص هست که علاوه بر گوگل که تمرکز کامل روی هوشمند سازی و شبکه های عصبی داره، بینگ هم تمرکز خاصی روی این موضوع پیدا کرده. به زودی این هوشمندی رو با وب ۳ و اینترنت فراگیر بیشتر لمس میکنین. اینکه میگه بیاین لینک منبع رو بزارین، دلیل به ناتوانی کرولر های گوگل نیست! با این کار نوشته و سند شما یه شکل حرفه ای و کامل میگیره. در همین الگوریتم قدیمی پنگوئن که دوستمون گفت و این الگوریتم جدید مرغ مگس خوار، تمرکز روی راحتی کاربر هست. اینکه شما با یک شکل و شمایل استاندارد و با رعایت منابع سند خودت رو منتشر کنی، کارتون با ارزش هست. پس جزو نتایج بالا قرار میگیرید. البته تا جایی که من اطلاع دارم! ممکنه کامل نباشه
  33. 4 points
    وردپرس هر مطلبی که منتشر میکنه در دیتابیس ذخیره میکنه، این نوعی که شما میگید خیلی قبلتر در سیستم MT وجود داشت که روش بی فایده منسوخی حساب میاد.
  34. 4 points
    سلام از ووکامرس استفاده می‌کنید؟ ووکامرس > پیکربندی > همگانی > مکان پیشفرض مشتری > بدون مکان پیش فرض این تنظیم رو انجام بدید درست میشه
  35. 4 points
    فقط یک کاربر خاص و یا یک role از کابران خاص قراره ؟ اگر برای یک کاربر خاص هست که هیچی یه شرط بزارید و ایدی اون کاربر بدید و یا هر چیزی که شناسه اون کاربر هست (فکر نمیکنم منظورتون باشه) و میتونید wp_get_current_user استفاده کنید که اطلاعات بگیرید و.... اگر هم قرار هست بر اساس یه نقش خاص باشه میتونید ایدی Rolle بگیرید و یا .... توضیح کامل تر بدید
  36. 4 points
    سلام این کد برای قسمت پیشخوان هست، نوع محصول رو به صورت پیش روی مجازی و قابل دانلود قرار میده /** * WC - Set Downloadable product type as the default. * --------------------------------------------------------------- */ function itl_wc_product_type_options( $product_type_options ) { $product_type_options['virtual']['default'] = 'yes'; $product_type_options['downloadable']['default'] = 'yes'; return $product_type_options; } add_filter( 'product_type_options', 'itl_wc_product_type_options' ); این کد هم برای قسمت پیشخوان هست، در قسمت اطلاعات محصول موجودی و حمل و نقل رو حذف می‌کنه /** * WC - Remove Woocommerce Product Data Tabs. * --------------------------------------------------------------- */ function itl_remove_product_data_tabs( $tabs ) { unset( $tabs['inventory'] ); unset( $tabs['shipping'] ); return $tabs; } add_filter( 'woocommerce_product_data_tabs', 'itl_remove_product_data_tabs', 20, 1 ); این کد برای قسمت پرداخت هست، موارد ضروری رو غیر ضروری می‌کنه تا وقتی که موارد اضافه حذف شد اروری به کاربر نده مبنی بر اینکه فلان فیلد ضروری پر نشده /** * WC - Make Default Address Fields not required. * --------------------------------------------------------------- */ function itl_woocommerce_checkout_filters( $fields ) { $fields['address_1']['required'] = false; $fields['address_2']['required'] = false; $fields['city']['required'] = false; $fields['postcode']['required'] = false; $fields['country']['required'] = false; $fields['state']['required'] = false; $fields['city']['required'] = false; return $fields; } add_filter( 'woocommerce_default_address_fields', 'itl_woocommerce_checkout_filters' ); این کد هم برای قسمت پرداخت و همچنین قسمت کاربری هست، موارد غیز نیاز رو حذف می‌کنه /** * WC - Remove Default Address Fields. * --------------------------------------------------------------- */ function itl_remove_checkout_fields( $fields ) { unset( $fields['billing']['billing_company'] ); unset( $fields['billing']['billing_address_1'] ); unset( $fields['billing']['billing_address_2'] ); unset( $fields['billing']['billing_city'] ); unset( $fields['billing']['billing_postcode'] ); unset( $fields['billing']['billing_country'] ); unset( $fields['billing']['billing_state'] ); unset( $fields['order']['order_comments'] ); unset( $fields['billing']['billing_address_2'] ); unset( $fields['billing']['billing_postcode'] ); unset( $fields['billing']['billing_company'] ); unset( $fields['billing']['billing_city'] ); unset( $fields['shipping']['shipping_first_name'] ); unset( $fields['shipping']['shipping_last_name'] ); unset( $fields['shipping']['shipping_company'] ); unset( $fields['shipping']['shipping_country'] ); unset( $fields['shipping']['shipping_address_1'] ); unset( $fields['shipping']['shipping_address_2'] ); unset( $fields['shipping']['shipping_city'] ); unset( $fields['shipping']['shipping_state'] ); unset( $fields['shipping']['shipping_postcode'] ); return $fields; } add_filter( 'woocommerce_checkout_fields' , 'itl_remove_checkout_fields' ); add_filter( 'woocommerce_billing_fields' , 'itl_remove_checkout_fields' ); add_filter( 'woocommerce_shipping_fields' , 'itl_remove_checkout_fields' ); این کد هم قسمت ویرایش آدرس رو در قسمت کاربری حذف می‌کنه /** * WC - Remove edit-address menu from Account Page. * --------------------------------------------------------------- */ function itl_woocommerce_remove_account_menu_items( $items ) { unset( $items['edit-address'] ); return $items; } add_filter( 'woocommerce_account_menu_items', 'itl_woocommerce_remove_account_menu_items' ); تمام این کدها در فایل functions.php قالبتون قرار می‌گیره اگر قسمت دیگه‌ای هم مونده بفرمایید
  37. 4 points
    سلام در فایل functions.php قالب‌تون قرار بدید function theme_exclude_posts_from_archive( $query ) { if ( $query->is_archive() ) { $query->set( 'offset', '1' ); } } add_action( 'pre_get_posts', 'theme_exclude_posts_from_archive' );
  38. 4 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 و ... تا قسمت بعد موفق باشید.
  39. 3 points
    خیلی جالبه شما میگید که دو سال هست که روی سایت دارید کار میکنید ولی هیچ رنکی توسط الکسا به سایت شما داده نشده. با توجه به اینکه میگید دو سال هست که فعالیت دارید تو این زمینه ولی هنوز هیچ رتبه ای کسب نکردید یه مشاوره از شرکت هایی که کار seo رو بطور تخصصی انجام میدن بگیرید. مشاوره معمولا رایگان هست و از این بابت مشکلی ندارید. از طرفی لیست رقبایی که تو این کلمات کلیدی دارید رو یه بررسی ساده بکنید هر سایتی که داره میاد بالا دارای رنک های خیلی خوبی در الکسا هست و از لحاظ محتوایی هم خیلی قوی تر دارن کار میکنن. یه راه دیگه هم هست که اگه واقعا خواسته باشید تو این کلمه کلیدی تو گوگل بیاین میتونید از سیستم تبلیغات گوگل استفاده کنید (google ads) موفق باشید...
  40. 3 points
    اینکه بخواهید ویرایش کنید با اینکه بخواهید بکل مطلب جدید درونش قرار بدید متفاوت هست. اگه مشکل عکس هست میتونین تا حدی عکسها رو با مشابه خودش عوض کنید از جستجو در بخش عکس گوگل استفاده کنید نیاز نیست همه رو یکدفعه عوض کنید میتونید روزی 10 پست رو عکسها رو تعویض یا (عکسهایی که اهمیت کمی دارن) بطور کل حذف کنید
  41. 3 points
    مثل تصویر زیر٬ توجه کنید بعد از اینکه عکسی رو انتخاب کنید این پنجره باید برای شما نمایش داده شود:
  42. 3 points
    خواهش میکنم دوست عزیز همون ووکامرس رو که خدمتتون عرض کردم هر دو امکان رو برای شما فراهم می کنه. یعنی هم میتونید محصولات دانلودی و هم محصولات فیزیکی تو سایت ثبت کنید. موفق باشی...
  43. 3 points
    اگر پلاگینی که Black_sky گفت رو تست کردید و جواب نداده ، با استفاده از این پلاگین می‌تونید در تکست ویجت وردپرس کد جاوا اسکریپت و PHP قرار بدید ، تست کنید https://wordpress.org/plugins/enhanced-text-widget/
  44. 3 points
    سلام. قالب نویسی وردپرس اصلا سخت نیست به راحتی میتونید با دانش کمی از PHP اون رو کد نویسیش کنید. اول یه قالب html طراحی کنید، بعد قسمت های مختلف رو با فانکشنای وردپرس جایگزین کنید. لیست فانکشن ها هم توی سایت خود وردپرس هست.مثلا میخواید متن پست رو نمایش بدید، از <?php the_content() ?> استفاده کنید. و .... ولی در کل خیلی راحته به این آدرس هم یه نگاهی بندازید.
  45. 3 points
    بعد از زدن f12 و زدن کلیدهای ترکیبی crtl+shift+f در مرورگر chrome جستجو در تمام فایلهای سایت انجام میشه و میتونید مرجع کد مخربو به این طریق پیدا کنید.
  46. 3 points
    1. rest یک چارچوب برای برقراری ارتباط با یک web application هست 2 . امکان پذیر هست کلاس wpdb$ وردپرس این قابلیت رو داره 3.وردپرس برای این کار یک سری توابع و هوک در نظر گرفته هوک admin_menu add_menu_page add_submenu_page
  47. 3 points
    به شدت موافقم با حقوق های بالا در طی یکی دو هفته تضمین سایت در پیج 1 گوگل رو میدن در حالی که سئو یه امر زمان بر و پر هزینه است. پای دلال ها که باز بشه افراد کاربلد باید بنشینن و نگاه کنن که افراد غیر متخصص چطور کار می کنند.
  48. 3 points
    سلام واسه اینکه چک کنید وارد شده یا نه : <?php if ( is_user_logged_in() ) { } else { } ?> و واسه اینکه چک کنید ادمین هست یا نه : <?php if ( is_admin() ) { } else { } ?>
  49. 3 points
    اینو ببین : https://www.amcharts.com/svg-maps/?map=iran این رو هم ببین ( پلاگین ِ پولی عه !‌ ) : http://mapsvg.com/
  50. 3 points
    قوانین کلی انجمن 1- در هنگام ثبت نام از کلمات مناسب جهت نام کاربری استفاده نمایید. نام های کاربری حاوی کلمات نامناسب ، نام های کاربری که جنبه تبلیغاتی داشته و یا نام های کاربری که نام یک سایت می باشند ، سریعا حذف خواهند شد. 2- به دیگران احترام بگزارید. با هرگونه بی احترامی برخورد جدی و حتی منجر به قطع دسترسی کاربر خاطی خواهد شد. 3- در انتخاب آواتر و امضا دقت کنید و از تصاویر و کلمات موهون و نامناسب استفاده ننمایید. توجه کنید که امضا هایی که حاوی تصاویر و کلمات موهون و نامناسب باشند و یا جنبه تبلیغاتی داشته باشند سریعا حذف خواهند شد و در صورت تکرار با فرد خاطی برخورد خواهد شد. 4- برای مطالب خود از عنوان مناسب و گویا استفاده نمایید. در عنوان مطالب خود از عبارات و کلمه هایی مانند : کمک کنید ، درخواست فوری ، نیاز شدید ، تورو خدا کمکم کنید ، خیلی مهم و جملاتی شبیه به این خودداری نمایید. 5- حتما قبل از ایجاد یک موضوع در انجمن جستجو کنید و از ایجاد مطالب تکراری خودداری نمایید. 6- از اسپم کردن موضوعات پرهیز کنید. جهت دریافت پاسخ صبر داشته باشید. برای تشکر از دکمه تشکر استفاده کنید. 7- فارسی بنویسید و از فینگلیش نوشتن خودداری کنید. در غیر اینصورت با فرد خاطی برخورد خواهد شد. 8- فعالیت های تجاری را فقط در بخش مشخص شده انجام دهید و از ایجاد موضوعاتی با جنبه تجاری در دیگر بخشها خودداری نمایید. از دادن پاسخهایی که جنبه تجاری و یا تبلیغی دارند خودداری نمایید. در صورت مشاهده چنین پست هایی با فرد خاطی برخورد خواهد شد. 9- گروه وردپرس پارسی هیچگونه مسئولیتی در مورد فعالیت های بخش تجاری ندارد و تمامی مسئولیت به عهده ایجاد کننده موضوع است. 10-هرگونه بحث سیاسی - مذهبی در این انجمن ممنوع می باشد. هرگونه توهین و مجادله و مباحثه در مباحث دینی و سیاسی ممنوع بوده و تاپیک های اینچنینی حذف و کاربران خاطی محروم می شوند. در صورت تکرار فرد خاطی برای همیشه از انجمن اخراج می شود. 11- ارائه شماره تماس و ایمیل جهت همکاری و یا خرید و فروش و یا هرگونه مورد دیگر بصورت عمومی در انجمن ممنوع است. جهت تبادل موارد ذکر شده از طریق پیام خصوصی اقدام کنید. 12- هرگونه درخواست کامل سازی پوسته در انجمن ممنوع است. اگر نیاز به تکمیل کد بخش خاصی از پوسته را دارید باید درخواست خود را در یک تاپیک جدید مطرح کنید و از درخواست تکمیل کدنویسی و یا طراحی یک پوسته جدا خودداری کنید. 13- هرگونه بحث در مورد تکمیل و اشکال زدایی پوسته های ریپ در انجمن ممنوع است. اگر نیاز به تکمیل کد بخش خاصی از پوسته را دارید باید درخواست خود را در یک تاپیک جدید مطرح کنید و از درخواست تکمیل کدنویسی و یا طراحی یک پوسته ریپ جدا خودداری کنید. 14- هرگونه درخواست فایل/پوسته/افزونه و سایر محصولهای تجاری در انجمن ممنوع است. 15- هرگونه پرسش و بحث درباره محصولهای تجاری در انجمن ممنوع است. پشتیبانی محصولهای تجاری به عهده سازنده/فروشنده آن است. بروزرسانی پنجم.