پ 17 جولای 2025 ساعت 17:59

کدهای php در طراحی قالب و پلاگین های وردپرس

سلام! برای آموزش طراحی قالب (Theme) ، ابزارک (Widget) و پلاگین (Plugin) در وردپرس، لازم است دانش‌آموزان با استانداردها و بهترین روش‌های کدنویسی PHP در محیط وردپرس آشنا شوند. در ادامه یک لیست جامع و مرتب از کدهای استاندارد و مهم وردپرس بر اساس آخرین بروزرسانی‌ها (تا نسخه 6.5 وردپرس) آورده شده است.


📚 فهرست مطالب

  1. استانداردهای کدنویسی PHP
  2. کدهای پایه در طراحی قالب (Theme)
  3. کدهای پایه در ساخت ابزارک (Widget)
  4. کدهای پایه در ساخت پلاگین (Plugin)
  5. کدهای کاربردی وردپرس (WP Functions)
  6. منابع مرجع رسمی و مستندات

🔹 ۱. استانداردهای کدنویسی

وردپرس از PHP Coding Standards مشخصی تبعیت می‌کند که شامل:

✅ متغیرها:

$var_name = ‘value’; // snake_case

✅ توابع:

function my_custom_function() {
// code here
}

✅ کلاس‌ها:

class My_Custom_Class {
public function __construct() {
// constructor
}
}

✅ تعیین ثابت‌ها:

define( ‘MY_CONSTANT’, ‘value’ );

✅ کامنت‌نویسی:

// Single line comment
/*
* Multi-line comment
*/

منبع: WordPress PHP Coding Standards


🔹 ۲. کدهای پایه در طراحی قالب

functions.php – فعالسازی قابلیت‌های قالب

function my_theme_setup() {
add_theme_support( ‘title-tag’ );
add_theme_support( ‘post-thumbnails’ );
register_nav_menus( array(
‘primary’ => __( ‘Primary Menu’, ‘mytheme’ )
) );
}
add_action( ‘after_setup_theme’, ‘my_theme_setup’ );
function my_theme_scripts() {
wp_enqueue_style( ‘style’, get_stylesheet_uri() );
wp_enqueue_script( ‘main-js’, get_template_directory_uri() . ‘/js/main.js’, array(), null, true );
}
add_action( ‘wp_enqueue_scripts’, ‘my_theme_scripts’ );

index.php, single.php, archive.php, page.php – لوپ استاندارد

if ( have_posts() ) :
while ( have_posts() ) : the_post();
the_title( ‘<h2>’, ‘</h2>’ );
the_content();
endwhile;
endif;

header.php و footer.php

<?php wp_head(); ?>
<!– HTML Header –>
<?php wp_footer(); ?>
</body>
</html>

sidebar.php و register_sidebar

function my_theme_widgets_init() {
register_sidebar( array(
‘name’ => __( ‘Sidebar’, ‘mytheme’ ),
‘id’ => ‘sidebar-1’,
‘description’ => __( ‘Add widgets here.’, ‘mytheme’ ),
‘before_widget’ => ‘<section id=“%1$s” class=“widget %2$s”>’,
‘after_widget’ => ‘</section>’,
‘before_title’ => ‘<h2 class=“widget-title”>’,
‘after_title’ => ‘</h2>’,
) );
}
add_action( ‘widgets_init’, ‘my_theme_widgets_init’ );

🔹 ۳. کدهای پایه در ساخت ابزارک

✅ ایجاد ابزارک سفارشی:

class My_Custom_Widget extends WP_Widget {
public function __construct() {
parent::__construct(
‘my_custom_widget’,
__( ‘My Custom Widget’, ‘textdomain’ ),
array( ‘description’ => __( ‘A custom widget’, ‘textdomain’ ) )
);
}
public function widget( $args, $instance ) {
echo $args[‘before_widget’];
if ( ! empty( $instance[‘title’] ) ) {
echo $args[‘before_title’] . apply_filters( ‘widget_title’, $instance[‘title’] ) . $args[‘after_title’];
}
echo __( ‘Hello World!’, ‘textdomain’ );
echo $args[‘after_widget’];
}
public function form( $instance ) {
$title = ! empty( $instance[‘title’] ) ? $instance[‘title’] : __( ‘New title’, ‘textdomain’ );
echo ‘<p><label for=“‘ . esc_attr( $this->get_field_id( ‘title’ ) ) . ‘”>’ . __( ‘Title:’ ) . ‘</label>’;
echo ‘<input class=“widefat” id=“‘ . esc_attr( $this->get_field_id( ‘title’ ) ) . ‘” name=“‘ . esc_attr( $this->get_field_name( ‘title’ ) ) . ‘” type=“text” value=“‘ . esc_attr( $title ) . ‘”></p>’;
}
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance[‘title’] = ! empty( $new_instance[‘title’] ) ? strip_tags( $new_instance[‘title’] ) : ”;
return $instance;
}
}
function register_my_custom_widget() {
register_widget( ‘My_Custom_Widget’ );
}
add_action( ‘widgets_init’, ‘register_my_custom_widget’ );

🔹 ۴. کدهای پایه در ساخت پلاگین

✅ ساختار پایه یک پلاگین:

فایل: my-plugin/my-plugin.php

<?php
/**
* Plugin Name: My Custom Plugin
* Description: A custom plugin for WordPress.
* Version: 1.0
* Author: Your Name
*/
function my_plugin_init() {
// Do something
}
add_action( ‘init’, ‘my_plugin_init’ );

✅ افزودن منو در داشبورد ادمین:

function my_plugin_menu() {
add_menu_page(
‘My Plugin Settings’,
‘My Plugin’,
‘manage_options’,
‘my-plugin’,
‘my_plugin_settings_page’
);
}
add_action( ‘admin_menu’, ‘my_plugin_menu’ );
function my_plugin_settings_page() {
echo ‘<div class=“wrap”><h1>My Plugin Settings</h1></div>’;
}

✅ ایجاد اکشن و فیلتر سفارشی:

do_action( ‘my_custom_action’ );
apply_filters( ‘my_custom_filter’, $value );

🔹 ۵. کدهای کاربردی وردپرس

درج اسکریپت
wp_enqueue_script()
درج استایل
wp_enqueue_style()
خواندن تنظیمات
get_option()
ذخیره تنظیمات
update_option()
ایجاد پست تایپ سفارشی
register_post_type()
ایجاد تکسونومی
register_taxonomy()
ایجاد منو در ادمین
add_menu_page()
ارسال اعلان در ادمین
add_action('admin_notices')
ایجاد اکشن سفارشی
do_action()
ایجاد فیلتر سفارشی
apply_filters()

🔹 ۶. منابع مرجع رسمی و مستندات


💡 نکات آموزشی برای دانش‌آموزان

  • همواره از wp_enqueue_script و wp_enqueue_style برای درج فایل‌ها استفاده کنید.
  • از esc_html_ و sanitize_text_field برای ایمن‌سازی داده‌ها استفاده کنید.
  • از add_action و add_filter به درستی استفاده کنید.
  • تمامی متون را با __() یا _e() برای چند زبانه کردن ترجمه کنید.
  • تست پلاگین‌ها و قالب‌ها روی محیط‌های مختلف (PHP 8.0+ و وردپرس 6.x) انجام دهید.

📁 پیوست: دانلود قالب و پلاگین استاندارد

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