سفارش تبلیغ
صبا ویژن
طراحی سایت در کرج|طراحی وب سایت درکرج|آذران وب شعبه کرج|هاست
سه شنبه 93 شهریور 11 :: 3:43 عصر :: نویسنده : fahimeh nazari

 

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

رفع مشکل وردپرس

علت این مشکل

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

بررسی های اولیه

قبل از انجام هر کاری شناسنامه‌ی خود را در پیشخوان وردپرس بررسی کنید. در صورتی که گزینه‌ی “غیرفعال کردن ویرایشگر دیداری هنگام نوشتن” تیک خورده بود، تیک را بردارید و ذخیره کنید.
تمامی افزونه‌های خود رو غیرفعال کنید و با چندین مرورگر مختلف بررسی کنید.
اگه مشکل از فایل‌های وردپرس باشد با راه‌اندازی مجدد برطرف خواهد شد ، پس شما هم از قسمت بروزرسانی‌ها وردپرس را مجدد راه‌اندازی کنید و یا دایرکتوری wp-include را از نو بارگذاری کنید .
کش مرورگر و همچنین کش وب‌سایت (اگر از افزونه‌های کش استفاده میکنید) را خالی کنید.

ویرایش wp-config.php

فایل wp-config.php را باز کنید و کد زیر را قبل از خط require_once قرار دهید و ذخیره کنید.
define("CONCATENATE_SCRIPTS", false );
نکته : قبل از انجام هر تغییراتی backupگرفتن را فراموش نکنید.
افزونه‌ی tinymce-advanced را نصب و فعال کنید .
افزونه‌ی CKEditor را نصب نمایید. با نصب و فعال سازی این افزونه ویرایشگر شما از tinymce به CKEditor تغییر خواهد کرد و حتما هم ویرایشگر دیداری لود خواهد شد و مشکل برطرف خواهد شد.

 

آدرس : کرج – گوهردشت – خیابان اصلی گوهردشت – بین خیابان نهم و دهم غربی– بالای بانک مهر– پلاک252 – واحد11
تلفن تماس :34483769- 026, 34496534- 026, 34496506- 026
ایمیل : Karaj@azaranweb.com





 




موضوع مطلب : اذران وب شعبه کرج, طراحی سایت در کرج, ثبت دامنه در کرج, رفع مشکل عدم نمایش ویرایشگر دیداری, هاست در کرج, شرکت طراحی سایت


سه شنبه 93 شهریور 11 :: 3:36 عصر :: نویسنده : fahimeh nazari

در این قسمت به نحوه اصولی کش‌کردن داده‌ها در وردپرس با Transients APIرا بررسی می‌کنیم.

پشتیبان گرفتن در وردپرس

 

Transients API چیست؟

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

نحوه ذخیره و بازیابی داده‌های کش بوسیله Transients API

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

<?php set_transient( $transient, $value, $expiration ); ?>



این تابع سه متغیر ورودی دارد. نخست ‎$‎transient‎که نام قطعه داده‌ای است که باید کش شود. این نام در واقع شناسه یکتای آن داده است که در آینده از آن برای بازیابی داده‌های کش شده استفاده می‌کنیم. متغیر دوم ‎$value‎همان داده‌ای است که قصد کش کردن آن را داریم و از متغیر سوم یعنی ‎$expiration‎برای تعیین بازه زمانی که می‌خواهیم داده‌ها کش شوند استفاده می‌کنیم. توجه داشته باشید که مقدار این پارامتر بر حسب ثانیه است و وردپرس بعد از اتمام این زمان داده‌ها را از بانک اطلاعاتی حذف می‌کند.
زمانی که شما داده‌ای را ذخیره کردید می‌توانید به راحتی با تابع get_transient و شناسه آن داده، داده را بازیابی کنید.

<?php get_transient( $transient ); ?>



