Wordpress

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

وردپرس (WordPress)

[ویرایش]

WordPress چیست؟

[ویرایش]

WordPress یک سیستم مدیریت محتوا (CMS) است که برای ساخت و مدیریت وب‌سایت استفاده می‌شود.

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

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

WordPress چه کاربردی دارد؟

[ویرایش]

با وردپرس می‌توان انواع مختلف سایت‌ها را ایجاد کرد، از جمله:

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

یکی از مزیت‌های مهم WordPress این است که برای بسیاری از قابلیت‌ها نیازی نیست همه چیز از ابتدا با کدنویسی ساخته شود.

WordPress.com و WordPress.org

[ویرایش]

یکی از نکات مهم در شروع کار با WordPress، تفاوت بین WordPress.com و WordPress.org است.

WordPress.org

[ویرایش]

در WordPress.org نرم‌افزار WordPress را دریافت کرده و آن را روی هاست خود نصب می‌کنیم.

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

WordPress.com

[ویرایش]

WordPress.com یک سرویس میزبانی‌شده است که امکان ساخت سایت را بدون مدیریت مستقیم سرور فراهم می‌کند.

بنابراین این دو را نباید با یکدیگر اشتباه گرفت.

اجزای اصلی WordPress

[ویرایش]

یک سایت WordPress معمولاً از بخش‌های مختلفی تشکیل شده است.

Theme یا قالب، ظاهر و نحوه نمایش سایت را مشخص می‌کند.

قالب می‌تواند مواردی مانند:

  • رنگ‌بندی
  • فونت
  • ساختار صفحات
  • Header
  • Footer
  • منوها
  • طراحی صفحات
  • نحوه نمایش نوشته‌ها

را کنترل کند.

Plugin

[ویرایش]

Plugin یا افزونه، قابلیت‌های جدیدی به WordPress اضافه می‌کند.

برای مثال یک افزونه می‌تواند قابلیت‌هایی مانند:

  • فروشگاه اینترنتی
  • فرم تماس
  • SEO
  • امنیت
  • پشتیبان‌گیری
  • کش
  • عضویت کاربران

را به سایت اضافه کند.

Post یا نوشته برای انتشار محتوای معمولاً زمان‌محور استفاده می‌شود.

برای مثال:

مقالات
اخبار
آموزش‌ها
مطالب وبلاگ

می‌توانند به صورت Post منتشر شوند.

Page یا برگه برای صفحات ثابت سایت استفاده می‌شود.

برای مثال:

درباره ما
تماس با ما
قوانین سایت
خدمات

معمولاً به صورت Page ساخته می‌شوند.

بخش Media برای مدیریت فایل‌های رسانه‌ای سایت استفاده می‌شود.

مانند:

  • تصاویر
  • فایل‌های صوتی
  • ویدئوها
  • فایل‌های PDF

داشبورد WordPress

[ویرایش]

بعد از ورود به پنل مدیریت WordPress، معمولاً بخش‌هایی مانند موارد زیر در اختیار مدیر سایت قرار دارد:

Dashboard
Posts
Media
Pages
Comments
Appearance
Plugins
Users
Tools
Settings

هرکدام از این بخش‌ها وظیفه خاصی برای مدیریت سایت دارند.

نصب WordPress

[ویرایش]

برای نصب WordPress روی هاست معمولاً مراحل کلی زیر انجام می‌شود:

خرید دامنه
   ↓
خرید هاست
   ↓
ایجاد Database
   ↓
آپلود WordPress
   ↓
تنظیم اطلاعات Database
   ↓
اجرای نصب
   ↓
تنظیم سایت

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

ساختار فایل‌های WordPress

[ویرایش]

بعد از نصب WordPress، فایل‌ها و پوشه‌های مختلفی وجود دارند.

مهم‌ترین پوشه‌ها عبارت‌اند از:

wp-admin
wp-content
wp-includes

wp-admin

[ویرایش]

فایل‌های مربوط به پنل مدیریت WordPress در این بخش قرار دارند.

wp-content

[ویرایش]

یکی از مهم‌ترین پوشه‌های WordPress است.

معمولاً قالب‌ها و افزونه‌های سایت در این مسیر قرار دارند:

wp-content/
├── plugins/
├── themes/
└── uploads/

wp-includes

[ویرایش]

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

قالب WordPress

[ویرایش]

قالب‌های سایت معمولاً در مسیر زیر قرار دارند:

wp-content/themes/

برای مثال:

wp-content/themes/mytheme/

یک قالب می‌تواند شامل فایل‌هایی مانند موارد زیر باشد:

