دیجی اسکریپت

آموزش وردپرس Archives | صفحه 4 از 34 | دیجی اسکریپت

جلوگیری از Hotlinking در وردپرس
[ad_1]

یکی از اتفاقات بسیار ناخوشایندی که ممکن است در دنیای وردپرس برای شما پیش بیاید Hotlinking می‌باشد. شاید برای خود شما هم پیش‌آمده باشد که به‌صورت اتفاقی تصاویر سایت خود را در سایت‌های دیگر مشاهده کرده باشید، به بیان خیلی ساده آن سایت تصاویری که متعلق به سایت می‌باشد را دزدیده است. امروز قصد داریم در این مقاله آموزشی برای شما همراهان بیست اسکریپت آموزشی در خصوص جلوگیری از Hotlinking قرار دهیم، شما با استفاده از این آموزش می‌توانید از سوءاستفاده‌ها و دزدی‌های محتوا در سایت خود جلوگیری کنید، پس با ما همراه باشید.

 

Hotlinking چیست؟

Hotlinking درواقع یک روش برای سرقت از محتوایی است که شما در سایت خود قرار می‌دهید. در این روش افراد سودجو بدون اینکه از سوی شما مجوزی داشته باشند، تصاویر و ویدئوهای سایت شما را در سایت خودشان به نمایش درمی‌آورند. درواقع این افراد از پهنای باند شما برای نشان دادن این تصاویر استفاده می‌کنند.

جلوگیری از Hotlinking در وردپرس

به‌بیان‌دیگر، اگر یک فرد تصویری از سایت شما بردارد و آن را با لینک مستقیم سایت شما در وب‌سایت خود قرار دهد، این فرد درواقع دارد از پهنای باند شما به‌صورت آگاهانه یا ناآگاهانه استفاده می‌کند که این موضوع اصلاً منصفانه نیست؛ با توجه به مورد گفته‌شده عملاً پهنای باند شما با هر بازدید از سایت دیگر، کمتر می‌شود و هرچه این بازدید بیشتر باشد، پهنای باند شما زودتر تمام خواهد شد. پس شما باید یک راه‌حل مناسب برای جلوگیری از Hotlinking در سایت خود در نظر بگیرید.

 

چرا نباید از Hotlinking استفاده کنید؟

استفاده از Hotlinking به دلایل بسیار زیادی نامناسب است و اکیداً به شما توصیه می‌کنیم نه تنها از آن استفاده نکنید بلکه از سرقت تصاویر خود نیز جلوگیری کنید. در اینجا به برخی از مهم‌ترین دلایلی که شما نباید از Hotlinking استفاده کنید اشاره خواهیم کرد تا شما بهتر آن را درک کنید.

 

مورد اول و بسیار مهمی که باید به آن دقت کنید این است که اگر از Hotlinking جلوگیری نکنید، برای شما هزینه در بر خواهد داشت. همان‌طور که در بالا به آن اشاره کردیم در این روش از پهنای باند شما استفاده می‌شود که باعث می‌شود پهنای باند شما در مدت‌زمان بسیار کوتاهی تمام شود و شما ناچاراً باید دوباره برای خرید آن، هزینه پرداخت کنید.

 

مورد دیگری که در Hotlinking موردبحث است، کپی رایتینگ است. استفاده از محتوای تمامی سایت‌ها درصورتی‌که سایت مبدأ مجوزی به شما نداده باشد غیرقانونی و غیراخلاقی است. شما تنها در صورتی می‌توانید از محتوای سایت دیگر بر روی سایت خود استفاده کنید که مدیر سایت بر روی محتوای خود برچسبی مبنی بر مجوز استفاده رایگان قرار داده باشد.

 

همچنین Hotlinking ممکن است عملکرد سایت شما را با مشکل مواجه کند. درواقع Hotlinking با سنگین کردن سرور شما باعث می‌شود سایت شما عملکرد درستی نداشته باشد.

 

مواردی که در بالا برای شما ذکر کردیم برخی از مهم‌ترین دلایلی بود که شما را ترغیب به جلوگیری از Hotlinking می‌کند. در ادامه این مقاله باهم به بررسی راه‌حل‌هایی برای جلوگیری از Hotlinking در سایت می‌پردازیم.

 

جلوگیری از Hotlinking در وردپرس

قبل از اینکه بریم سراغ راه‌حل جلوگیری از Hotlinking، می‌خواهیم روشی را به شما توضیح دهیم که با استفاده از آن بتوانید تصاویری که از سایت شما برداشته‌شده است را مشاهده کنید. با این روش شما متوجه می‌شوید کدام سایت از تصاویر شما کپی‌برداری کرده‌اند.

 

برای این کار باید وارد مرورگر گوگل خود شوید و url:20script.ir -site:20script.ir را سرچ کنید. البته دقت داشته باشید که در اینجا به‌جای ۲۰script اسم سایت خود را وارد کنید. بعد از جستجوی مورد گفته‌شده به قسمت Image بروید تا بتوانید تمامی تصاویری که از سایت شما در سایت‌های دیگر استفاده‌شده است را مشاهده کنید.

جلوگیری از Hotlinking در وردپرس

اگر بخواهید به‌صورت دقیق تفاوت تصویر موردنظر را از طریق HTML بررسی کنید می‌توانید مشاهده کنید کد تصویر اورجینال در سایت شما به‌صورت زیر است:

<img src=“wallpaper.jpg" height=“۱۲۸۰" width=“۸۰۰">

همان تصویر در سایت‌های دیگر به این صورت است:

<img src="http://yourwebsite.com/wallpaper.jpg" height=“۱۲۸۰” width=“۸۰۰">

به شما پیشنهاد می‌کنیم برای محافظت از تصاویر سایت خود یکی از روش‌هایی که در این مقاله قرار داده‌ایم را حتماً استفاده کنید. برای اینکه بتوانید Hotlinking را غیرفعال کنید با این مقاله همراه باشید.

 

غیر فعال کردن Hotlinking با استفاده از FTP Client

روش اولی که در این مقاله برای شما خواهیم گفت، استفاده از FTP Client برای غیرفعال کردن Hotlinking است. بیست اسکریپت قبلاً در یک مقاله دیگر این مورد را برای شما آموزش داده است، برای مشاهده آن بر روی این لینک کلیک کنید؛ جلوگیری از دزدی تصاویر سایت وردپرسی.

 

استفاده از افزونه‌های امنیتی

راه‌حل دیگری که شما می‌توانید از آن برای غیرفعال کردن Hotlinking در سایت خود استفاده کنید، استفاده از افزونه است. یکی از بهترین و کاربردی‌ترین افزونه‌هایی که می‌تواند در این زمینه به شما کمک کند، پلاگین All In One WP Security & Firewall می‌باشد.

 

این افزونه کاملاً رایگان است و شما به‌راحتی می‌توانید آن را از مخزن وردپرس خود دانلود و بر روی سایت خود نصب کنید. برای جلوگیری از Hotlinking باید بعد از فعال‌سازی افزونه به قسمت فایروال (Firewall) بروید و از بخش “تنظیمات پایه دیوار آتش” تیک گزینه‌ی “به‌کار انداختن محافظت دیوار آتش پایه” را فعال کنید.

جلوگیری از Hotlinking در وردپرس

بعد از فعال کردن تیک موردنظر باید بر روی “ذخیره تنظیمات دیواره آتش” کلیک کنید تا Hotlinking از سایت شما غیرفعال شود.

 

شما این امکان را دارید که با استفاده از تنظیمات این پلاگین، کلیک راست تصاویر و ویدئوهای خود را غیرفعال کنید. با تنظیماتی که در اینجا برای شما خواهیم گفت درواقع کاربران دیگر این امکان را نخواهند داشت که با کلیک راست کردن، از محتوای شما کپی‌برداری کنند.

 

برای این کار بعد از وارد شدن به پیشخوان» امنیت کامل وردپرس» تنظیمات بیشتر» حفاظت از کپی می‌توانید تیک گزینه‌ی “فعال کردن حفاظت کپی” را فعال کنید. با فعال کردن این تیک، افراد قادر نیستند با کلیک راست کردن هیچ محتوایی را کپی کنند.

جلوگیری از Hotlinking در وردپرس

استفاده از CDN برای جلوگیری از Hotlinking

CDN درواقع یک شبکه انتقال محتوا است که اگر شما از آن برای سایت وردپرسی خود استفاده کنید می‌توانید شاهد سرعت بی‌نظیری باشید. استفاده از CDN نه‌تنها باعث کاهش استفاده از پهنای باند می‌شود بلکه امنیت سایت شما را نیز چند برابر می‌کند.

 

