ওয়ার্ডপ্রেস প্লাগিন ডেভেলপমেন্ট

ওয়ার্ডপ্রেস (CMS) এর অন্যতম গুরুত্বপূর্ণ অংশ হচ্ছে ওয়ার্ডপ্রেস-প্লাগিন। এটি ব্যবহারকারিদের কাজের সুবিধার্থে ওয়ার্ডপ্রেসের কোর ফাংশন গুলিকে বর্ধিত করার অনুমতি দেয়।

ওয়ার্ডপ্রেস প্লাগিনের বেসিক টেমপ্লেটগুলো

Link
  • প্লাগিন এন্ট্রি ডিরেক্টরি

    plugin name
  • প্লাগিন এন্ট্রি ফাইল

    plugin-name.php
  • এম্পটি ইনডেক্স ফাইল

    index.php

প্লাগিন বেসিক

Link
  • এক্টিভেশন হুক সেটআপ করতে

    register_activation_hook( __FILE__, 'pluginprefix_function_to_run' )
  • ডিএক্টিভেশন হুক সেটআপ করতে

    register_deactivation_hook( __FILE__, 'pluginprefix_function_to_run' );
  • আনইনস্টল হুক সেটআপ করতে

    register_uninstall_hook(__FILE__, 'pluginprefix_function_to_run');
  • এক্সিস্টিং ভ্যারিয়াবলেস চেক করতে

    isset() (includes arrays, objects, etc.)
  • এক্সিস্টিং ফাংশনস চেক করতে

    function_exists()
  • এক্সিস্টিং ক্লাসেস চেক করতে

    class_exists()
  • এক্সিস্টিং কনস্ট্যান্টস চেক করতে

    defined()

এন্ট্রি ফাইল হেডার ফিল্ডগুলো

Link
  • প্লাগিনের নাম (অবশ্যই থাকতে হবে)

    Plugin Name:
  • প্লাগিনের এড্রেস

    Plugin URI:
  • সংক্ষিপ্ত বিবরণী

    Description:
  • প্লাগিনের বর্তমান ভার্সন

    Version:
  • সর্বনিম্ন ওয়ার্ডপ্রেস ভার্সন

    Requires at least
  • সাইটের সর্বনিম্ন PHP ভার্সন

    Requires PHP:
  • প্লাগিন অথোরের নাম

    Author:
  • প্লাগিন অথোরের এড্রেস

    Author URI:
  • প্লাগিনের লাইসেন্স নম্বর

    License:
  • লাইসেন্স এর এড্রেস

    License URI:
  • টেক্সট ডোমেইন(ইউনিক আইডেন্টিটি)

    Text Domain:
  • ট্রান্সলেটেড ল্যাঙ্গুয়েজের পাথ

    Domain Path:
  • নেটওয়ার্ক এক্টিভেশন

    Network:

টেমপ্লেটে সবচেয়ে বেশি ব্যবহৃত ট্যাগগুলো

Link
  • পোস্ট টাইটেল

    <?php the_title(); ?>
  • পোস্ট কন্টেন্টগুলো

    <?php the_content(); ?>
  • পোস্ট এক্সসার্প্ট

    <?php the_excerpt(); ?>
  • পোস্ট ক্যাটাগরি

    <?php the_category(', ') ?>
  • অথর এর তথ্য

    <?php the_author(); ?>
  • নির্দিষ্ট পোস্ট আইডির জন্য

    <?php the_ID(); ?>
  • পোস্ট এডিট লিংক

    <?php edit_post_link(); ?>
  • রেজিস্টার লিংক এর জন্য

    <?php wp_register(); ?>
  • রেজিস্টার ব্যবহারকারীদের লগঅন/লগ আউট লিংক পেতে

    <?php wp_loginout(); ?>
  • পরবর্তী পোস্ট লিংক এর জন্য

    <?php next_post_link(' %link ') ?>
  • পূর্ববর্তী পোস্ট লিংক এর জন্য

    <?php previous_post_link('%link') ?>

অ্যাকশন হুক এবং ফিল্টার

Link
  • কোনো অ্যাকশনকে ধরার জন্য

    add_action( string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1 )
  • নতুন অ্যাকশন তৈরির জন্য

    do_action( string $tag,  $arg = '' );
  • ফিল্টার অ্যাড করার জন্য

    add_filter( string $tag, callable $function_to_add, int $priority = 10, int $accepted_args = 1 );
  • ফিল্টার করার জন্য

    apply_filters( string $tag, mixed $value );

প্লাগিন এবং কনটেন্ট ডিরেক্টরি

