توابع وردپرس
دوست من سلام امیدوارم حالتون عالی و پر از انرژی باشید فاطمه صالحی هستم در خدمت شما با یکی دیگر از مقالات آموزش رایگان وردپرس تحت عنوان آموزش توابع وردپرس.
Function
در وردپرس، فایل functions.php به عنوان بخشی از قالبها استفاده میشود و همچون افزونه درون قالبها جای میگیرد. این فایل با قالب فعلی سایت به طور خودکار ارتباط برقرار میکند و از کد PHP برای افزودن یا تغییر ویژگیها استفاده میشود. به عنوان مثال، یک پوسته وردپرس ممکن است کدها را به فایل functions.php اضافه کرده و ویجت جدید یا پیام خوشامدگویی سفارشی را بدون نیاز به افزونه اضافه کند.
توابع وردپرس
فایل functions.php به صورت خودکار هنگام نصب و فعالسازی یک قالب وردپرس بارگیری میشود.بنابراین ویرایش این فایل با استفاده از کدهای سفارشی به شما امکان میدهد تا انواع پستها، دستهبندیها، شورتکدها و اقدامات دیگر را برای بهبود وبسایت خود اضافه کنید.
فایل توابع وردپرس کجا قرار دارد؟
مکان فایل functions.php در دایرکتوری قالب قرار دارد. اگر قصد دارید یک قطعه کد را به وبسایت وردپرسی خود اضافه کنید، یکی از راههای انجام این کار، افزودن آن به فایل functions.php است. با این حال، معمولاً این بهترین روش برای این کار نیست. وردپرس تا جای ممکن سعی میکند طراحی و عملکرد را از یکدیگر جدا کند. به همین دلیل، تمها برای تعیین ظاهر و پلاگینها برای تعیین عملکرد وجود دارند.
اگر قادر به اعمال تغییرات در قالب وردپرس خود بدون تأثیر بر عملکرد وبسایت خود یا تغییرات در افزونههای خود بدون اثر بر طراحی وبسایت خود باشید، بهتر است.
آموزش وردپرس به شما میگوید که قطعه کد را به فایل functions.php تم خود اضافه کنید. اما این به طور کلی برای هر فردی مناسب نیست. اگر تصمیم دارید فایل functions.php را ویرایش کنید، لطفاً بسیار محتاط عمل کنید یا بهتر است از پشتیبانی ورپرس استفاده کنید.
دلایلی برای احتیاط در ویرایش فایل functions.php وجود دارد:
1. ویرایش توابع در وردپرس با بهروزرسانی تم از بین میرود.
2. با تغییرقالب وردپرس، ویرایشها از بین خواهند رفت.
3. ایجاد خطاهای کدنویسی در فایل توابع میتواند به سایت آسیب بزند.
حتی یک نقطه ویرگول اضافی نیز میتواند به مشکلاتی همچون “صفحه سفید مرگ” منجر شود. بنابراین، اگر واقعاً نیاز به استفاده از توابع دارید، حتماً به توسعهدهندگان ماهر مراجعه کنید. همچنین، اگر فایل functions.php را ویرایش میکنید، تنها زمانی که از child theme استفاده میکنید و تغییرات فقط در تم فرزند اعمال میشوند، اقدام به ویرایش فایل کنید. برای مثال، ممکن است قصد داشته باشید کدی را برای فونتهای سفارشی، استایلها، یا یک فایل ترجمه بهطور خاص برای موضوعی خاص اضافه کنید.
معرفی تمامی توابع وردپرس
فایلهای وردپرس حاوی اطلاعات تعریف شده برای بسیاری از توابع مفید PHP هستند. تعدادی از این توابع، که به عنوان برچسبهای قالب شناخته میشوند، به ویژه برای استفاده در قالبهای وردپرس طراحی شدهاند.
همچنین، توابع متعددی مرتبط با اقدامات و فیلترها (Plugin API) نیز وجود دارند که اصطلاحاً برای توسعه پلاگینها به کار میروند. بقیه توابع به منظور ایجاد عملکرد اصلی وردپرس به کار میروند.
توابع در وردپرس نقش مهمی در انعکاس ویژگیها و عملکردهای مختلف وردپرس دارند. این توابع میتوانند از طریق فایل functions.php در قالب وردپرس یا از طریق پلاگینها اضافه شوند. در زیر، توضیحی کلی در مورد برخی از توابع ویژه وردپرس آورده شده است:
1. توابع قالب (Theme Functions):
`wp_head()` و `wp_footer()`: این توابع به قالب اجازه میدهند که کدهای مربوط به بخش `<head>` و `<footer>` سایت را اضافه کنند.
`the_title()` و `the_content()` و … : این توابع محتوای مربوط به عنوان و مطلب را نمایش میدهند.
2. توابع پلاگینها (Plugin Functions):
`add_action()` و `add_filter()`: این توابع برای افزودن عملیات یا فیلترها به وردپرس استفاده میشوند.
`register_activation_hook()` و `register_deactivation_hook()`: برای اجرای کدها هنگام فعالسازی یا غیرفعالسازی پلاگین استفاده میشوند.
3. توابع مربوط به پستها و صفحات (Post and Page Functions):
`get_the_title()` و `get_the_content()` و … : به بدست آوردن عنوان و محتوای مربوط به یک پست یا صفحه کمک میکند
`the_permalink()` و `the_category()` و … : اطلاعات مربوط به لینک دائمی و دستهبندی را نمایش میدهند.
4. توابع مربوط به کاربران (User Functions):
`wp_get_current_user()`: اطلاعات کاربر فعلی را باز میگرداند.
`get_user_meta()` و `update_user_meta()`: برای مدیریت دادههای متا کاربران استفاده میشوند.
اینها تنها نمونهای از مجموعه گستردهای از توابع وردپرس هستند. هر کدام وظایف مختلفی دارند و برای سفارشیسازی و توسعه وبسایتها در وردپرس بسیار حیاتی اند.تعداد زیادی از این ها برای توسعه دهندگان افزونه و قالب مهم بوده. بنابراین، بیشتر توابع اصلی وردپرس را با استثنای برچسبهای قالب فهرست میکنیم:
توابع پست:
- get_adjacent_post
- get_boundary_post
- get_children
- get_extended
- get_next_post
- get_next_posts_link
- next_posts_link
- get_permalink
- the_permalink
- get_the_excerpt
- the_excerpt
- get_the_post_thumbnail
- get_post
- get_post_field
- get_post_ancestors
- get_post_mime_type
- get_post_status
- get_post_format
- set_post_format
- get_edit_post_link
- get_delete_post_link
- get_previous_post
- get_previous_posts_link
- previous_posts_link
- get_posts
- have_posts
- is_post
- is_single
- is_sticky
- get_the_ID
- the_ID
- the_post
- wp_get_recent_posts
- wp_get_single_post
- has_post_thumbnail
- has_excerpt
- has_post_format
توابع پست سفارشی:
- register_post_status
نوع پست سفارشی:
- register_post_type
- is_post_type_archive
- post_type_archive_title
- add_post_type_support
- remove_post_type_support
- post_type_supports
- set_post_type
- post_type_exists
- get_post_type
- get_post_types
- get_post_type_archive_link
- get_post_type_object
- get_post_type_capabilities
- get_post_type_labels
- is_post_type_hierarchical
در حذف پست:
- wp_delete_post
- wp_insert_post
- wp_publish_post
- wp_trash_post
- wp_update_post
برگه ها:
- get_all_page_ids
- get_ancestors
- get_page
- get_page_link
- get_page_by_path
- get_page_by_title
- get_page_children
- get_page_hierarchy
- get_page_uri
- get_pages
- is_page
- page_uri_index
- wp_link_pages
- wp_list_pages
- wp_page_menu
- wp_dropdown_pages
فیلدهای سفارشی (postmeta):
- add_post_meta
- delete_post_meta
- get_post_custom
- get_post_custom_keys
- get_post_custom_values
- get_post_meta
- update_post_meta
- register_meta
پیوست ها:
- get_attached_file
- image_resize
- image_edit_before_change
- is_attachment
- is_local_attachment
- set_post_thumbnail
- update_attached_file
- wp_attachment_is_image
- wp_create_thumbnail
- wp_insert_attachment
- wp_delete_attachment
- wp_get_attachment_image
- wp_get_attachment_link
- wp_get_attachment_image_src
- wp_get_attachment_metadata
- wp_get_attachment_thumb_file
- wp_get_attachment_thumb_url
- wp_get_attachment_url
- wp_check_for_changed_slugs
- wp_count_posts
- wp_get_mime_types
- wp_mime_type_icon
- wp_generate_attachment_metadata
- wp_prepare_attachment_for_js
- wp_update_attachment_metadata
بوکمارک:
- get_bookmark
- get_bookmarks
- wp_list_bookmarks
موارد اصلی:
- wp_get_post_categories
- wp_set_post_categories
- wp_get_post_tags
- wp_set_post_tags
- wp_set_post_terms
- wp_count_terms
- has_term
- is_object_in_term
سایر موارد:
- add_meta_box
- remove_meta_box
- get_the_ID
- the_ID
- get_the_author
- the_author
- get_the_author_posts
- get_the_content
- the_content
- get_the_title
- the_title
- the_title_attribute
- wp_trim_excerpt
- wp_get_post_revision
- wp_get_post_revisions
- wp_is_post_revision
- paginate_links
دسته ها:
- cat_is_ancestor_of
- get_all_category_ids
- get_ancestors
- get_cat_ID
- get_cat_name
- get_categories
- get_category
- get_category_by_path
- get_category_by_slug
- get_the_category_by_ID
- get_the_category_list
- get_category_link
- get_category_parents
- get_the_category
- single_cat_title
- in_category
- is_category
- the_category
- wp_category_checklist
- wp_dropdown_categories
- wp_list_categories
ایجاد دسته:
- wp_create_category
- wp_delete_category
- wp_insert_category
برچسبها:
- get_tag
- get_tag_link
- get_tags
- get_the_tag_list
- get_the_tags
- has_tag
- is_tag
- the_tags
- single_tag_title
- tag_description
- wp_generate_tag_cloud
- wp_tag_cloud
دسته بندی:
- get_object_taxonomies
- get_edit_term_link
- get_taxonomy
- get_taxonomies
- get_term
- get_the_term_list
- get_term_by
- the_terms
- get_the_terms
- get_term_children
- get_term_link
- get_terms
- is_taxonomy
- is_tax
- is_taxonomy_hierarchical
- is_term
- taxonomy_exists
- term_exists
- register_taxonomy
- register_taxonomy_for_object_type
- wp_get_object_terms
- wp_remove_object_terms
- wp_set_object_terms
- wp_insert_term
- wp_update_term
- wp_delete_term
- wp_terms_checklist
نقش مدیریت و سایرین:
- add_cap
- add_role
- author_can
- current_user_can
- current_user_can_for_blog
- get_role
- get_super_admins
- is_super_admin
- map_meta_cap
- remove_cap
- remove_role
- user_can
کاربران و نویسندگان:
- auth_redirect
- count_users
- count_user_posts
- count_many_users_posts
- email_exists
- get_currentuserinfo
- get_current_user_id
- get_profile
- get_user_by
- get_userdata
- get_usernumposts
- get_users
- set_current_user
- user_pass_ok
- wp_authenticate
- username_exists
- validate_username
- wp_dropdown_users
- wp_get_current_user
- wp_set_current_user
- wp_set_password
- get_author_posts_url
- get_the_modified_author
- is_multi_author
متای کاربر:
- add_user_meta
- delete_user_meta
- get_user_meta
- update_user_meta
- get_the_author_meta
عضویت و حذف کردن کاربر:
- wp_create_user
- wp_delete_user
- wp_insert_user
- wp_update_user
ورود/ خروج:
- is_user_logged_in
- wp_login_form
- wp_signon
- wp_logout
- wp_loginout
- wp_logout_url
تابع فید:
- bloginfo_rss
- comment_author_rss
- comment_link
- comment_text_rss
- do_feed
- do_feed_atom
- do_feed_rdf
- do_feed_rss
- do_feed_rss2
- fetch_feed
- fetch_rss
- get_author_feed_link
- get_bloginfo_rss
- get_category_feed_link
- get_comment_link
- get_comment_author_rss
- get_post_comments_feed_link
- get_rss
- get_search_comments_feed_link
- get_search_feed_link
- get_the_category_rss
- get_the_title_rss
- permalink_single_rss
- post_comments_feed_link
- rss_enclosure
- the_title_rss
- the_category_rss
- the_content_rss
- the_excerpt_rss
- wp_rss
توابع HTTP API:
- wp_remote_get
- wp_remote_retrieve_body
- wp_get_http_headers
- wp_remote_fopen
توابع دیدگاهها، پینگ و ردیابی:
- add_ping
- add_comment_meta
- check_comment
- comment_text
- comment_form
- comments_number
- discover_pingback_server_uri
- delete_comment_meta
- do_all_pings
- do_enclose
- do_trackbacks
- generic_ping
- get_approved_comments
- get_avatar
- get_comment
- get_comment_text
- get_comment_meta
- get_comments
- wp_list_comments
- get_enclosed
- get_lastcommentmodified
- get_pung
- get_to_ping
- have_comments
- get_comment_author
- is_trackback
- pingback
- privacy_ping_filter
- sanitize_comment_cookies
- trackback
- trackback_url
- trackback_url_list
- update_comment_meta
- weblog_ping
- wp_allow_comment
- wp_count_comments
- wp_delete_comment
- wp_filter_comment
- wp_get_comment_status
- wp_get_current_commenter
- wp_insert_comment
- wp_new_comment
- wp_set_comment_status
- wp_throttle_comment_flood
- wp_update_comment
- wp_update_comment_count
- wp_update_comment_count_now
حقه کامنتها:
- comment_class
- comment_ID
- comment_author
- comment_date
- comment_time
- get_comment_date
- get_comment_time
صفحه بندی نظرات:
- paginate_comments_links
- previous_comments_link
- next_comments_link
- get_comment_pages_count
توابع اکشن، فیلتر و همچنین پلاگین:
فیلترها:
- has_filter
- add_filter
- apply_filters
- apply_filters_ref_array
- current_filter
- merge_filters
- remove_filter
- remove_all_filters
اکشنها:
- has_action
- add_action
- do_action
- do_action_ref_array
- did_action
- remove_action
- remove_all_actions
پلاگینها:
- plugin_basename
- plugins_url
- get_plugin_data
- get_admin_page_title
- plugin_dir_path
- register_activation_hook
- register_deactivation_hook
- menu_page_url
- is_plugin_active
- is_plugin_active_for_network
- is_plugin_inactive
- is_plugin_page
- add_contextual_help
- get_plugins
ابزارکها:
- is_active_widget
- register_widget
- the_widget
- unregister_widget
- wp_add_dashboard_widget
- wp_convert_widget_settings
- wp_get_sidebars_widgets
- wp_get_widget_defaults
- wp_register_sidebar_widget
- wp_register_widget_control
- wp_set_sidebars_widgets
- wp_unregister_sidebar_widget
- wp_unregister_widget_control
- wp_widget_description
تنظیمات:
- register_setting
- unregister_setting
- settings_fields
- do_settings_fields
- do_settings_sections
- add_settings_field
- add_settings_section
- add_settings_error
- get_settings_errors
- settings_errors
شورتکدها:
- add_shortcode
- do_shortcode
- do_shortcode_tag
- get_shortcode_regex
- remove_shortcode
- remove_all_shortcodes
- shortcode_atts
- shortcode_parse_atts
- strip_shortcodes
توابع مرتبط با قالب:
شامل توابع:
- comments_template
- get_footer
- get_header
- get_sidebar
- get_search_form
سایر توابع:
- مadd_custom_background
- add_custom_image_header
- add_image_size
- add_theme_support
- body_class
- current_theme_supports
- dynamic_sidebar
- get_404_template
- get_archive_template
- get_attachment_template
- get_author_template
- get_body_class
- get_category_template
- get_comments_popup_template
- get_current_theme
- get_date_template
- get_header_image
- get_header_textcolor
- get_home_template
- get_locale_stylesheet_uri
- get_page_template
- get_paged_template
- get_post_class
- get_query_template
- get_search_template
- get_single_template
- get_stylesheet
- get_stylesheet_directory
- get_stylesheet_directory_uri
- get_stylesheet_uri
- get_tag_template
- get_taxonomy_template
- get_template
- get_template_directory
- get_template_directory_uri
- get_theme_file_uri
- get_theme_file_path
- get_template_part
- get_theme
- wp_get_themes
- get_theme_data
- get_theme_support
- get_theme_mod
- get_theme_mods
- get_theme_root
- get_theme_roots
- get_theme_root_uri
- get_themes
- has_header_image
- header_image
- header_textcolor
- in_the_loop
- is_child_theme
- is_active_sidebar
- is_admin_bar_showing
- is_customize_preview
- is_dynamic_sidebar
- language_attributes
- load_template
- locale_stylesheet
- locate_template
- post_class
- preview_theme
- preview_theme_ob_filter
- preview_theme_ob_filter_callback
- register_nav_menu
- register_nav_menus
- get_registered_nav_menus
- wp_create_nav_menu
- register_sidebar
- register_sidebars
- register_theme_directory
- remove_theme_mod
- remove_theme_mods
- remove_theme_support
- require_if_theme_supports
- search_theme_directories
- set_theme_mod
- switch_theme
- validate_current_theme
- unregister_nav_menu
- unregister_sidebar
- wp_add_inline_style
- wp_clean_themes_cache
- wp_get_archives
- wp_get_nav_menu_items
- wp_get_theme
- wp_nav_menu
- wp_oembed_remove_provider
- wp_page_menu
- wp_title
توابع قالب بندی:
-
absint
- add_magic_quotes
- addslashes_gpc
- antispambot
- attribute_escape
- backslashit
- balanceTags
- clean_pre
- clean_url
- convert_chars
- convert_smilies
- ent2ncr
- esc_attr
- esc_html
- esc_js
- esc_textarea
- esc_sql
- esc_url
- esc_url_raw
- force_balance_tags
- format_to_edit
- format_to_post
- funky_javascript_fix
- htmlentities2
- is_email
- js_escape
- make_clickable
- popuplinks
- remove_accents
- sanitize_email
- sanitize_file_name
- sanitize_html_class
- sanitize_key
- sanitize_mime_type
- sanitize_option
- sanitize_sql_orderby
- sanitize_text_field
- sanitize_title
- sanitize_title_for_query
- sanitize_title_with_dashes
- sanitize_user
- seems_utf8
- stripslashes_deep
- trailingslashit
- untrailingslashit
- urlencode_deep
- url_shorten
- utf8_uri_encode
- wpautop
- wptexturize
- wp_filter_kses
- wp_filter_post_kses
- wp_filter_nohtml_kses
- wp_iso_descrambler
- wp_kses
- wp_kses_array_lc
- wp_kses_attr
- wp_kses_bad_protocol
- wp_kses_bad_protocol_once
- wp_kses_bad_protocol_once2
- wp_kses_check_attr_val
- wp_kses_decode_entities
- wp_kses_hair
- wp_kses_hook
- wp_kses_html_error
- wp_kses_js_entities
- wp_kses_no_null
- wp_kses_normalize_entities
- wp_kses_normalize_entities2
- wp_kses_post
- wp_kses_split
- wp_kses_split2
- wp_kses_stripslashes
- wp_kses_version
- wp_make_link_relative
- wp_normalize_path
- wp_rel_nofollow
- wp_richedit_pre
- wp_specialchars
- wp_trim_words
- zeroise
تمام توابعی که در متن بالا برای شما معرفی شدند، اساسی و ضروری بشمار می روند و شناختن آنها برای افرادی که تمایل به ایجاد تغییرات دارند، امر ضروری است.
توابع در وردپرس
هر قالب وردپرسی با یک فایل قدرتمند به نام functions.php ارائه میشود. این فایل همچون یک افزونه عمل میکند.به شما این امکان را میدهد که وظایف مختلفی را در سایت وردپرس خود انجام دهید. تغییراتی که ممکن است منجر به ایجاد تحولات چشمگیر در ساختار سایت شما شوند.
درباره فاطمه صالحی
فاطمه صالحی هستم کارشناس نرم افزار کامپیوتر. ۴ساله که کار طراحی سایت انجام میدم و به کار سئو و تولید محتوا هم علاقه دارم و در این زمینه هم فعالیت دارم
نوشتههای بیشتر از فاطمه صالحی
دیدگاهتان را بنویسید