همه‌ی CDN ها کارکرد یکسانی ندارند و ممکن است از روش‌های مختلفی برای غیرفعال کردن Hotlinking استفاده کنند. اگر بخواهیم این موضوع را با استفاده از یک مثال برای شما توضیح دهیم تا بهتر متوجه شوید، می‌توان به KeyCDN اشاره کرد که یک گزینه به اسم Zone Referrers دارد؛ این گزینه درواقع به افراد دیگر این اجازه را نمی‌دهد تا از محتوای شما کپی‌برداری کنند. به‌بیان‌دیگر این گزینه، محتوای سایت شما را از دسترس سودجویان در امان نگاه می‌دارد.

 

برای این کار باید وارد داشبورد کاربری خود در KeyCDN شوید و به قسمت Zone Referrer بروید. در این قسمت شما باید Referrer های موردنظر را انتخاب کنید. همچنین اگر می‌خواهید به یک سری دامنه اجازه دسترسی به محتوای خود را بدهید، باید URL اصلی خود را مثلاً ۲۰script.ir و نام مستعار آن را Cdn.20script.ir قرار دهید. البته شما باید به‌جای ۲۰script نام سایت خود را وارد کنید.

 

دسترسی به تنظیمات کنترل‌پنل

روش دیگری که با استفاده از آن قادر هستید Hotlinking را با استفاده از آن غیرفعال کنید، وارد شدن به تنظیمات کنترل پنل است. برای اینکه بتوانید این مورد را از طریق کنترل پنل خود مدیریت کنید باید وارد اکانت هاست خود شوید و با رفتن به بخش Security Options، گزینه‌های مربوط Hotlink Protection را انتخاب کنید.

 

پس‌ازآن به قسمت تنظیمات صفحه یا Setup Screen بروید و تنظیمات پیکربندی موردنظر خود را وارد کنید و بر روی گزینه‌ی ذخیره کلیک کنید.

 

امیدواریم این مقاله به شما برای جلوگیری از Hotlinking در سایتتان کمک کرده باشد. موفق و پیروز باشید.

نوشته جلوگیری از Hotlinking در وردپرس اولین بار در بیست اسکریپت. پدیدار شد.

[ad_2]

لینک منبع مطلب

افزودن اندازه جدید به تصاویر در وردپرس
[ad_1]

حتما تا به حال به این نکته دقت کرده اید که زمانیکه عکس جدیدی را در سایت وردپرسی خود آپلود می کنید، اندازه های مختلفی از آن عکس روی هاست شما قرار می گیرد. شاید بخواهید که تصویر در اندازه ۵۰*۵۰ هم آپلود شود. اما چگونه؟ در این مقاله روش افزودن اندازه جدید به تصاویر را خواهیم گفت.

 

در حال حاضر، زمانیکه تصویری را آپلود می کنید در اندازه های ۱۵۰*۱۵۰ و … هم بر روی هاست قرار می گیرد. اما حال می خواهیم تصویر در اندازه ۵۰*۵۰ هم روی هاست قرار بگیرد. براین این کار فایل Functions.php پوسته خود را باز کرده و کد زیر را درون قرار دهید:

add_image_size( 'wpschool-custom-size', 50, 50, true );

با قرار دادن کد بالا، به وردپرس می گوییم که تصاویر آپلود شده را در اندازه ۵۰*۵۰ هم بر روی هاست قرار بده.

 

حال می خواهیم تصویر در این اندازه را در صفحه فراخوانی کنیم. برای این کار می توانیم از کد زیر استفاده کنیم:

$image_url = wp_get_attachment_image_src($image_id,'wpschool-custom-size', true);
<img src="http://www.20script.ir/<?php echo $image_url[0]; ?>" alt="" class="post_thumb_small"/>

به همین راحتی

  • نکته: این تغییرات بر روی تصاویر جدیدی که آپلود می شوند اعمال خواهد شد.

حال اگر بخواهیم این تغییرات بر روی تصاویری که قبلا آپلود شده اند هم اعمال شود از کد زیر استفاده می کنیم:

function regenerate_all_attachment_sizes() {
    $args = array( 'post_type' => 'attachment', 'numberposts' => 20, 'post_status' => null, 'post_parent' => null, 'post_mime_type' => 'image' ); 
    $attachments = get_posts( $args );
    if ($attachments) {
        foreach ( $attachments as $post ) {
            $file = get_attached_file( $post->ID );
            wp_update_attachment_metadata( $post->ID, wp_generate_attachment_metadata( $post->ID, $file ) );
        }
    }       
}

کد بالا، تمامی اندازه های تصاویر آپلود شده را بروز می کند

توضیحات:

  • خط ۲ تا ۳: دریافت ۲۰ عکس اول پیوست شده
  • خط ۶: دریافت تصویر در اندازه کامل با فایل پیوست شده
  • خط۷: بروزرسانی و تغییر مجدد اندازه تصاویر در اندازه های تعریف شده

آموزش امروز بیست اسکریپت به پایان رسید. امیدوارم این مقاله بتونه کاربردی واستون داشته باشه

موفق باشید

نوشته افزودن اندازه جدید به تصاویر در وردپرس اولین بار در بیست اسکریپت. پدیدار شد.

[ad_2]

لینک منبع مطلب

نمایش آخرین کاربران عضو شده وردپرس بدون افزونه
[ad_1]

در سایت های شبکه ای وردپرس، ممکن است که نیاز داشته باشید آخرین کاربران عضو شده را در بخش های مختلف سایت نمایش دهید. در این مقاله به شما نشان خواهیم داد که چگونه آخرین کاربران عضو شده را در سایت نمایش دهید. حتما لازم نیست که این کاربران جزء نویسندگان سایت باشند و ممکن است فقط عضو سایت بوده باشند.

 

نمایش آخرین کاربران عضو شده وردپرس بدون افزونه

در ابتدا فایل functions.php پوسته خود را باز کرده و کد زیر را درون آن قرار دهید:

function wps_recently_registered_users() { 
 
global $wpdb;
 
$recentusers = '<ul class="recently-user">';
 
$usernames = $wpdb->get_results("SELECT user_nicename, user_url, user_email FROM $wpdb->users ORDER BY ID DESC LIMIT 5");
 
foreach ($usernames as $username) {
 
if (!$username->user_url) :
 
$recentusers .= '<li>' .get_avatar($username->user_email, 45) .$username->user_nicename."</a></li>";
 
else :
 
$recentusers .= '<li>' .get_avatar($username->user_email, 45).'<a href="'.$username->user_url.'">'.$username->user_nicename."</a></li>";
 
endif;
}
$recentusers .= '</ul>';
 
return $recentusers;  
}

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

<?php wps_recently_registered_users(); ?>

حال اگر می خواهید آخرین کاربران را در صفحات سایت خود به نمایش بگذارید، شما نیاز به ساخت شورت کد دارید. برای ساخت شورت کد به سراغ فایل functions.php رفته و کد زیر را قرار دهید

add_shortcode('wps_newusers', 'wps_recently_registered_users');

حال شما یک شورت کد به نام wpb_newusers ساخته اید و می توانید با کد زیر آخرین کاربران را در هر صفحه به نمایش بگذارید

[wpb_newusers]

آموزش امروز هم به پایان رسید. امیدوارم این آموزش برای شما مفید باشد. موفق باشید

نوشته نمایش آخرین کاربران عضو شده وردپرس بدون افزونه اولین بار در بیست اسکریپت. پدیدار شد.

[ad_2]

لینک منبع مطلب

افزودن برچسب نقش کاربر به دیدگاه ها در وردپرس
[ad_1]

سلام خدمت شما کاربران سایت بیست اسکریپت؛ با آموزش افزودن برچسب نقش کاربر به دیدگاه ها در وردپرس با شما هستیم.

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

 

افزودن برچسب نقش کاربر به دیدگاه ها در وردپرس

 

چرا نمایش برچسب نقش کاربر در کنار نام نویسنده؟

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

 

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

 

بعضی از پوسته های وردپرس فقط نام نویسنده ی پست را در دیدگاه ها برجسته می کنند، اینگونه پوسته ها نقش های کاربری دیگری را نمایش نمی دهند حتی اگر دیدگاه ها توسط کاربران عضو یا مدیر ارسال شده باشد.

 

خب توضیح دیگه بسه؛ بریم سراغ آموزش.

 

افزودن برچسب نقش کاربر به دیدگاه ها در وردپرس

اولین چیزی که باید انجام دهید این است که کد زیر را به فایل functions.php  اضافه کنید یا افزونه آماده را در پایان مطلب دانلود و نصب کنید.