همان طور که قبل‌تر اشاره کردیم برای بازیابی داده‌ها به شناسه یکتای آن داده نیاز داریم. با ارسال این شناسه به تابع get_transient می‌توانیم به آن داده دسترسی پیدا بکنیم. این تابع دو نوع خروجی دارد. اول مقدار داده کش شده است و یا اینکه مقدار false به همین دلیل بعد از استفاده از این تابع می‌بایست بررسی کنیم که چه نوع داده‌ای در آن وجود دارد. می‌بایست در کدهای خود تمهیداتی را برای زمانی که داده‌های کش حذف شده‌اند در نظر بگیرید.
نکته ظریفی که در این قسمت وجود دارد این است که Transients API در هنگام عدم وجود داده مقدار false منطقی که با صفر مشخص می‌شود را به خروجی ارسال نمی‌کند چون این امکان وجود دارد که مقدار صفر همان داده‌ای باشد که آن را کش کرده باشید و به همین دلیل مقدار false را در یک آرایه قرار داده و آن را به خروجی ارسال می‌کند که برای تشخیص آن می‌توان از عملگر شناسایی یکتا (===) به جای عملگر برابری (==) استفاده کرد. به صورت زیر:

if ( false === ( $value = get_transient( "value" ) ) ) {
// this code runs when there is no valid transient set
}

حذف داده‌های کش شده بوسیله Transients API

برای حذف داده‌های کش شده از تابع delete_transient استفاده می‌کنیم که شکلی یکسان با تابع get_transient که پیش‌تر بررسی کردیم دارد با این تفاوت که این تابع با دریافت شناسه داده کش شده آن را حذف می‌کند.
<?php  delete_transient( $transient ); ?>

استفاده از Transient API در عمل

در اینجا می‌خواهیم برای شفافیت موضوع نحوه استفاده عملی از Transients API را بررسی کنیم. در این مثال می‌خواهیم داده‌های یک فید را دریافت و آنها را نمایش دهیم. دانلود این فید در هر بار نمایش و ساختن یک لیست HTML از آیتم‌های آن کار مناسبی نیست چون در هر بار دانلود و ساختن لیست خروجی آن فید زمان زیادی صرف دانلود و ساختن کد خروجی می‌شود که اینکار مخصوصا در سایت‌های پر بازدید می‌تواند باعث افت سرعت لود صفحات گردد. اما می‌خواهیم با استفاده از Transients API این فید را یکبار دانلود و برای 2 ساعت از آن اطلاعات استفاده کنیم و پس از 2 ساعت دوباره آن را دریافت کنیم و به همین منوال…با اضافه کردن چند خط کد می‌توان از دانلود هزاران بار این اطلاعات جلوگیری کرد. در کد زیر این کار را به صورت عملی پیاده‌سازی کرده ایم.

 

<?
// get data
$rss_itemslist = get_transient("wp_feed");
 
// for reading rss feed
include_once(ABSPATH . WPINC . "/feed.php");
 
// when data cached
if ($rss !== FALSE){
    // print chached feed items list
    echo $rss_itemslist;
}
// when data not cached
else{
 
    // Download feed and generate items
    $rss_itemslist = fetch_feed("http://feeds.irtuts.com/irtuts/wp");
    $max_items = $rss_itemslist->get_item_quantity(10);
    $items = $rss_itemslist->get_items(0, $max_items);
 
    // Generate HTML liat of feed items
    $fresh_list ="<ol>";
    foreach ( $items as $item )
        $fresh_list .= "<li>
          <a href="" . $item->get_link(); . "">" . $item->get_title();" .</a>
        </li>";
    $fresh_list .= "</ol>";
 
    // save fresh feed items list
    set_transient("wp_feed" , $fresh_list ,60*60*2 );
 
    // print fresh feed items list
    echo $rss_itemslist;
}
?>


در مرکز کد و در قسمت if بررسی می‌کنیم که داده‌ای از قبل در کش وجود دارد و در صورت عدم وجود در قسمت else دوباره لیست آیتم‌های آن فید را تولید می‌کنیم.

 

 

 

آدرس : کرج – گوهردشت – خیابان اصلی گوهردشت – بین خیابان نهم و دهم غربی– بالای بانک مهر– پلاک252 – واحد11
تلفن تماس :34483769- 026, 34496534- 026, 34496506- 026
ایمیل : Karaj@azaranweb.com



 




موضوع مطلب : اذران وب شعبه کرج, طراحی سایت در کرج, داده‌ها در وردپرس, کش کردن هوشمند داده‌ها در وردپرس با Transients API, شرکت طراحی