Link
  • জাভাস্ক্রিপ্ট, সিএসএস, এবং অন্যান্য বাহ্যিক ফাইল প্লাগিন এ ব্যবহারের কোড

    plugins_url( 'myscript.js', _FILE_ );
  • plugins_url() ফাংশনটি প্লাগিন ডিরেক্টরি ইউআরএল রিটার্ন করে

    plugins_url('img/bar.jpg', __FILE__) || অউটপুট - http://www.example.com/wp-content/my-plugin/img/bar.jpg
  • plugin_dir_url() ফাংশনটি প্লাগিন ডিরেক্টরি ইউআরএল রিটার্ন করে ইউআরএল এর শেষে / সহ

    plugin_dir_url( __FILE__ ) . 'assets/styles.css' ) || অউটপুট http://www.example.com/wp-content/plugins/my-plugin/assets/styles.css
  • ফাংশনটি প্লাগিন এর ফাইল সিস্টেমের পাথ রিটার্ন করে ইউআরএল এর শেষে / সহ যদি __FILE__ পাস করা হয়

    plugin_dir_path()
  • প্লাগিন এর বেসনেম পেতে

    plugin_basename()
  • থিম ডিরেক্টরি ইউআরআই রিট্রিভ করতে

    get_template_directory_uri()
  • স্টাইলশীট ডিরেক্টরি ইউআরআই রিট্রিভ করতে

    get_stylesheet_directory_uri()
  • কারেন্ট থিম এর স্টাইলশীট ডিরেক্টরি ইউআরআই রিট্রিভ করতে

    get_stylesheet_uri()
  • থিম ডিরেক্টরি জন্য ইউআরআই রিট্রিভ করতে

    get_theme_root_uri()
  • থিম ডিরেক্টরি জন্য পাথ রিট্রিভ করতে

    get_theme_root()
  • থিম রুটস্ রিট্রিভ করতে

    get_theme_roots()
  • কারেন্ট থিম এর স্টাইলশীট ডিরেক্টরি পাথ রিট্রিভ করতে

    get_stylesheet_directory()
  • কারেন্ট থিম এর থিম ডিরেক্টরি রিট্রিভ করতে

    get_template_directory()
  • কারেন্ট সাইট এর ফ্রন্ট এন্ড ইউআরএল রিট্রিভ করতে

    home_url()
  • ওয়ার্ডপ্রেস ইন্সটল এর রুট অ্যাবসুলুট ফাইল সিস্টেমের পাথ পেতে

    get_home_path() || // Return 'Path: /var/www/htdocs/' or 'Path: /var/www/htdocs/wordpress/' if it is subfolder
  • কারেন্ট সাইট এর এডমিন এরিয়ার ইউআরএল রিট্রিভ করতে

    admin_url()
  • কারেন্ট সাইট এর ইউআরএল রিট্রিভ করে যেখানে ওয়ার্ডপ্রেস অ্যাপ্লিকেশান এর ফাইল গুলো থাকে

    site_url()
  • কন্টেন্ট ডিরেক্টরি এর ইউআরএল রিট্রিভ করতে

    content_url()
  • ইনক্লুড ডিরেক্টরি এর ইউআরএল রিট্রিভ করতে

    includes_url()
  • কারেন্ট আপলোড ডিরেক্টরি এর পাথ এবং ইউআরএল এর অ্যারে পেতে

    wp_upload_dir()
  • একটি প্রদত্ত সাইট এর এডমিন এরিয়ার ইউআরএল রিট্রিভ করতে

    get_admin_url()
  • একটি প্রদত্ত সাইট এর ফ্রন্ট এন্ড ইউআরএল রিট্রিভ করতে

    get_home_url()
  • একটি প্রদত্ত সাইট এর ইউআরএল রিট্রিভ করে যেখানে ওয়ার্ডপ্রেস অ্যাপ্লিকেশান এর ফাইল গুলো থাকে

    get_site_url()
  • নেটওয়ার্ক এনাবেল সাইট এর এডমিন এরিয়ার ইউআরএল রিট্রিভ করতে

    network_admin_url()
  • কারেন্ট নেটওয়ার্ক এর সাইট ইউআরএল রিট্রিভ করতে

    network_site_url()
  • কারেন্ট নেটওয়ার্ক এর হোম ইউআরএল রিট্রিভ করতে

    network_home_url()

প্লাগইন সিকিউরিটি (ইউসার রোলেস)

Link
  • add_role()
  • remove_role()
  • get_role()
  • add_cap()
  • remove_cap()
  • user_can()
  • current_user_can()

প্লাগইন সিকিউরিটি (ভ্যালিডেশন)

Link
  • isset() and empty()
  • mb_strlen() or strlen()
  • preg_match(), strpos()
  • count()
  • in_array()
  • is_email()
  • term_exists()
  • username_exists()
  • validate_file()