if (!class_exists('WPB_Comment_Author_Role_Label')) :

    class WPB_Comment_Author_Role_Label {

        public function __construct() {
            add_filter('get_comment_author', array($this, 'wpb_get_comment_author_role'), 10, 3);
            add_filter('get_comment_author_link', array($this, 'wpb_comment_author_role'));
        }

// Get comment author role 
        function wpb_get_comment_author_role($author, $comment_id, $comment) {
            $authoremail = get_comment_author_email($comment);
// Check if user is registered
            if (email_exists($authoremail)) {
                $commet_user_role = get_user_by('email', $authoremail);
                $comment_user_role = $commet_user_role->roles[0];
// HTML output to add next to comment author name
                $this->comment_user_role = '<span class="comment-author-label comment-author-label-' . $comment_user_role . '">' . ucfirst($comment_user_role) . '</span> ';
            } else {
                $this->comment_user_role = '';
            }
            return $author;
        }

// Display comment author                   
        function wpb_comment_author_role($author) {
            return $this->comment_user_role . $author;
        }

    }

    new WPB_Comment_Author_Role_Label;
endif;

خب کار اصلی تمام شد، به همین راحتی.

 

شما الان می تونید نقش کاربر رو کنار نام نویسنده دیدگاه ها مشاهده کنید. به این صورت که اگر کاربر نقشی در سایت داشته باشد در کنار نام او نمایش داده می شود و اگر کاربر نقشی نداشته باشد یا عضو سایت نباشد تنها نام او نمایش داده خواهد شد.

 

خب حالا که نقش کاربر را اضافه کردیم، وقت آن است که استایل خودمون رو بهش اضافه کنیم.

 

در کد ما یک کلاس سی اس اس برای هر نقش کاربر اضافه کردیم، ما می تونیم از کلاس های سی اس اس برای سفارشی کردن هر نقش کاربر به صورت متفاوت استفاده کنیم (از جمله رنگهای مختلف و …)

.comment-author-label {
    padding: 0 5px;
    font-weight: bold;
    border-radius: 5px;
    cursor: default;
}

.comment-author-label-editor {  
    background-color:#ecf0f1;
    color:#2c3e50;
    border:2px solid #bdc3c7;
}
.comment-author-label-author {
    background-color:#3498db;
    color:#ecf0f1;
    border:2px solid #2980b9;
}

.comment-author-label-contributor {
    background-color:#2ecc71;
    color:#ecf0f1;
    border:2px solid #27ae60;   
}
.comment-author-label-subscriber {
    background-color:#f1c40f;
    color:#ecf0f1;
    border:2px solid #f39c12;  
}

.comment-author-label-administrator { 
    background-color:#34495e;
    color:#ecf0f1;
    border:2px solid #2c3e50;
}

این هم تصویر نهایی کار:

افزودن برچسب نقش کاربر به دیدگاه ها در وردپرس

شما عزیزان میتونید تمام کدهای بالا رو خیلی مرتب در قالب یک افزونه وردپرسی اینجا دانلود کنید!

امیدوارم این مطلب به دردتون بخوره و از اون استفاده کنید.

نوشته افزودن برچسب نقش کاربر به دیدگاه ها در وردپرس اولین بار در بیست اسکریپت. پدیدار شد.

[ad_2]

لینک منبع مطلب

Debug کردن وردپرس به سبک حرفه‌ای‌ها
[ad_1]

هیچ سیستم مدیریت محتوایی نمی‌تواند به‌طورقطع اعلام کند که فاقد مشکل است. مسلماً تمامی سیستم‌ها با مشکلات بزرگ و کوچکی روبه‌رو هستند و نمی‌توانند به شما اطمینان دهند که در طول استفاده از آن با مشکل مواجه نخواهید شد. اصولاً در دنیای وردپرس نیز چیزی به اسم کد عالی یا Perfect Code وجود ندارد و ممکن است شما مشکلاتی در طول استفاده از این سیستم مشاهده نمایید. در این مقاله نکات و راه‌حل‌هایی را برای Debug کردن وردپرس برای شما خواهیم گفت تا بتوانید به‌راحتی آن‌ها را رفع کنید.

 

Debug کردن وردپرس

Debug کردن وردپرس درواقع به این معناست که شما مشکلات سایت خود را شناسایی کنید و نسبت به رفع آن اقدام کنید. به‌بیان‌دیگر شما تمامی خطاهای کدها را شناسایی می‌کنید و پس از رفع مشکل، با آزمایش و تصحیح کردن کد، اطمینان حاصل می‌کنید که دیگر این مشکل برای سایت شما اتفاق نخواهد افتاد.

Debug کردن وردپرس به سبک حرفه‌ای‌ها

رفع این نوع مشکلات نیاز به یک سری ابزار دارد که ممکن است شما به این ابزار دسترسی نداشته باشید. ازاین‌رو معمولاً توسعه‌دهندگان این وظیفه را بر عهده می‌گیرند و این مشکلات را رفع می‌کنند. البته شما می‌توانید برای Debug از استراتژی‌های مختلفی استفاده کنید. برخی از این استراتژی‌ها، حل مشکلات برنامه‌نویسی، تست واحدها و بررسی کد نویسی‌ها می‌باشد.

 

معمولاً توسعه‌دهندگان قبل از اینکه یک نرم‌افزار یا کد را در اختیار کاربران خود قرار دهند با روش‌های مختلفی آن را تست می‌کنند و اگر مشکلی در آن پیدا کنند اقداماتی را در جهت رفع آن ارائه می‌دهند و پس‌ازآن اقدام به انتشار آن می‌کنند؛ البته فکر نکنید که رفع مشکل یک کد به همین راحتی است، معمولاً رفع خطای یک کد می‌تواند از نوشتن آن کد سخت‌تر باشد و زمان بیشتری ببرد.

 

برخلاف تصور افرادی که با وردپرس سروکار دارند شناسایی یک مشکل به‌اندازه‌ی حل آن مشکل اهمیت دارد. به همین دلیل اکیداً توصیه می‌کنیم روش صحیح و درستی را برای تشخیص مشکلات سایتتان در پیش بگیرید تا حل مشکل برای شما آسان‌تر شود و بتوانید تمامی مشکلات را شناسایی کند.

 

۵ روش برای Debug کردن وردپرس

یکی از عمده‌ترین روش‌هایی که همه افراد برای رفع مشکل صفحه سفید و یا خراب شدن صفحه سایت خود از آن استفاده می‌کنند، این است که قالب و پلاگین‌هایی که بر روی سایت خود نصب‌کرده‌اند را غیرفعال کنند. ممکن است خود شما هم به‌محض دیدن یک صفحه سفید اولین چیزی که به ذهنتان بیاید این است که افزونه‌ها را غیرفعال کنید و بررسی کنید که آیا نسخه جدیدتری برای به‌روزرسانی از سوی سازنده ارائه‌شده است یا خیر.

 

اما باید به این افراد گفت که شما قبل از حل مشکل باید آن را به‌درستی شناسایی کنی. راه‌حلی که در بالا به آن اشاره شد ممکن است برای شما وقت‌گیر باشد و کارایی لازم را نداشته باشد؛ ازاین‌رو شما با یک ابزار مناسب می‌توانید ضمن شناخت مشکل، عملکرد بهتری نیز برای رفع آن داشته باشید.

 

روش‌هایی که ما در این مقاله برای شما خواهیم گفت می‌توانند به‌راحتی مشکلات شما یک بار برای همیشه از ریشه حل کنند. پس با ما همراه باشید تا آن‌ها را بررسی کنیم.

 

فعال کردن WP_DEBUG

یکی از بهترین و ساده‌ترین روش‌هایی که شما می‌توانید برای حل مشکلات وردپرس خود از آن استفاده کنید فعال کردن WP_DEBUG است. ما قبلاً یک مقاله در این راستا در بیست اسکریپت قرار داده‌ایم که به شما پیشنهاد می‌کنیم حتماً این مقاله را مشاهده کنید. رفع خطاهای وردپرس با فعال کردن wp-debug

 

فعال کردن SCRIPT_DEBUG

وردپرس همواره به دنبال یک راه‌حل برای افزایش سرعت سایت کاربران خود است. به همین دلیل است که از نسخه minified فایل‌های CSS و JavaScript برای بهبود سرعت بارگیری صفحات سایت استفاده می‌کند.

 

درست است که این موضوع ممکن است سرعت صفحات سایت شما را بالا ببرد اما در برخی موارد این موضوع برای شما مشکلاتی نیز به وجود می‌آورد. چراکه در برخی مواقع استفاده از این فایل‌ها، خطاهای سایت را در اسکریپت‌ها و یا افزونه‌هایی که بر روی سایت خود استفاده می‌کنید پنهان می‌کند و شما قادر به دیدن آن‌ها نیستید، به همین دلیل نمی‌توانید این مشکلات را شناسایی کنید که این موضوع ممکن است برای سایت شما خطرناک باشد بنابراین از این مورد غافل نشوید، و اهمیت بیشتری به آن دهید.

 

