{"id":29935,"date":"2018-11-16T23:01:02","date_gmt":"2018-11-16T20:01:02","guid":{"rendered":"http:\/\/kamil-abzalov.com\/?p=29935"},"modified":"2020-04-11T19:51:07","modified_gmt":"2020-04-11T16:51:07","slug":"wordpress-create-theme-options-api-create-custom-options","status":"publish","type":"post","link":"https:\/\/kamil-abzalov.com\/en\/tutorials\/cms-tuts\/wordpress-create-theme-options-api-create-custom-options\/","title":{"rendered":"WordPress. Create theme. Options API. Create custom options"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;3.22&#8243;][et_pb_fullwidth_header title=&#8221;Wordpress. Create theme. Options API. Create custom options&#8221; _builder_version=&#8221;3.17.6&#8243; button_one_text_size__hover_enabled=&#8221;off&#8221; button_one_text_size__hover=&#8221;null&#8221; button_two_text_size__hover_enabled=&#8221;off&#8221; button_two_text_size__hover=&#8221;null&#8221; button_one_text_color__hover_enabled=&#8221;off&#8221; button_one_text_color__hover=&#8221;null&#8221; button_two_text_color__hover_enabled=&#8221;off&#8221; button_two_text_color__hover=&#8221;null&#8221; button_one_border_width__hover_enabled=&#8221;off&#8221; button_one_border_width__hover=&#8221;null&#8221; button_two_border_width__hover_enabled=&#8221;off&#8221; button_two_border_width__hover=&#8221;null&#8221; button_one_border_color__hover_enabled=&#8221;off&#8221; button_one_border_color__hover=&#8221;null&#8221; button_two_border_color__hover_enabled=&#8221;off&#8221; button_two_border_color__hover=&#8221;null&#8221; button_one_border_radius__hover_enabled=&#8221;off&#8221; button_one_border_radius__hover=&#8221;null&#8221; button_two_border_radius__hover_enabled=&#8221;off&#8221; button_two_border_radius__hover=&#8221;null&#8221; button_one_letter_spacing__hover_enabled=&#8221;off&#8221; button_one_letter_spacing__hover=&#8221;null&#8221; button_two_letter_spacing__hover_enabled=&#8221;off&#8221; button_two_letter_spacing__hover=&#8221;null&#8221; button_one_bg_color__hover_enabled=&#8221;off&#8221; button_one_bg_color__hover=&#8221;null&#8221; button_two_bg_color__hover_enabled=&#8221;off&#8221; button_two_bg_color__hover=&#8221;null&#8221;][\/et_pb_fullwidth_header][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;section&#8221; _builder_version=&#8221;3.22&#8243;][et_pb_row admin_label=&#8221;row&#8221; _builder_version=&#8221;3.25&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; custom_padding=&#8221;0px|||&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;3.25&#8243; custom_padding=&#8221;|||&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_dcsbcm_divi_breadcrumbs_module homebreadcrumbtext=&#8221;Home&#8221; hide_currentbreadcrumb=&#8221;off&#8221; _builder_version=&#8221;3.17.6&#8243; custom_padding=&#8221;0px|||&#8221; fontsbreadcrumbs_font_size_tablet=&#8221;51&#8243; fontsbreadcrumbs_line_height_tablet=&#8221;2&#8243; fontsseperator_font_size_tablet=&#8221;51&#8243; fontsseperator_line_height_tablet=&#8221;2&#8243; fontsbreadcrumblinks_font_size_tablet=&#8221;51&#8243; fontsbreadcrumblinks_line_height_tablet=&#8221;2&#8243;][\/et_pb_dcsbcm_divi_breadcrumbs_module][et_pb_text _builder_version=&#8221;3.27.4&#8243; border_color_all=&#8221;#ffffff&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221;]In this tutorial we will finish wordpress theme making. Our last task in this video series is to make page header text customizable in admin panel. For this purpose we will use wordpress api settings.<br \/>\n[\/et_pb_text][et_pb_video src=&#8221;https:\/\/www.youtube.com\/watch?v=JyR7mw3XuaU&#8221; _builder_version=&#8221;3.17.6&#8243;][\/et_pb_video][et_pb_text _builder_version=&#8221;3.27.4&#8243; border_color_all=&#8221;#ffffff&#8221; use_border_color=&#8221;off&#8221; border_color=&#8221;#ffffff&#8221; border_style=&#8221;solid&#8221;]To add new field in admin panel we will use <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/register_setting\/\" rel=\"noopener noreferrer\" target=\"_blank\">register_settings<\/a> function for register a new options, and <a href=\"https:\/\/codex.wordpress.org\/Function_Reference\/add_settings_field\">add_setting_field<\/a> function to register a new fields in specified section\/page in function params. For output our settings we will use <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/get_option\/\" rel=\"noopener noreferrer\" target=\"_blank\">get_option<\/a> function.<br \/>\nIt will be last tutorial from this &#8220;intro to wordpress&#8221; series. You can download our created theme by <a href=\"https:\/\/bitbucket.org\/KamAbzalov\/test-theme\/src\" rel=\"noopener noreferrer\" target=\"_blank\">this link<\/a>.<br \/>\n[\/et_pb_text][et_pb_comments _builder_version=&#8221;4.4.3&#8243; custom_margin=&#8221;30px||||false|false&#8221;][\/et_pb_comments][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial we will finish wordpress theme making. Our last task in this video series is to make page header text customizable in admin panel. For this purpose we will use wordpress api settings. To add new field in admin panel we will use register_settings function for register a new options, and add_setting_field function [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[293,219],"tags":[],"class_list":["post-29935","post","type-post","status-publish","format-standard","hentry","category-cms-tuts","category-tutorials"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Wordpress. Create theme. Options API. Create custom options - Kamil Abzalov&#039;s site<\/title>\n<meta name=\"description\" content=\"Today we will finish creating wordpress theme, adding a few custom settings fields with wordpress api options\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kamil-abzalov.com\/videouroki\/cms\/wordpress-create-theme-add-new-options\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Wordpress. Create theme. Options API. Create custom options\" \/>\n<meta property=\"og:description\" content=\"Today we will finish creating wordpress theme, adding a few custom settings fields with wordpress api options\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kamil-abzalov.com\/videouroki\/cms\/wordpress-create-theme-add-new-options\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0441\u0430\u0439\u0442 \u041a\u0430\u043c\u0438\u043b\u044f \u0410\u0431\u0437\u0430\u043b\u043e\u0432\u0430\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/kamabzalov\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-16T20:01:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-04-11T16:51:07+00:00\" \/>\n<meta name=\"author\" content=\"Kamil&#039; Abzalov\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Wordpress. Create theme. Options API. Create custom options\" \/>\n<meta name=\"twitter:description\" content=\"Today we will finish creating wordpress theme, adding a few custom settings fields with wordpress api options\" \/>\n<meta name=\"twitter:creator\" content=\"@kamabzalov\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kamil&#039; Abzalov\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/cms\\\/wordpress-create-theme-add-new-options\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/cms\\\/wordpress-create-theme-add-new-options\\\/\"},\"author\":{\"name\":\"Kamil' Abzalov\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#\\\/schema\\\/person\\\/9c53360f21b83306ba40c2231573c600\"},\"headline\":\"WordPress. Create theme. Options API. Create custom options\",\"datePublished\":\"2018-11-16T20:01:02+00:00\",\"dateModified\":\"2020-04-11T16:51:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/cms\\\/wordpress-create-theme-add-new-options\\\/\"},\"wordCount\":493,\"commentCount\":0,\"articleSection\":[\"CMS\",\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/cms\\\/wordpress-create-theme-add-new-options\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/cms\\\/wordpress-create-theme-add-new-options\\\/\",\"url\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/cms\\\/wordpress-create-theme-add-new-options\\\/\",\"name\":\"Wordpress. Create theme. Options API. Create custom options - Kamil Abzalov's site\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#website\"},\"datePublished\":\"2018-11-16T20:01:02+00:00\",\"dateModified\":\"2020-04-11T16:51:07+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#\\\/schema\\\/person\\\/9c53360f21b83306ba40c2231573c600\"},\"description\":\"Today we will finish creating wordpress theme, adding a few custom settings fields with wordpress api options\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/cms\\\/wordpress-create-theme-add-new-options\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/cms\\\/wordpress-create-theme-add-new-options\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/videouroki\\\/cms\\\/wordpress-create-theme-add-new-options\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\\\/\\\/kamil-abzalov.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WordPress. Create theme. Options API. Create custom options\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#website\",\"url\":\"https:\\\/\\\/kamil-abzalov.com\\\/\",\"name\":\"\u0441\u0430\u0439\u0442 \u041a\u0430\u043c\u0438\u043b\u044f \u0410\u0431\u0437\u0430\u043b\u043e\u0432\u0430\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/kamil-abzalov.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/kamil-abzalov.com\\\/#\\\/schema\\\/person\\\/9c53360f21b83306ba40c2231573c600\",\"name\":\"Kamil' Abzalov\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g\",\"caption\":\"Kamil' Abzalov\"},\"sameAs\":[\"https:\\\/\\\/kamil-abzalov.com\\\/\",\"https:\\\/\\\/www.facebook.com\\\/kamabzalov\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/kamabzalov\",\"https:\\\/\\\/x.com\\\/kamabzalov\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/kamabzalov\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Wordpress. Create theme. Options API. Create custom options - Kamil Abzalov's site","description":"Today we will finish creating wordpress theme, adding a few custom settings fields with wordpress api options","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kamil-abzalov.com\/videouroki\/cms\/wordpress-create-theme-add-new-options\/","og_locale":"en_US","og_type":"article","og_title":"Wordpress. Create theme. Options API. Create custom options","og_description":"Today we will finish creating wordpress theme, adding a few custom settings fields with wordpress api options","og_url":"https:\/\/kamil-abzalov.com\/videouroki\/cms\/wordpress-create-theme-add-new-options\/","og_site_name":"\u0441\u0430\u0439\u0442 \u041a\u0430\u043c\u0438\u043b\u044f \u0410\u0431\u0437\u0430\u043b\u043e\u0432\u0430","article_author":"https:\/\/www.facebook.com\/kamabzalov","article_published_time":"2018-11-16T20:01:02+00:00","article_modified_time":"2020-04-11T16:51:07+00:00","author":"Kamil' Abzalov","twitter_card":"summary_large_image","twitter_title":"Wordpress. Create theme. Options API. Create custom options","twitter_description":"Today we will finish creating wordpress theme, adding a few custom settings fields with wordpress api options","twitter_creator":"@kamabzalov","twitter_misc":{"Written by":"Kamil' Abzalov","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kamil-abzalov.com\/videouroki\/cms\/wordpress-create-theme-add-new-options\/#article","isPartOf":{"@id":"https:\/\/kamil-abzalov.com\/videouroki\/cms\/wordpress-create-theme-add-new-options\/"},"author":{"name":"Kamil' Abzalov","@id":"https:\/\/kamil-abzalov.com\/#\/schema\/person\/9c53360f21b83306ba40c2231573c600"},"headline":"WordPress. Create theme. Options API. Create custom options","datePublished":"2018-11-16T20:01:02+00:00","dateModified":"2020-04-11T16:51:07+00:00","mainEntityOfPage":{"@id":"https:\/\/kamil-abzalov.com\/videouroki\/cms\/wordpress-create-theme-add-new-options\/"},"wordCount":493,"commentCount":0,"articleSection":["CMS","Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kamil-abzalov.com\/videouroki\/cms\/wordpress-create-theme-add-new-options\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kamil-abzalov.com\/videouroki\/cms\/wordpress-create-theme-add-new-options\/","url":"https:\/\/kamil-abzalov.com\/videouroki\/cms\/wordpress-create-theme-add-new-options\/","name":"Wordpress. Create theme. Options API. Create custom options - Kamil Abzalov's site","isPartOf":{"@id":"https:\/\/kamil-abzalov.com\/#website"},"datePublished":"2018-11-16T20:01:02+00:00","dateModified":"2020-04-11T16:51:07+00:00","author":{"@id":"https:\/\/kamil-abzalov.com\/#\/schema\/person\/9c53360f21b83306ba40c2231573c600"},"description":"Today we will finish creating wordpress theme, adding a few custom settings fields with wordpress api options","breadcrumb":{"@id":"https:\/\/kamil-abzalov.com\/videouroki\/cms\/wordpress-create-theme-add-new-options\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kamil-abzalov.com\/videouroki\/cms\/wordpress-create-theme-add-new-options\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/kamil-abzalov.com\/videouroki\/cms\/wordpress-create-theme-add-new-options\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/kamil-abzalov.com\/en\/"},{"@type":"ListItem","position":2,"name":"WordPress. Create theme. Options API. Create custom options"}]},{"@type":"WebSite","@id":"https:\/\/kamil-abzalov.com\/#website","url":"https:\/\/kamil-abzalov.com\/","name":"\u0441\u0430\u0439\u0442 \u041a\u0430\u043c\u0438\u043b\u044f \u0410\u0431\u0437\u0430\u043b\u043e\u0432\u0430","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kamil-abzalov.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/kamil-abzalov.com\/#\/schema\/person\/9c53360f21b83306ba40c2231573c600","name":"Kamil' Abzalov","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3ad2daebcb3a4d03f8573b49054a003cd26a151ecc58ccfccc75b823131d1ead?s=96&d=mm&r=g","caption":"Kamil' Abzalov"},"sameAs":["https:\/\/kamil-abzalov.com\/","https:\/\/www.facebook.com\/kamabzalov","https:\/\/www.linkedin.com\/in\/kamabzalov","https:\/\/x.com\/kamabzalov","https:\/\/www.youtube.com\/user\/kamabzalov"]}]}},"_links":{"self":[{"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/posts\/29935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/comments?post=29935"}],"version-history":[{"count":6,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/posts\/29935\/revisions"}],"predecessor-version":[{"id":32054,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/posts\/29935\/revisions\/32054"}],"wp:attachment":[{"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/media?parent=29935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/categories?post=29935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kamil-abzalov.com\/en\/wp-json\/wp\/v2\/tags?post=29935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}