প্লাগইন সিকিউরিটি (সিকিউরিং ইনপুট)

Link
  • sanitize_email()
  • sanitize_file_name()
  • sanitize_hex_color()
  • sanitize_hex_color_no_hash()
  • sanitize_html_class()
  • sanitize_key()
  • sanitize_meta()
  • sanitize_mime_type()
  • sanitize_option()
  • sanitize_sql_orderby()
  • sanitize_text_field()
  • sanitize_title()
  • sanitize_title_for_query()
  • sanitize_title_with_dashes()
  • sanitize_user()
  • esc_url_raw()
  • wp_filter_post_kses()
  • wp_filter_nohtml_kses()

প্লাগইন সিকিউরিটি (সিকিউরিং আউটপুট)

Link
  • esc_html()
  • esc_url()
  • esc_js()
  • esc_attr()
  • esc_html__()
  • esc_html_e()
  • esc_html_x()
  • esc_attr__()
  • esc_attr_e()
  • esc_attr_x()

অ্যাডমিনিস্ট্রেশন মেনু

Link
  • add_menu_page()
  • add_submenu_page()
  • add_dashboard_page() – index.php
  • add_posts_page() – edit.php
  • add_media_page() – upload.php
  • add_pages_page() – edit.php?post_type=page
  • add_comments_page() – edit-comments.php
  • add_theme_page() – themes.php
  • add_plugins_page() – plugins.php
  • add_users_page() – users.php
  • add_management_page() – tools.php
  • add_options_page() – options-general.php
  • add_options_page() – settings.php
  • add_links_page() – link-manager.php – requires a plugin since WP 3.5+
  • Custom Post Type – edit.php?post_type=wporg_post_type
  • Network Admin – settings.php

শর্টকোড

Link
  • [caption]
  • [gallery]
  • [audio]
  • [video]
  • [playlist]
  • [embed]
  • add_shortcode()
  • remove_shortcode()
  • shortcode_exists()

সেটিংস

Link
  • register_setting()
  • unregister_setting()
  • add_settings_section()
  • add_settings_field()
  • settings_fields()
  • do_settings_sections()
  • do_settings_fields()
  • add_settings_error()
  • get_settings_errors()
  • settings_errors()
  • add_option()
  • get_option()
  • update_option()
  • delete_option()
  • add_site_option()
  • get_site_option()
  • update_site_option()
  • delete_site_option()

মেটাডাটা

Link
  • add_post_meta( int $post_id, string $meta_key, mixed $meta_value, bool $unique = false )
  • delete_post_meta( int $post_id, string $meta_key, mixed $meta_value = '' )
  • update_post_meta( int $post_id, string $meta_key, mixed $meta_value, mixed $prev_value = '' )
  • add_meta_box( string $id, string $title, callable $callback, string|array|WP_Screen $screen = null, string $context = 'advanced', string $priority = 'default', array $callback_args = null )

কাস্টম পোস্ট টাইপ & ট্যাক্সোনমি

Link
  • register_post_type( string $post_type, array|string $args = array() )
  • single-{post_type}.php
  • archive-{post_type}.php
  • register_taxonomy( string $taxonomy, array|string $object_type, array|string $args = array() )

ইউসার

Link
  • wp_create_user( string $username, string $password, string $email = '' )
  • wp_insert_user( array|object|WP_User $userdata )
  • update_user_meta( int $user_id, string $meta_key, mixed $meta_value, mixed $prev_value = '' )
  • wp_delete_user( int $id, int $reassign = null )

অনুবাদ

Link
  • __()
  • _e()
  • _x()
  • _ex()
  • _n()
  • _nx()
  • _n_noop()
  • _nx_noop()
  • translate_nooped_plural()
  • esc_html__()
  • esc_html_e()
  • esc_html_x()
  • esc_attr__()
  • esc_attr_e()
  • esc_attr_x()
  • number_format_i18n()
  • date_i18n()

ডেভেলপার টুলস

Link
  • WordPress Plugin Boilerplate

    https://github.com/devinvinson/WordPress-Plugin-Boilerplate/
  • https://wordpress.org/plugins/query-monitor/
  • https://wordpress.org/plugins/debug-bar/
  • https://wordpress.org/plugins/debug-bar-console/
  • https://wordpress.org/plugins/debug-bar-shortcodes/
  • https://wordpress.org/plugins/debug-bar-constants/
  • https://wordpress.org/plugins/debug-bar-post-types/
  • https://wordpress.org/plugins/debug-bar-cron/
  • https://wordpress.org/plugins/debug-bar-actions-and-filters-addon/