اما خب این موضوع نیز در وردپرس یک راه‌حل دارد، که در اینجا برای شما خواهیم گفت. برای اینکه بتوانید مشکل فوق را از وردپرس خود رفع کنید باید کد زیر را به وردپرس خود اضافه کنید. بعدازاینکه وارد پوشه wp-config.php شدید، کد زیر را به wp-config.php / public_html اضافه کنید.

define( 'SCRIPT_DEBUG', true );

Debug کردن وردپرس به سبک حرفه‌ای‌ها

بعدازاینکه شما این کد را مانند تصویر بالا در فایل موردنظر جاسازی کردید، درواقع به وردپرس خود این دستور را می‌دهید که به‌صورت خودکار برای استفاده از افزونه‌ها از نسخه non-minified فایل‌های CSS و JavaScript استفاده کند.

 

اگر شما موارد ذکرشده در بالا را رعایت کنید می‌توانید خطاهایی که ممکن است در فایل افزونه‌های شما مخفی‌شده باشد را شناسایی کنید و در جهت رفع آن‌ها اقدامات لازم را انجام دهید.

 

گزارش خطای wpdb را فعال کنید.

شما با فعال کردن گزارش ارور WPDP، می‌توانید تمامی مشکلاتی که به پایگاه داده‌ی سایتتان مربوط می‌شود را شناسایی کنید.

آبجکت $wpdb یک متغیر به نام $show_errors دارد. اگر این متغیر را true کنیم، وردپرس خطاهای SQL را به ما نشان خواهد داد.

شما برای اینکه بتوانید مورد بالا را فعال کنید باید به پوشه /Public_html/wp-includes/wp-db.php وارد شوید و متغیر $Show_errors را در فایل wpdb از False به True تغییر دهید.

 

تشخیص خطاهای PHP

شما این امکان را دارید که با استفاده از پرونده‌های Phpinfo مشکلات و خطاهای PHP را در اسکریپت‌ها تشخیص دهید. پرونده‌ای که در اینجا به آن اشاره شد اطلاعات بسیار مفیدی در خصوص وضعیت PHP در اختیار شما قرار می‌دهد. به‌عنوان‌مثال شما با استفاده از این پرونده می‌توانید اطلاعاتی در خصوص برنامه‌های افزودنی، نسخه سیستم‌عامل، هدرهای HTTP و لایسنس به‌دست بیاورید.

 

برای اینکه بتوانید گزارش خطا را در این فایل فعال کنید تا هنگام یافتن یک خطا برای شما هشدار ارسال شود، باید پرونده php.ini را پیکربندی کنید. البته باید به این نکته هم توجه داشته باشید که برخی از شرکت‌های هاستینگ این گزینه را غیرفعال می‌کنند و شما امکان فعال کردن آن را نخواهید داشت.

 

اگر شرکت‌هاست شما این ویژگی را پشتیبانی نمی‌کند اصلاً نگران نباشید، چراکه شما این امکان را دارید که PHP Code Checker یا چک کننده PHP، استفاده کنید. این چک کننده درواقع به شما برای بررسی مشکلات کد کمک بسیار زیادی می‌کند. البته شما برای اینکه بتوانید کدها را به‌صورت دقیق‌تر بررسی کنید می‌توانید از Eclipse و PHPStorm استفاده کنید.

 

حل مشکلات وردپرس با استفاده از افزونه Query Monitor

علاوه بر مواردی که در بالا به آن اشاره کردیم در وردپرس ابزارهای دیگری نیز وجود دارند که به شما برا رفع خطاهای سایتتان کمک می‌کنند. به‌عنوان‌مثال یکی از ابزارهایی که کارایی بسیار زیادی برای شما خواهد داشت افزونه‌ی Query Monitor است که به‌صورت رایگان در اختیار شما قرار می‌گیرد.

 

استفاده از این پلاگین نه تنها هزینه‌ای برای شما در بر نخواهد داشت بلکه کار شما را برای حل مشکلات سایتتان راحت خواهد کرد. شما می‌توانید این پلاگین را به‌راحتی از مخزن وردپرس خود دانلود و بر روی سایت خود نصب کنید.

 

این پلاگین امکانات بسیار زیادی را در اختیار شما قرار خواهد داد. بعدازاینکه این افزونه را بر روی سایت خود فعال کردید، وارد تنظیمات آن شوید تا با یک صفحه مشابه تصویر زیر مواجه شوید:

Debug کردن وردپرس به سبک حرفه‌ای‌ها

شما در این صفحه می‌توانید نمایش داده‌های پایگاه داده، خطاهای PHP، تماس‌های HTI API و تمامی اقدامات را فعال کنید، تا در صورت بروز مشکل آن‌ها را مشاهده کنید. همچنین شما می‌توانید بلوک‌های ویرایشگر را متوقف کنید و اسکریپت‌ها و CSS های سایت خود را مدیریت کنید.

 

علاوه بر این از طرف دیگر، می‌توانید از Debug Bar و Simply Show Hooks نیز برای رفع مشکلات سایت وردپرس استفاده کنید.

 

نکته: دقت داشته باشید که قبل از استفاده و نصب این پلاگین از سازگاری آن با آخرین نسخه وردپرس مطمئن شوید.

 

امیدواریم این مقاله به شما برای حل مشکلات وردپرس کمک کرده باشد. موفق و پیروز باشید. 🙂

نوشته Debug کردن وردپرس به سبک حرفه‌ای‌ها اولین بار در بیست اسکریپت. پدیدار شد.

[ad_2]

لینک منبع مطلب

ساخت ابزارک نمایش مطالب براساس دسته بندی وردپرس
[ad_1]

ساخت ابزارک نمایش مطالب براساس دسته بندی

خب اولین قدممون برای ساخت ابزارک اینه که کلاس مربوط بهش رو تعریف کنیم. پس طبق معمول به سراغ فایل functions.php میریم. در انتهای فایل این کد رو اضافه کنید

class CategoryPosts extends WP_Widget {

