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

ডেভসংকেত

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

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

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

plugin name

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

plugin-name.php

এম্পটি ইনডেক্স ফাইল

index.php

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

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

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( $variable ) {} (includes arrays, objects, etc.)

এক্সিস্টিং ফাংশনস চেক করতে

function_exists()

এক্সিস্টিং ক্লাসেস চেক করতে

class_exists()

এক্সিস্টিং কনস্ট্যান্টস চেক করতে

defined()

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

একটি স্ট্রিং এ একটি CSS ক্লাস যোগ করতে

add_cssclass)

একটি মানকে অ-ঋণাত্মক পূর্ণসংখ্যাতে রূপান্তর করতে

absint()

একটি স্যান্ডবক্স এ প্লাগইন সক্রিয় করার চেষ্টা করে এবং সাফল্যের উপর পুনঃনির্দেশ করতে

activate_plugin()

একাধিক প্লাগইন সক্রিয় করতে

activate_plugins()

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

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

Plugin Name:

প্লাগিনের এড্রেস

Plugin URI:

সংক্ষিপ্ত বিবরণী

Description:

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

Version:

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

Requires at least

সাইটের সর্বনিম্ন PHP ভার্সন

Requires PHP:

প্লাগিন অথোরের নাম

Author:

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

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

Author URI:

প্লাগিনের লাইসেন্স নম্বর

License:

লাইসেন্স এর এড্রেস

License URI:

টেক্সট ডোমেইন(ইউনিক আইডেন্টিটি)

Text Domain:

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

Domain Path:

নেটওয়ার্ক এক্টিভেশন

Network:

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

পোস্ট টাইটেল

<?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') ?>

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

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

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 );

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

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

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()

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

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

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

Array/ Object এ কোন key সেট করা আছে কিনা চেক করতে

isset()

Array/ Object/ String খালি কিনা চেক করতে। এটা isset() এর কাজ ও করে।

empty()

String এ কত গুলো char আছে জানতে

mb_strlen() or strlen()

রেগুলার এক্সপ্রেশন দিয়ে কোন String থেকে Sub String বের করতে

preg_match()

একটা String থেকে অন্য Sub String এর পজিশন বের করতে

strpos()

Array তে কত গুলো এলিমেন্ট আছে জানতে

count()

Array কিনা জানতে

in_array()

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

is_email()
term_exists()
username_exists()
validate_file()

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

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()

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

esc_html()
esc_url()
esc_js()
esc_attr()
esc_html__()
esc_html_e()
esc_html_x()

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

esc_attr__()
esc_attr_e()
esc_attr_x()

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

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

শর্টকোড

[caption]
[gallery]
[audio]
[video]
[playlist]
[embed]
add_shortcode()

শর্টকোড

remove_shortcode()
shortcode_exists()

সেটিংস

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()

মেটাডাটা

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 )

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

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() )

ইউসার

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 )

অনুবাদ

__()
_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()

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

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/

Plugin Readme Generator

https://generatewp.com/plugin-readme/

Readme Validator

https://wordpress.org/plugins/developers/readme-validator/

Fake Post Generator

https://wordpress.org/plugins/fakerpress/

এই চিটশিটে কন্ট্রিবিউট করেছেনঃ

  • KawsarAlamEven

    Kawsar Alam Even

    username/KawsarAlamEven

  • devmuhib009

    Muhibul Haque

    username/devmuhib009

  • huzaifaalmesbah

    Huzaifa Al Mesbah

    username/huzaifaalmesbah

  • mhimon

    Mahbub Hasan Imon

    username/mhimon

  • iamraufu

    iamraufu

    username/iamraufu

  • sayedulsayem

    Sayedul Sayem

    username/sayedulsayem

  • imalisiddique

    Ali Siddique

    username/imalisiddique

  • hasanuzzamanbe

    Hasanuzzaman

    username/hasanuzzamanbe

ডেভসংকেত

বাংলা চিটশিটের ভান্ডার

devsonket.com

প্রিন্ট করুন