style.css
index.php
functions.php
header.php
footer.php
single.php
page.php
archive.php
404.php

فایل functions.php

[ویرایش]

فایل functions.php یکی از فایل‌های مهم یک قالب WordPress است.

از آن می‌توان برای اضافه کردن قابلیت‌ها و تنظیمات مختلف به قالب استفاده کرد.

برای مثال:

<?php

function my_theme_setup() {
    add_theme_support('title-tag');
}

add_action('after_setup_theme', 'my_theme_setup');

این کد قابلیت مدیریت عنوان صفحه توسط WordPress را فعال می‌کند.

اضافه کردن CSS

[ویرایش]

برای طراحی ظاهر سایت معمولاً از CSS استفاده می‌شود.

برای مثال:

body {
    font-family: Arial, sans-serif;
}

h1 {
    font-size: 32px;
}

در یک قالب استاندارد بهتر است فایل CSS از طریق WordPress به قالب اضافه شود.

برای مثال:

function my_theme_styles() {
    wp_enqueue_style(
        'main-style',
        get_stylesheet_uri()
    );
}

add_action('wp_enqueue_scripts', 'my_theme_styles');

WordPress Hooks

[ویرایش]

یکی از مفاهیم مهم در توسعه WordPress، Hooks است.

Hooks به برنامه‌نویس اجازه می‌دهند در بخش‌های مختلف فرایند اجرای WordPress، کد خود را اضافه یا تغییر دهند.

دو نوع اصلی Hook وجود دارد:

Action
Filter

Action

[ویرایش]

Action برای اجرای یک عملیات در زمان مشخص استفاده می‌شود.

مثال:

function my_function() {
    echo "Hello WordPress";
}

add_action('wp_footer', 'my_function');

در این مثال تابع my_function به Action مربوط به Footer متصل شده است.

Filter

[ویرایش]

Filter برای تغییر یک مقدار قبل از استفاده یا نمایش آن استفاده می‌شود.

مثال:

function change_title($title) {
    return $title . " | My Website";
}

add_filter('the_title', 'change_title');

در این مثال عنوان نوشته قبل از نمایش تغییر می‌کند.

WordPress Loop

[ویرایش]

یکی از مفاهیم مهم WordPress، The Loop است.

Loop برای دریافت و نمایش نوشته‌ها استفاده می‌شود.

یک نمونه ساده:

<?php if (have_posts()) : ?>

    <?php while (have_posts()) : the_post(); ?>

        <h2><?php the_title(); ?></h2>

        <div>
            <?php the_content(); ?>
        </div>

    <?php endwhile; ?>

<?php endif; ?>

در این کد:

  • have_posts() بررسی می‌کند که نوشته‌ای برای نمایش وجود دارد یا خیر.
  • the_post() نوشته بعدی را آماده می‌کند.
  • the_title() عنوان نوشته را نمایش می‌دهد.
  • the_content() محتوای نوشته را نمایش می‌دهد.

WordPress Query

[ویرایش]

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

مثال:

$args = array(
    'post_type' => 'post',
    'posts_per_page' => 5
);

$query = new WP_Query($args);

if ($query->have_posts()) {

    while ($query->have_posts()) {
        $query->the_post();

        echo '<h2>';
        the_title();
        echo '</h2>';
    }

    wp_reset_postdata();
}

در این مثال پنج نوشته دریافت می‌شود.

مدیریت کاربران

[ویرایش]

WordPress دارای سیستم مدیریت کاربران است.

برخی نقش‌های پیش‌فرض عبارت‌اند از:

نقش کاربرد
Administrator مدیریت کامل سایت
Editor مدیریت محتوای سایت
Author انتشار و مدیریت نوشته‌های خود
Contributor ایجاد نوشته بدون امکان انتشار مستقیم
Subscriber دسترسی محدود به حساب کاربری

دسته‌بندی و برچسب

[ویرایش]

برای سازمان‌دهی محتوا در WordPress می‌توان از Categories و Tags استفاده کرد.

Category

[ویرایش]

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

مثلاً:

Programming
Web Design
WordPress
Git
HTML

برای مشخص کردن موضوعات مرتبط با یک نوشته استفاده می‌شود.

مثلاً برای مقاله‌ای درباره WordPress:

CMS
PHP
Website
WordPress
Tutorial
[ویرایش]

Permalink آدرس دائمی صفحات و نوشته‌های سایت است.

برای مثال:

https://example.com/wordpress/

ساختار Permalink از بخش تنظیمات WordPress قابل تغییر است.

یکی از ساختارهای رایج:

/%postname%/

است.