	function CategoryPosts() {
		$widget_ops = array('classname' => 'cat-post-widget', 'description' => __('نمایش نوشته های مربوط به دسته خاص')); // توضیحات مربوط به ابزارک در اینجا
		$this->WP_Widget('category-posts', __('نمایش نوشته ها براساس دسته بندی'), $widget_ops);  // نام ابزارک در اینجا
	}

خب با کد بالا کلاس مربوط به ابزارک رو ساختیم

حالا نوبت به نوشتن تابع ابزارک نمایش مطالب براساس دسته بندی هستش. با این تابع گزینه های تنظیمات ابزارک رو میتونیم تعریف کنیم

پس این کد رو هم در ادامه اضافه کنید

function widget($args, $instance) {
		global $post;
		$post_old = $post; // ذخیره مطلب
		
		extract( $args );
		
		$sizes = get_option('mkrdip_cat_post_thumb_sizes');
		
		// اگر عنوانی وارد نشد از نام دسته بندی استفاده میشه
		if( !$instance["title"] ) {
			$category_info = get_category($instance["cat"]);
			$instance["title"] = $category_info->name;
	  }

	  $valid_sort_orders = array('date', 'title', 'comment_count', 'rand');
	  if ( in_array($instance['sort_by'], $valid_sort_orders) ) {
		$sort_by = $instance['sort_by'];
		$sort_order = (bool) isset( $instance['asc_sort_order'] ) ? 'ASC' : 'DESC';
	  } else {
		// این بخش مربوط به مرتب سازی هستش
		$sort_by = 'date';
		$sort_order = 'DESC';
	  }
		
		// آرایه ای از اطلاعات مطالب را بر می گرداند
	  $cat_posts = new WP_Query(
		"showposts=" . $instance["num"] . 
		"&cat=" . $instance["cat"] .
		"&orderby=" . $sort_by .
		"&order=" . $sort_order
	  );

		// طول چکیده را تعیین می کند
		$new_excerpt_length = create_function('$length', "return " . $instance["excerpt_length"] . ";");
		if ( $instance["excerpt_length"] > 0 )
			add_filter('excerpt_length', $new_excerpt_length);
		
		echo $before_widget;
		
		// عنوان ابزارک
		echo $before_title;
		if( isset( $instance["title_link"] ) )
			echo '<a href="' . get_category_link($instance["cat"]) . '">' . $instance["title"] . '</a>';
		else
			echo $instance["title"];
		echo $after_title;

		// لیست مطالب
		echo "<ul>n";
		
		while ( $cat_posts->have_posts() )
		{
			$cat_posts->the_post();
		?>
			<li class="cat-post-item">
				<a class="post-title" href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a>
				

				<?php if ( isset( $instance['date'] ) ) : ?>
				<p class="post-date"><?php the_time("j M Y"); ?></p>
				<?php endif; ?>
				
				<?php
					if (
						function_exists('the_post_thumbnail') &&
						current_theme_supports("post-thumbnails") &&
						isset( $instance["thumb"] ) &&
						has_post_thumbnail()
					) :
				?>
					<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
					<?php the_post_thumbnail( 'cat_post_thumb_size'.$this->id ); ?>
					</a>
				<?php endif; ?>
							
				<?php if ( isset( $instance['excerpt'] ) ) : ?>
				<?php the_excerpt(); ?> 
				<?php endif; ?>
				
				<?php if ( isset( $instance['comment_num'] ) ) : ?>
				<p class="comment-num">(<?php comments_number(); ?>)</p>
				<?php endif; ?>
			</li>
			<?php
		}
		
		echo "</ul>n";
		
		echo $after_widget;

		remove_filter('excerpt_length', $new_excerpt_length);
		
		wp_reset_postdata();
	
	}

خب حالا باید کد مربوط به ذخیره اطلاعات وارد شده رو قرار بدیم.

/**
	 * ذخیره اطلاعات انتخاب شده
	 *
	 */
	function update($new_instance, $old_instance) {
		$sizes = get_option('mkrdip_cat_post_thumb_sizes');
			
		if ( !$sizes ) {
			$sizes = array();
		}
		
		$sizes[$this->id] = array($new_instance['thumb_w'], $new_instance['thumb_h']);
		update_option('mkrdip_cat_post_thumb_sizes', $sizes);
				
		return $new_instance;
	}

خب ما الان یه مشکلی داریم و اونم اینه که در پیشخوان تنظیماتی برای ابزارک نیست

پس این کد رو هم اضافه می کنیم

function form($instance) {
		$instance = wp_parse_args( ( array ) $instance, array(
			'title'          => __( '' ),
			'cat'			 => __( '' ),
			'num'            => __( '' ),
			'sort_by'        => __( '' ),
			'asc_sort_order' => __( '' ),
			'title_link'	 => __( '' ),
			'excerpt'        => __( '' ),
			'excerpt_length' => __( '' ),
			'comment_num'    => __( '' ),
			'date'           => __( '' ),
			'thumb'          => __( '' ),
			'thumb_w'        => __( '' ),
			'thumb_h'        => __( '' )
		) );

		$title          = $instance['title'];
		$cat 			= $instance['cat'];
		$num            = $instance['num'];
		$sort_by        = $instance['sort_by'];
		$asc_sort_order = $instance['asc_sort_order'];
		$title_link		= $instance['title_link'];		
		$excerpt        = $instance['excerpt'];
		$excerpt_length = $instance['excerpt_length'];
		$comment_num    = $instance['comment_num'];
		$date           = $instance['date'];
		$thumb          = $instance['thumb'];
		$thumb_w        = $instance['thumb_w'];
		$thumb_h        = $instance['thumb_h'];
				
			?>
			<p>
				<label for="<?php echo $this->get_field_id("title"); ?>">
					<?php _e( 'عنوان' ); ?>:
					<input class="widefat" id="<?php echo $this->get_field_id("title"); ?>" name="<?php echo $this->get_field_name("title"); ?>" type="text" value="<?php echo esc_attr($instance["title"]); ?>" />
				</label>
			</p>
			
			<p>
				<label>
					<?php _e( 'دسته بندی' ); ?>:
					<?php wp_dropdown_categories( array( 'name' => $this->get_field_name("cat"), 'selected' => $instance["cat"] ) ); ?>
				</label>
			</p>
			
			<p>
				<label for="<?php echo $this->get_field_id("num"); ?>">
					<?php _e('تعداد مطالب برای نمایش'); ?>:
					<input style="text-align: center;" id="<?php echo $this->get_field_id("num"); ?>" name="<?php echo $this->get_field_name("num"); ?>" type="text" value="<?php echo absint($instance["num"]); ?>" size='3' />
				</label>
			</p>

			<p>
				<label for="<?php echo $this->get_field_id("excerpt"); ?>">
					<input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id("excerpt"); ?>" name="<?php echo $this->get_field_name("excerpt"); ?>"<?php checked( (bool) $instance["excerpt"], true ); ?> />
					<?php _e( 'نمایش چکیده مطالب' ); ?>
				</label>
			</p>
			
			<p>
				<label for="<?php echo $this->get_field_id("excerpt_length"); ?>">
					<?php _e( 'طول چکیده:' ); ?>
				</label>
				<input style="text-align: center;" type="text" id="<?php echo $this->get_field_id("excerpt_length"); ?>" name="<?php echo $this->get_field_name("excerpt_length"); ?>" value="<?php echo $instance["excerpt_length"]; ?>" size="3" />
			</p>
			
			<p>
				<label for="<?php echo $this->get_field_id("comment_num"); ?>">
					<input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id("comment_num"); ?>" name="<?php echo $this->get_field_name("comment_num"); ?>"<?php checked( (bool) $instance["comment_num"], true ); ?> />
					<?php _e( 'نمایش تعداد دیدگاه ها' ); ?>
				</label>
			</p>
			
			<p>
				<label for="<?php echo $this->get_field_id("date"); ?>">
					<input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id("date"); ?>" name="<?php echo $this->get_field_name("date"); ?>"<?php checked( (bool) $instance["date"], true ); ?> />
					<?php _e( 'نمایش تاریخ مطلب' ); ?>
				</label>
			</p>
			
			<?php if ( function_exists('the_post_thumbnail') && current_theme_supports("post-thumbnails") ) : ?>
			<p>
				<label for="<?php echo $this->get_field_id("thumb"); ?>">
					<input type="checkbox" class="checkbox" id="<?php echo $this->get_field_id("thumb"); ?>" name="<?php echo $this->get_field_name("thumb"); ?>"<?php checked( (bool) $instance["thumb"], true ); ?> />
					<?php _e( 'نمایش تصویر شاخص' ); ?>
				</label>
			</p>
			<p>
				<label>
					<?php _e('اندازه تصویر شاخص'); ?>:<br />
					<label for="<?php echo $this->get_field_id("thumb_w"); ?>">
						عرض: <input class="widefat" style="width:30%;" type="text" id="<?php echo $this->get_field_id("thumb_w"); ?>" name="<?php echo $this->get_field_name("thumb_w"); ?>" value="<?php echo $instance["thumb_w"]; ?>" />
					</label>
					
					<label for="<?php echo $this->get_field_id("thumb_h"); ?>">
						ارتفاع: <input class="widefat" style="width:30%;" type="text" id="<?php echo $this->get_field_id("thumb_h"); ?>" name="<?php echo $this->get_field_name("thumb_h"); ?>" value="<?php echo $instance["thumb_h"]; ?>" />
					</label>
				</label>
			</p>
			<?php endif; ?>

			<?php

		}

}

add_action( 'widgets_init', create_function('', 'return register_widget("CategoryPosts");') );

حالا سیو کنید و ابزارک رو تست کنید

به همین سادگی!

خب مقاله امروز بیست اسکریپت تحت عنوان آموزش ابزارک نمایش مطالب براساس دسته بندی هم به پایان رسید. امیدوارم که آموزش ساده و روان بوده باشه اگر مشکلی در ابزارک بود دوباره آموزش رو چک کنید چرا که آموزش تست شده هستش

فقط کدهای مربوط به CSS رو خودتون باید انجام بدید

نوشته ساخت ابزارک نمایش مطالب براساس دسته بندی وردپرس اولین بار در بیست اسکریپت. پدیدار شد.

[ad_2]

لینک منبع مطلب

نمایش مطالب تصادفی از دسته بندی های متفاوت در وردپرس
[ad_1]

سلام دوستان عزیز ، در این مقاله از آموزش وردپرس ، به نحوه نمایش مطالب تصادفی از دسته بندی های متفاوت در وردپرس بدون استفاده از افزونه خواهیم پرداخت.

 

نمایش مطالب تصادفی از دسته بندی های متفاوت در وردپرس

 

مقدمه:

نمایش مطالب تصادفی در وب سایت های امروزی یکی از بهترین راه های جذب کاربر جهت مشاهده مطالب دیگر موجود در وب سایت شما هستش و ما در این مقاله قصد داریم به نحوه نمایش مطالب تصادفی از دسته بندی های متفاوت در وردپرس بدون نمایش موارد تکراری بپردازیم، در ادامه با ما همراه باشید.

 