WordPress و SEO

[ویرایش]

WordPress به‌تنهایی تضمین‌کننده رتبه بالا در موتورهای جست‌وجو نیست، اما امکانات مناسبی برای ایجاد سایت بهینه برای موتورهای جست‌وجو دارد.

موارد مهم SEO شامل:

  • ساختار مناسب URL
  • عنوان مناسب صفحات
  • توضیحات متا
  • استفاده درست از Headingها
  • سرعت سایت
  • طراحی واکنش‌گرا
  • محتوای باکیفیت
  • لینک‌سازی داخلی
  • بهینه‌سازی تصاویر

امنیت WordPress

[ویرایش]

امنیت WordPress اهمیت زیادی دارد.

برخی اقدامات مهم:

  • استفاده از رمز عبور قوی
  • به‌روزرسانی WordPress
  • به‌روزرسانی قالب‌ها
  • به‌روزرسانی افزونه‌ها
  • حذف افزونه‌های غیرضروری
  • تهیه Backup
  • استفاده از HTTPS
  • محدود کردن دسترسی کاربران
  • استفاده از افزونه‌های امنیتی معتبر

Backup

[ویرایش]

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

یک Backup مناسب معمولاً شامل موارد زیر است:

فایل‌های WordPress
+
Database

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

WordPress REST API

[ویرایش]

WordPress دارای یک REST API است که امکان دسترسی برنامه‌ها و سرویس‌های دیگر به اطلاعات سایت را فراهم می‌کند.

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

یک Endpoint رایج:

/wp-json/wp/v2/posts

است.

در صورت فعال بودن API، درخواست به این مسیر می‌تواند اطلاعات نوشته‌ها را برگرداند.

WordPress برای برنامه‌نویسان

[ویرایش]

WordPress فقط یک سیستم آماده برای ساخت سایت نیست؛ بلکه امکان توسعه و شخصی‌سازی با استفاده از تکنولوژی‌هایی مانند موارد زیر را فراهم می‌کند:

PHP
HTML
CSS
JavaScript
MySQL
REST API

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

  • قالب اختصاصی ایجاد کند
  • افزونه اختصاصی بسازد
  • API ایجاد یا استفاده کند
  • Post Type اختصاصی ایجاد کند
  • پنل مدیریت را توسعه دهد
  • قابلیت‌های جدید به WordPress اضافه کند

خلاصه دستورات و توابع مهم WordPress

[ویرایش]
تابع / مفهوم کاربرد
wp_enqueue_style() اضافه کردن فایل CSS
wp_enqueue_script() اضافه کردن JavaScript
add_action() اتصال تابع به Action
add_filter() اتصال تابع به Filter
the_title() نمایش عنوان
the_content() نمایش محتوا
the_permalink() نمایش لینک نوشته
the_post() آماده‌سازی نوشته فعلی
have_posts() بررسی وجود نوشته
WP_Query ایجاد Query برای دریافت محتوا
get_template_part() بارگذاری بخش‌هایی از قالب
get_header() بارگذاری Header
get_footer() بارگذاری Footer
get_sidebar() بارگذاری Sidebar
wp_nav_menu() نمایش منو
wp_get_attachment_url() دریافت آدرس فایل رسانه
wp_reset_postdata() بازگرداندن اطلاعات Post پس از Query

ساختار پیشنهادی یادگیری WordPress

[ویرایش]

برای یادگیری WordPress می‌توان مسیر زیر را دنبال کرد:

WordPress مقدماتی
      ↓
نصب WordPress
      ↓
مدیریت نوشته و برگه
      ↓
قالب‌ها
      ↓
افزونه‌ها
      ↓
HTML و CSS در WordPress
      ↓
PHP
      ↓
functions.php
      ↓
Hooks
      ↓
The Loop
      ↓
WP_Query
      ↓
ساخت قالب اختصاصی
      ↓
ساخت Plugin
      ↓
REST API
      ↓
توسعه حرفه‌ای WordPress

جمع‌بندی

[ویرایش]

WordPress یک CMS انعطاف‌پذیر برای ساخت و مدیریت وب‌سایت است. استفاده از قالب‌ها و افزونه‌ها امکان ساخت سایت بدون برنامه‌نویسی گسترده را فراهم می‌کند، در حالی که توسعه‌دهندگان می‌توانند با PHP، HTML، CSS و JavaScript امکانات WordPress را به شکل گسترده‌ای سفارشی کنند.

برای کار حرفه‌ای با WordPress، آشنایی با HTML، CSS، PHP، JavaScript، Database، Git و مفاهیم وب بسیار مفید است.