شروع به کار

برای شروع کدنویسی باید ابتدا تصمیم بگیرید که کدهای شما کجا قرار میگیره ، میتونه داخل یکی از فایل های قالبتون باشه و یا به یک action hook بچسه و یا هر راهی که خودتون مناسب می دونید. من کدهای خودم را داخل فایل صفحه اول قالبم قرار میدم ، ما در این مقاله از پوسته twentyseventeen استفاده می کنیم و index.php را تغییر میدهیم.

در حال حاضر صفحه اصلی وب سایت من مشابه تصویر زیر هستش:

نمایش مطالب تصادفی از دسته بندی های متفاوت در وردپرس

جمع آوری داده های مورد نیاز

در این مرحله قصد داریم لیستی از دسته بندی های اصلی موجود در وب سایتمون درست کنیم، برای این کار می تونیم از تابع get_categories() استفاده کنیم ولی ما فقط دسته بندی های اصلی رو لازم داریم و به زیر دسته بندی ها احتیاجی نداریم برای همین از تابع get_terms() و مقداردهی به آرگومان parent کارمون رو ادامه میدیم.

<?php
$terms = get_terms( array( 
 'taxonomy' => 'category',
 'parent'   => 0
) );
if ( $terms ) {
 
 echo '<h3>مطالب تصادفی</h3>';
 echo '<ul class ="randomposts">';
 
 foreach( $terms as $term ) { 
 }
} 
?>

صورت کلی کد ما مشابه بالا خواهد بود، کد بالا دسته بندی های اصلی وب سایت ما رو استخراج کرده و در صورت وجود دسته بندی عبارت “مطالب تصادفی” رو به عنوان تیتر این بخش چاپ می کنه و در بعد یک حلقه برای اضافه کردن کدهای بعدی جهت نمایش مطالب تصادفی ایجاد می کنه.

 

آماده سازی Query

قدم بعدی آماده کردن Query و تعریف آرگومان های لازم جهت استخراج مطالب تصادفی هستش، این درون حلقه foreach در کد بالا انجام میشه و از متغییر $term که در کد بالا تعریف شده بود استفاده می کنه.

 

کدهای زیر درون حلقه foreach اضافه میشه:

$args = array(
  'post_type' => 'post',
  'orderby' => 'rand',
  'posts_per_page' => 1,
  'tax_query' => array(
    array(
      'taxonomy' => 'category',
      'field'    => 'slug',
      'terms'    => $term,
    ),
 )
);

آرگومان ها :

  • post-type : فقط مطالب با post-type برابر post رو استخراج می کنه
  • Orderby: نحوه مرتب سازی که به صورت تصادفی تنظیم کردیم
  • posts_per_page : تعداد پست در هر صفحه که برابر ۱ هستش.

 

اجرای Query در حلقه

حالا که Query خودمون رو آماده کردیم وقته اجرا Query درون حلقه foreach هستش، برای اینکار کدهای زیر رو بعد از تعریف آرگومان ها اضافه می کنیم:

// run the query
$query = new WP_query ( $args );

if ( $query->have_posts() ) {
	
	while ( $query->have_posts() ) : $query->the_post();
	
		echo '<li>' . $term->name . ': <a href=' . get_the_permalink() . '">' . get_the_title() . '</a></h3>';
							
	endwhile;
	rewind_posts();
	
}

کدهای بالا یک لیست از مطالب تصادفی با عنوان مطلب و لینک مشاهده مطلب تولید می کنند ولی یه مشکل وجود داره و اون هم نمایش پست های تکراری در قطعه کد بالا هستش.

 

جلوگیری از تکرار مطالب

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

 

کد اول رو بعد از get_terms() برای تعریف یک آرایه جدید اضافه میکنیم.

$do_not_duplicate = array();

کد دوم رو داخل Query جهت مقداردهی به یک آرگومان جدید برای جلوگیری از تکراری بودن مطالب اضافه می کنیم.

'post__not_in' => $do_not_duplicate,

کد سوم رو بعد از echo کردن داخل حلقه اضافه می کنیم.

$do_not_duplicate[] = $post->ID;

کد نهایی – نمایش مطالب تصادفی از دسته بندی های متفاوت در وردپرس :

بعد از اضافه کردن کدهای بالا نسخه نهایی کدهای ما جهت نمایش مطالب تصادفی از دسته بندی های متفاوت در وردپرس به صورت زیر خواهد بود:

<section class="random>">
	
	<?php
	
	$terms = get_terms( array( 
		'taxonomy' => 'category',
		'parent'   => 0
	) );
	
	$do_not_duplicate = array();
	
	if ( $terms ) {
		
		echo '<h3>مطالب تصادفی</h3>';
		echo '<ul class ="randomposts">';
		
			foreach( $terms as $term ) {	
			
				// define the arguments
				$args = array(
					'post_type' => 'post',
					'orderby' => 'rand',
					'posts_per_page' => 1,
					'post__not_in' => $do_not_duplicate,
					'tax_query' => array(
						array(
							'taxonomy' => 'category',
							'field'    => 'slug',
							'terms'    => $term,
						),
					),
				);
				
				// run the query
				$query = new WP_query ( $args );
				
				if ( $query->have_posts() ) {
					
					while ( $query->have_posts() ) : $query->the_post();
					
						echo '<li>' . $term->name . ': <a href=' . get_the_permalink() . '">' . get_the_title() . '</a></h3>';
						$do_not_duplicate[] = $post->ID;
											
					endwhile;
					rewind_posts();
					
				}
				
			}
			
		echo '</ul>';
		
	}			
	?>	
	
</section>

بعد از افزودن قطعه کد بالا قبل از فوتر در قالب twentyseventeen صفحه نخست باید مشابه تصویر زیر باشد:

نمایش مطالب تصادفی از دسته بندی های متفاوت در وردپرس

جمع بندی:

خوب دوستان عزیز ، در این مقاله از آموزش وردپرس سعی کردیم به صورت کامل نحوه نمایش مطالب تصادفی از دسته بندی های متفاوت در وردپرس بدون استفاده از افزونه رو شرح بدیم، امیدوارم که تونسته باشیم نیاز شما رو در این زمینه برطرف کینم.

نوشته نمایش مطالب تصادفی از دسته بندی های متفاوت در وردپرس اولین بار در بیست اسکریپت. پدیدار شد.

[ad_2]

لینک منبع مطلب

پنهان سازی از جستجوی وردپرس بدون استفاده از افزونه
[ad_1]

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

 

پنهان سازی از جستجوی وردپرس بدون استفاده از افزونه

 

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

 

در این آموزش از بیست اسکریپت نحوه پنهان سازی از جستجوی وردپرس را برای تمامی موارد دلخواه شما بدون استفاده از افزونه و تنها با کدنویسی وردپرس آموزش می دهم.

 

پنهان سازی دسته بندی ها از جستجوی وردپرس

برای انجام این امر نیاز دارید تا تغییراتی را در فایل فانکشن قالب نصبی خود اعمال کنید. پس قبل از انجام هر تغییری حتما از وب سایت خود یک فایل پشتیبان تهیه کنید. اکنون به هاست خود رفته و در مسیر نصب وردپرس به آدرس wp-content/themes بروید و پوشه قالب نصبی خود را باز کنید.

 

در این پوشه برای پنهان سازی از جستجوی وردپرس، فایل function.php قالب نصبی خود را ویرایش کرده و قطعه کد زیر را در جای مناسبی از آن قرار دهید.

function wpn_search_filter( $query ) {

    if ( $query->is_search && !is_admin() )

        $query->set( 'cat','-7' );

    return $query;

}

add_filter( 'pre_get_posts', 'wpn_search_filter' );

عدد ۷ در قطعه کد بالا بیانگر شناسه یا آی دی دسته بندی است که می خواهید با پنهان سازی آن از جستجوی وردپرس، آن را از دید کاربران مخفی کنید.

اما اگر بخواهد به جای یک دسته بندی، چند دسته بندی را از جستجوی وردپرس پنهان سازید، باید از قطعه کد زیر استفاده نمایید.

function wpn_search_filter( $query ) {

    if ( $query->is_search && !is_admin() )

        $query->set( 'cat','-7, -10, -21' );

    return $query;

}

add_filter( 'pre_get_posts', 'wpn_search_filter' );

در قطعه کد بالا نیز برای پنهان سازی از جستجوی وردپرس، از شناسه دسته بندی ها در خط سوم استفاده شده است.

 

پنهان سازی برچسب ها از جستجوی وردپرس

برای این منظور نیز باید از قطعه کد زیر در فایل فانکشن قالب نصبی خود استفاده نمایید.

function wpn_search_filter( $query ) {

if ( $query->is_search && !is_admin() )

        $query->set( 'tag','-19' );

    return $query;

}

add_filter( 'pre_get_posts', 'wpn_search_filter' );

در قطعه کد بالا نیز عدد ۱۹ بیانگر شناسه برچسب مورد نظر است. برای پنهان سازی چند برچسب از جستجو وردپرس نیز باید از قطعه کد زیر استفاده نمایید.

function wpn_search_filter( $query ) {

 if ( $query->is_search && !is_admin() )

        $query->set( 'tag','-19, -27, -56' );

    return $query;

}

add_filter( 'pre_get_posts', 'wpn_search_filter' );

در این قطعه کد نیز همانطور که مشاهده می کنید، برای پنهان سازی از جستجوی وردپرس از شناسه برچسب ها استفاده شده است.

 

پنهان سازی مقالات یک نویسنده از جستجوی وردپرس

گاهی ممکن است بخواهید پست های نوشته شده توسط یک نویسنده از جستجوی وردپرس مخفی شوند، برای این منظور دو روش را می توانید اعمال کنید.

چنانچه پست های نویسنده شما تعداد کمی دارند، به راحتی و با کمک افزونه Search Exclude اقدام به پنهان سازی از جستجوی وردپرس کنید. اما اگر تعداد مقالات نویسنده مورد نظر زیاد هستند، با اضافه کردن قطعه کد زیر به فایل فانکشن قالب نصبی شما این امکان فراهم خواهد شد.

function wpn_search_filter( $query ) {

    if ( $query->is_search && !is_admin() )

        $query->set( 'author','-24' );

    return $query;

}

add_filter( 'pre_get_posts', 'wpn_search_filter' );

در این کد نیز عدد ۲۴ بیانگر شناسه نویسنده است. برای پنهان سازی مقالات چند نویسنده از جستجوی وردپرس نیز از قطعه کد زیر استفاده نمایید.

function wpn_search_filter( $query ) {

    if ( $query->is_search && !is_admin() )

        $query->set( 'author','-24, -12, -19' );

    return $query;

}

add_filter( 'pre_get_posts', 'wpn_search_filter' );

پنهان سازی برگه ها از جستجوی وردپرس

در نهایت برای پنهان سازی برگه های مختلف از جستجو در وردپرس، باید از قطعه کد زیر در فایل فانکشن قالب نصبی خود استفاده نمایید.

if (!is_admin()) {

function wpn_search_filter($query) {

if ($query->is_search) {

$query->set('post_type', 'post');

}

return $query;

}

add_filter('pre_get_posts','wpn_search_filter');

}

با کمک قطعه کد بالا، تنها پست ها یا نوشته ها در نتایج جستجو نمایش داده می شود. همچنین در این قطعه کد با قرار دادن عبارت pages به جای post در خط سوم به عنوان نوع نوشته، تنها در نتایج جستجوی وردپرس برگه ها نمایش داده خواهند شد.

 

همانطور که در این آموزش مشاهده کردید، با پنهان سازی بخش های مختلف از جستجوی وردپرس، می توانید تعیین کنید که کاربران شما کدام بخش ها را بتوانند مشاهده و جستجو کنند.

نوشته پنهان سازی از جستجوی وردپرس بدون استفاده از افزونه اولین بار در بیست اسکریپت. پدیدار شد.

[ad_2]

لینک منبع مطلب

معرفی بهترین افزونه‌های کش وردپرس
[ad_1]

افزایش سرعت وردپرس و به طور کلی بهینه‌سازی سرعت وبسایت مهمترین مسئله‌ای است که همه ما به دنبالش هستیم تا صفحات سایتمون با سرعت بیشتر و بهتری لود بشن. دلیل این موضوع هم اینه که اولا کاربران قادر باشند با رفع مشکل سرعت وردپرس با سرعت بیشتری به سایت دسترسی داشته باشند و ثانیا موتورهای جستجو هم این مورد را به عنوان یک امتیاز ویژه برای سایتمون در نظر بگیرند و در نتایج بالاتری قرار بگیریم. برای افزایش سرعت در وردپرس همواره راهکارهای مختلفی معرفی شده و به معرفی افزونه‌های گوناگون پرداخته شده که بسیاری از این افزونه‌ها به صورت تجاری عرضه می‌شوند و با استفاده از چنین افزونه‌هایی شاید سرعت سایت ما بهتر بشه اما بیشترین مشکلات را با ناهماهنگی با افزونه‌های دیگه داشته‌اند و همه ما هم باهاشون مواجه شدیم. یکی از این راه‌ها استفاده از کش وردپرس و مدیریت بهتر کش سایت هست که در این مقاله میخوام به معرفی بهترین افزونه کش وردپرس بپردازم.

 

معرفی بهترین افزونه‌های کش وردپرس

 

در این مقاله از بیست اسکریپت قصد دارم تا به معرفی بهترین افزونه‌های کش وردپرس بپردازم که با استفاده از این آموزش میتونید با پر طرفدارترین افزونه کش در وردپرس آشنا شده و یکی از افزونه‌های مناسب برای کش وردپرس را نصب و استفاده کنید. پس اگر شما هم به دنبال این موضوع هستید که ببینید بهترین افزونه کش وردپرس چیست؟ و کدام افزونه کش وردپرس مناسب‌تر است؟ تا انتها همراه ما باشید.

 

معرفی و مقایسه بهترین افزونه کش وردپرس

قبل از اینکه به مقایسه بهترین افزونه های کش وردپرس بپردازم لازمه تا ابتدا با کش وردپرس و نحوه کارکرد کش در وردپرس آشنا بشیم و ببینیم که کش وردپرس به چه صورتی باعث افزایش سرعت در وردپرس خواهد شد.

 

کش وردپرس چیست؟

به زبان خیلی ساده کش وردپرس درواقع یک شامل فایل‌هایی هست که به صورت موقت در حافظه سیستم رایانه یا گوشی شما ذخیره خواهد شد. وقتی کش روی سایت فعال باشه و از طرفی رو مرورگر هم انجام بگیره از هر صفحه از سایتی که به صورت HTML دریافت می‌کنید، فایل‌هایی که مشخص شده به صورت موقت در حافظه باقی بمونن داخل فولدر کش برای مدت زمان تعیین شده قرار می‌گیرند. این فایل‌ها عموما شامل فایل‌هایی هستند که تغییری روی اونها انجام نمیگیره و ثابت هستند. به عنوان نمونه فایل‌های CSS یا تصاویر که تغییری در اونها انجام نمیگیره. حالا که این فایل‌ها به صورت موقت در سیستم ذخیره شدن وقتی شما سایتی رو که قبلا بازدید کردید رو میبینید به جای لود همه فایل‌ها، میاد و فایل‌هایی که به صورت کش شده در سیستم شما وجود دارند رو از سیستم میخونه و درخواستی برای خوندن به سرور ارسال نمیشه. برای همین فایل سریعتر در دسترس قرار گرفته و باعث افزایش سرعت سایت خواهد شد.

 

از کدام افزونه کش وردپرس استفاده کنیم؟

مخزن وردپرس مملو از افزونه‌های مختلفیه که هر کدوم برای کار خاصی کاربرد دارند و برخی از این افزونه‌ها هدف خاصی رو دنبال می‌کنند. حالا در بین اینا تفاوت‌هایی وجود داره و ممکنه یک افزونه از یک متد و افزونه دیگه از متد دیگه برای انجام وظیفه‌ای که داره استفاده بکنه که همین موضوع باعث میشه یکی از افزونه‌ها بهتر عمل بکنه یا اینکه در حالت خوبش هر دو به یک میزان کارشون رو درست انجام بدن. برای کش وردپرس هم دقیقا همین اتفاق میفته و با روش‌های مختلفی که برای کش وجود داره و بسته به نوع وب سرور و نرم افزارهای استفاده شده روی سرور ممکنه یک افزونه عملکرد بهتری داشته باشه و افزونه دیگه کندتر عمل بکنه. بنابراین باید یکی از بهترین افزونه‌هایی که بر اساس نوع سرور شما وجود داره به عنوان کش در وردپرس استفاده کنید که در ادامه به معرفی بهترین افزونه‌های کش وردپرس می‌پردازم.

معرفی بهترین افزونه‌های کش وردپرس

۱٫ افزونه WP-FFPC

یکی از ساده‌ترین و بهترین افزونه‌های کش وردپرس هست که امکان کش سایت را بر اساس متدهای مختلفی که بر روی سرور قرار داره و شامل APC، APCu، xCache، PHP memcached و Nginx memcached میشه به شما خواهد داد. این افزونه تا به امروز موفق شده بیش از ۴٫۰۰۰ نصب فعال رو از مخزن وردپرس به خودش اختصاص بده و از اونجایی که این افزونه سازگاری بهتری با انواع وب سرور داره و انتخاب بیشتری به شما خواهد داد میتونه بهترین انتخاب باشه. گذشته از اون این افزونه با هدف کش ساخته شده و امکانات مختلف دیگه در اون وجود نداره که افزونه حجیم به حساب بیاد.


معرفی بهترین افزونه‌های کش وردپرس

۲٫ افزونه w3 total cache

این افزونه هم یکی از معروف‌ترین و پر استفاده‌ترین افزونه کش وردپرس هست که تا به حال موفق شده بیش از ۱ میلیون نصب فعال رو در مخزن وردپرس به خودش اختصاص بده و امکان کش وردپرس را در سایت فراهم بکنه.در یک تست انجام گرفته توسط سایت GTmetrix این افزونه موفق شد تا سرعت لود سایت را تا ۰/۶۲ ثانیه بهبود بده که چیزی در حدود ۲۰٫۶۴ درصد سرعت سایت رو افزایش داده بود. افزونه w3 total cache علاوه بر امکاناتی که برای کش وردپرس در اختیارتون میده امکان استفاده از موارد زیر را هم به شما خواهد داد.

  • امکان فشرده سازی و ترکیب فایل‌های HTML ،CSS و JS
  • کش دیتابیس
  • کاهش زمان اجرای دیتابیس
  • کش Browser
  • استفاده از CDN در وردپرس
  • بهینه سازی کش برای SSL وردپرس
  • و…

معرفی بهترین افزونه‌های کش وردپرس

۳٫ افزونه wp super cache

این افزونه هم تا به امروز موفق شده بیش از ۱ میلیون نصب فعال رو به خودش اختصاص بده که در نوع خودش یکی دیگه از افزونه‌های پر طرفدار کش وردپرس هست. به عنوان رقیبی از افزونه w3 total cache هم به حساب میاد و همواره کاربران در انتخاب این دو افزونه بین دو راهی قرار دارند. در یک تست انجام گرفته توسط سایت GTmetrix این افزونه موفق شد تا سرعت لود سایت را تا ۰/۸۵ ثانیه بهبود بده که چیزی در حدود ۲۸٫۷ درصد سرعت سایت رو افزایش داده بود.


معرفی بهترین افزونه‌های کش وردپرس

۴٫ افزونه wp rocket

یکی دیگه از بهترین افزونه‌های کش وردپرس هست که البته به صورت تجاری هست و باید لایسنس اونو به صورت اورجینال از سایت سازنده خریداری کنید. پیشنهاد می‌کنم که از نسخه‌هایی که در وب فارسی در حال عرضه هستند هیچ وقت استفاده نکنید و حتما افزونه را از سایت اصلی و به صورت خرید ارزی تهیه کنید. تعداد دانلود و استفاده این افزونه مشخص نیست، اما به دلیل کارکرد خوبی که داره جز بهترین افزونه کش وردپرس به حساب میاد که میتونید ازش استفاده کنید. در یک تست انجام گرفته توسط سایت GTmetrix این افزونه موفق شد تا سرعت لود سایت را تا ۰/۹۸ ثانیه بهبود بده که چیزی در حدود ۳۴٫۱۲ درصد سرعت سایت رو افزایش داده بود. در تست سایت Pingdom هم امار به صورت کاهش ۱٫۲۷ ثانیه‌ای در لود سایت و بهبود سرعت به میزان ۳۵٫۲۱ درصد بود.


معرفی بهترین افزونه‌های کش وردپرس

۵٫ افزونه wp fastest cache

این افزونه هم تا به امروز موفق شده بیش از ۷۰۰٫۰۰۰ نصب فعال رو به خودش اختصاص بده که میشه به عنوان یکی دیگه از بهترین افزونه کش وردپرس به حساب آوردش. این افزونه به مرور در حال بهتر شدن هست و نسبت به نسخه‌های اولیه پیشرفت خوبی رو تونسته کسب بکنه. در رابطه با آمار و ارقام هم میشه گفت که تقریبا با افزونه wp super cache به یک میزان قادر به کش وردپرس و افزایش سرعت سایت هست. این افزونه برای فشرده سازی کردن فایل‌های CSS و JS میتونه انتخاب خوبی باشه که امکان استفاده از CDN وردپرس رو هم در اختیار شما قرار خواهد داد.

امیدوارم این مقاله هم مورد توجه و پسند شما قرار گرفته باشه و با استفاده از اون تونسته باشید بهترین افزونه کش وردپرس برای افزایش سرعت سایت وردپرس را انتخاب کنید و برای سایت خودتون ازش استفاده کنید.

نوشته معرفی بهترین افزونه‌های کش وردپرس اولین بار در بیست اسکریپت. پدیدار شد.

[ad_2]

لینک منبع مطلب

آموزش رفع خطای لود نشدن فایل rtl در وردپرس
[ad_1]

لود نشدن فایل rtl در وردپرس زمانی رخ خواهد داد که قصد دارید از زبان های راست به چپ مانند فارسی یا عربی در وب سایت خود استفاده کنید، در صورتی که زبان پیشخوان شما لاتین و چپ به راست است. ویژگی rtl که مخفف کلمه Right To Left می باشد، در کدهای CSS و HTML وب سایت شما سبب می شود که بتوانید از زبان های راست به چپ استفاده کنید.

 

آموزش رفع خطای لود نشدن فایل rtl در وردپرس

 

این ویژگی برای زبان های چپ به راست به صورت ltr می باشد. چنانچه وردپرس فارسی را نصب کنید، به طور خود فایل rtl در وردپرس شما قرار می گیرد و می توانید از ویژگی راست به چپ استفاده کنید. اما گاهی ممکن است با خطای لود نشدن فایل rtl در وردپرس مواجه شوید و نتوانید به صورت خودکار از این ویژگی بهره ببرید. در این آموزش از بیست اسکریپت نحوه رفع این خطا را بررسی خواهم کرد.

 

رفع خطای لود نشدن فایل rtl در وردپرس

برخی از قالب ها که از زبان های راست به چپ پشتیبانی می کنند، یک فایل rtl نیز درون فایل های CSS خود دارند و با انتخاب زبان سایت به فارسی، به طور خودکار لود شده و می توانید از ویزگی راست به چپ استفاده کنید.

 

اما گاهی با بروز خطای لود نشدن فایل rtl در وردپرس، با انتخاب زبان سایت به فارسی باز هم از ویژگی راست به چپ تبعیت نمی شود. در این گونه موارد برای اینکه بتوانید از قابلیت راست به چپ در وردپرس خود استفاده کنید، باید تغییراتی را در فایل function.php قالب سایتتان ایجاد کنید.

 

قبل از ایجاد هر گونه تغییری حتما از سایتتان یک فایل پشتیبان تهیه کرده و سپس در هاست خود و در مسیر نصب وردپرس به آدرس wp-content/themes رفته و پوشه قالب نصبی خود را باز کنید.

 

در این پوشه به دنبال فایلی با عنوان function.php بگردید و سپس برای رفع خطای لود نشدن فایل rtl در وردپرس، کدهای زیر را قبل از علامت <? در این فایل قرار دهید.

function iptrtl_add_stylesheet() {

$template_dir_uri = get_template_directory_uri();

$template_dir = get_template_directory();

//$stylesheet_dir = get_stylesheet_directory();

if ( file_exists("$template_dir/rtl.css") ) {

wp_register_style( 'parent-theme-rtl', "$template_dir_uri/rtl.css" );

wp_enqueue_style( 'parent-theme-rtl' );

}

}

add_action('wp_print_styles', 'iptrtl_add_stylesheet');

در این قطعه کد دستوری اضافه شده است که تنظیم می کند اگر فایل RTL.css برای قالب فعلی و فعال روی سایت موجود است و حتی اگر از نسخه لاتین وردپرس در پیشخوان استفاده میشود، در هر صورت فایل rtl.css برای کاربران لود شده و خطای لود نشدن فایل rtl در وردپرس رفع گردد.

 

در نهایت با ذخیره این کد در فایل فانکشن این دستور ثبت شده و از این پس اگر فایل rtl.css در قالب شما وجود داشته باشه لود شده و سایت به صورت راست چین شده نمایش داده خواهد شد و هرگز با مشکل لود نشدن فایل rtl در وردپرس مواجه نخواهید شد.

نوشته آموزش رفع خطای لود نشدن فایل rtl در وردپرس اولین بار در بیست اسکریپت. پدیدار شد.

[ad_2]

لینک منبع مطلب

صفحه 4 از 34
قبلی 12345678910 بعدی 2030...«