diff --git a/packages/playground/remote/src/wordpress/wp-5.9.data b/packages/playground/remote/src/wordpress/wp-5.9.data index 14f1b57452..536b624bdc 100755 --- a/packages/playground/remote/src/wordpress/wp-5.9.data +++ b/packages/playground/remote/src/wordpress/wp-5.9.data @@ -13227,7 +13227,7 @@ i   K m . T s<L~7 (p@V!;_# |N<cL1i!e|P- n  C 1  R p < b   ' Q6j ;\"y"7wp_postswp_posts__post_authorz"7wp_postswp_posts__post_parenty'Awp_postswp_posts__type_status_datex 3wp_postswp_posts__post_namew'wp_postscomment_countv)wp_postspost_mime_typeuwp_postspost_typet!wp_postsmenu_orderswp_postsguidr#wp_postspost_parentq"7wp_postspost_content_filteredp/wp_postspost_modified_gmto'wp_postspost_modifiednwp_postspingedmwp_poststo_pinglwp_postspost_namek'wp_postspost_passwordj#wp_postsping_statusi)wp_postscomment_statush#wp_postspost_statusg%wp_postspost_excerptf!wp_postspost_titlee%wp_postspost_contentd'wp_postspost_date_gmtcwp_postspost_dateb#wp_postspost_authorawp_postsID`%#7wp_postmetawp_postmeta__meta_key_$#5wp_postmetawp_postmeta__post_id^#!wp_postmetameta_value]#wp_postmetameta_key\#wp_postmetapost_id[#wp_postmetameta_idZ#!5wp_optionswp_options__autoloadY&!;wp_optionswp_options__option_nameX!wp_optionsautoloadW!%wp_optionsoption_valueV!#wp_optionsoption_nameU!wp_optionsoption_idT#9wp_linkswp_links__link_visibleSwp_linkslink_rssR!wp_linkslink_notesQwp_linkslink_relP%wp_linkslink_updatedO#wp_linkslink_ratingN!wp_linkslink_ownerM%wp_linkslink_visibleL-wp_linkslink_descriptionK#wp_linkslink_targetJ!wp_linkslink_imageIwp_linkslink_nameHwp_linkslink_urlGwp_linkslink_idF1#Owp_commentswp_comments__comment_author_emailE+#Cwp_commentswp_comments__comment_parentD-#Gwp_commentswp_comments__comment_date_gmtC6#Ywp_commentswp_comments__comment_approved_date_gmtB,#Ewp_commentswp_comments__comment_post_IDA#wp_commentsuser_id@#)wp_commentscomment_parent?#%wp_commentscomment_type>#'wp_commentscomment_agent= #-wp_commentscomment_approved<#'wp_commentscomment_karma;#+wp_commentscomment_content: #-wp_commentscomment_date_gmt9#%wp_commentscomment_date8!#/wp_commentscomment_author_IP7"#1wp_commentscomment_author_url6$#5wp_commentscomment_author_email5#)wp_commentscomment_author4#+wp_commentscomment_post_ID3#!wp_commentscomment_ID2+)=wp_commentmetawp_commentmeta__meta_key1-)Awp_commentmetawp_commentmeta__comment_id0)!wp_commentmetameta_value/)wp_commentmetameta_key.)!wp_commentmetacomment_id-)wp_commentmetameta_id,A7[wp_term_relationshipswp_term_relationships__term_taxonomy_id+$7!wp_term_relationshipsterm_order**7-wp_term_relationshipsterm_taxonomy_id)#7wp_term_relationshipsobject_id(/-Awp_term_taxonomywp_term_taxonomy__taxonomy'7-Qwp_term_taxonomywp_term_taxonomy__term_id_taxonomy&-wp_term_taxonomycount%-wp_term_taxonomyparent$ -#wp_term_taxonomydescription#-wp_term_taxonomytaxonomy"-wp_term_taxonomyterm_id!%--wp_term_taxonomyterm_taxonomy_id )wp_termswp_terms__name)wp_termswp_terms__slug!wp_termsterm_groupwp_termsslugwp_termsnamewp_termsterm_id%#7wp_termmetawp_termmeta__meta_key$#5wp_termmetawp_termmeta__term_id#!wp_termmetameta_value#wp_termmetameta_key#wp_termmetaterm_id#wp_termmetameta_id%#7wp_usermetawp_usermeta__meta_key$#5wp_usermetawp_usermeta__user_id#!wp_usermetameta_value#wp_usermetameta_key#wp_usermetauser_id#wp_usermetaumeta_id!5wp_userswp_users__user_email $;wp_userswp_users__user_nicename %=wp_userswp_users__user_login_key %wp_usersdisplay_name -#wp_usersuser_status 3wp_usersuser_activation_key+wp_usersuser_registeredwp_usersuser_url!wp_usersuser_email'wp_usersuser_nicenamewp_usersuser_pass!wp_usersuser_login wp_usersID w Q373 admin$P$BJIL1cXhqYE104.KLMsnZH78xK7U0H0adminadmin@localhost.comhttp://127.0.0.1:80002023-10-06 08:05:33admin tt#wp_postmeta wp_posts# wp_comments - wp_term_taxonomy  wp_terms#wp_usermeta  wp_users!wp_optionsw +#wp_usersuser_status 3wp_usersuser_activation_key+wp_usersuser_registeredwp_usersuser_url!wp_usersuser_email'wp_usersuser_nicenamewp_usersuser_pass!wp_usersuser_login wp_usersID w Q373 admin$P$Bm0ATwzKSj6eV0JS/LRXrhZ3TV3SoO1adminadmin@localhost.comhttp://127.0.0.1:80002023-10-07 08:05:21admin tt#wp_postmeta wp_posts# wp_comments - wp_term_taxonomy  wp_terms#wp_usermeta  wp_users!wp_optionsw  admin  admin 3 admin@localhost.com }gPA"}3  +Kwp_capabilitiesa:1:{s:13:"administrator";b:1;} 7 dismissed_wp_pointers 1show_welcome_panel1  'wp_user_level10   locale @@ -13320,12 +13320,12 @@ CREATE INDEX "wp_usermeta__user_id" ON "wp_usermeta" ("user_id") "link_notes" text NOT NULL COLLATE NOCASE, "link_rss" text NOT NULL DEFAULT '' COLLATE NOCASE)  - S 7;9 331 A WordPress Commenterwapuu@wordpress.examplehttps://wordpress.org/2023-10-06 08:05:332023-10-06 08:05:33Hi, this is a comment. + S 7;9 331 A WordPress Commenterwapuu@wordpress.examplehttps://wordpress.org/2023-10-07 08:05:212023-10-07 08:05:21Hi, this is a comment. To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard. Commenter avatars come from Gravatar.1comment  -3 12023-10-06 08:05:33 -3 2023-10-06 08:05:33 +3 12023-10-07 08:05:21 +3 2023-10-07 08:05:21  ; wapuu@wordpress.example  64d3U @@ -13354,7 +13354,7 @@ S  7 k - Y g6NZ.OX6|Q1V/ i>&^#5wp_postmetawp_postmeta__post_idKEY!]#!wp_postmetameta_valuelongtext#\#%wp_postmetameta_keyvarchar(255))[#3wp_postmetapost_idbigint(20) unsigned)Z#3wp_postmetameta_idbigint(20) unsigned%Y!5wp_optionswp_options__autoloadKEY+X!;wp_optionswp_options__option_nameUNIQUE!W!#wp_optionsautoloadvarchar(20)"V!%wp_optionsoption_valuelongtext%U!#%wp_optionsoption_namevarchar(191)*T!3wp_optionsoption_idbigint(20) unsigned%S9wp_linkswp_links__link_visibleKEY R%wp_linkslink_rssvarchar(255) Q!!wp_linkslink_notesmediumtext P%wp_linkslink_relvarchar(255) O%wp_linkslink_updateddatetimeN#wp_linkslink_ratingint(11))M!3wp_linkslink_ownerbigint(20) unsigned#L%#wp_linkslink_visiblevarchar(20)(K-%wp_linkslink_descriptionvarchar(255)"J##wp_linkslink_targetvarchar(25)"I!%wp_linkslink_imagevarchar(255)!H%wp_linkslink_namevarchar(255) G%wp_linkslink_urlvarchar(255)&F3wp_linkslink_idbigint(20) unsigned3E#Owp_commentswp_comments__comment_author_emailKEY-D#Cwp_commentswp_comments__comment_parentKEY/C#Gwp_commentswp_comments__comment_date_gmtKEY8B#Ywp_commentswp_comments__comment_approved_date_gmtKEY.A#Ewp_commentswp_comments__comment_post_IDKEY)@#3wp_commentsuser_idbigint(20) unsigned0?#)3wp_commentscomment_parentbigint(20) unsigned&>#%#wp_commentscomment_typevarchar(20)(=#'%wp_commentscomment_agentvarchar(255)*<#-#wp_commentscomment_approvedvarchar(20)#;#'wp_commentscomment_karmaint(11)":#+wp_commentscomment_contenttext'9#-wp_commentscomment_date_gmtdatetime#8#%wp_commentscomment_datedatetime,7#/%wp_commentscomment_author_IPvarchar(100)-6#1%wp_commentscomment_author_urlvarchar(200)/5#5%wp_commentscomment_author_emailvarchar(100)%4#)wp_commentscomment_authortinytext13#+3wp_commentscomment_post_IDbigint(20) unsigned,2#!3wp_commentscomment_IDbigint(20) unsigned-1)=wp_commentmetawp_commentmeta__meta_keyKEY/0)Awp_commentmetawp_commentmeta__comment_idKEY$/)!wp_commentmetameta_valuelongtext&.)%wp_commentmetameta_keyvarchar(255)/-)!3wp_commentmetacomment_idbigint(20) unsigned,,)3wp_commentmetameta_idbigint(20) unsignedC+7[wp_term_relationshipswp_term_relationships__term_taxonomy_idKEY**7!wp_term_relationshipsterm_orderint(11)<)7-3wp_term_relationshipsterm_taxonomy_idbigint(20) unsigned5(73wp_term_relationshipsobject_idbigint(20) unsigned1'-Awp_term_taxonomywp_term_taxonomy__taxonomyKEY<&-Qwp_term_taxonomywp_term_taxonomy__term_id_taxonomyUNIQUE#%-!wp_term_taxonomycountbigint(20)-$-3wp_term_taxonomyparentbigint(20) unsigned'#-#wp_term_taxonomydescriptionlongtext'"-#wp_term_taxonomytaxonomyvarchar(32).!-3wp_term_taxonomyterm_idbigint(20) unsigned7 --3wp_term_taxonomyterm_taxonomy_idbigint(20) unsigned)wp_termswp_terms__nameKEY)wp_termswp_terms__slugKEY !!wp_termsterm_groupbigint(10)%wp_termsslugvarchar(200)%wp_termsnamevarchar(200)&3wp_termsterm_idbigint(20) unsigned'#7wp_termmetawp_termmeta__meta_keyKEY&#5wp_termmetawp_termmeta__term_idKEY!#!wp_termmetameta_valuelongtext##%wp_termmetameta_keyvarchar(255))#3wp_termmetaterm_idbigint(20) unsigned)#3wp_termmetameta_idbigint(20) unsigned'#7wp_usermetawp_usermeta__meta_keyKEY&#5wp_usermetawp_usermeta__user_idKEY!#!wp_usermetameta_valuelongtext##%wp_usermetameta_keyvarchar(255))#3wp_usermetauser_idbigint(20) unsigned*#3wp_usermetaumeta_idbigint(20) unsigned# 5wp_userswp_users__user_emailKEY& ;wp_userswp_users__user_nicenameKEY' =wp_userswp_users__user_login_keyKEY$ -%%wp_usersdisplay_namevarchar(250) #wp_usersuser_statusint(11)+3%wp_usersuser_activation_keyvarchar(255)#+wp_usersuser_registereddatetime %wp_usersuser_urlvarchar(100)"!%wp_usersuser_emailvarchar(100)$'#wp_usersuser_nicenamevarchar(50)!%wp_usersuser_passvarchar(255)!!#wp_usersuser_loginvarchar(60)!3wp_usersIDbigint(20) unsigned  iF${T1 _ A " d > $z7wp_postswp_posts__post_authorKEY$y7wp_postswp_posts__post_parentKEY)xAwp_postswp_posts__type_status_dateKEY"w3wp_postswp_posts__post_nameKEY#v'!wp_postscomment_countbigint(20)&u)%wp_postspost_mime_typevarchar(100) t#wp_postspost_typevarchar(20)s!wp_postsmenu_orderint(11)r%wp_postsguidvarchar(255)*q#3wp_postspost_parentbigint(20) unsigned)p7wp_postspost_content_filteredlongtext%o/wp_postspost_modified_gmtdatetime!n'wp_postspost_modifieddatetimemwp_postspingedtextlwp_poststo_pingtext!k%wp_postspost_namevarchar(200)%j'%wp_postspost_passwordvarchar(255)"i##wp_postsping_statusvarchar(20)%h)#wp_postscomment_statusvarchar(20)"g##wp_postspost_statusvarchar(20)f%wp_postspost_excerpttexte!wp_postspost_titletext d%wp_postspost_contentlongtext!c'wp_postspost_date_gmtdatetimebwp_postspost_datedatetime*a#3wp_postspost_authorbigint(20) unsigned!`3wp_postsIDbigint(20) unsigned'_#7wp_postmetawp_postmeta__meta_keyKEY  8( 33u)  ) 33 M 2023-10-06 08:05:332023-10-06 08:05:33

Who we are

Suggested text: Our website address is: http://127.0.0.1:8000.

Comments

Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

Suggested text: If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download a5 33M#  # 33 M 2023-10-06 08:05:332023-10-06 08:05:33 +%%wp_usersdisplay_namevarchar(250) #wp_usersuser_statusint(11)+3%wp_usersuser_activation_keyvarchar(255)#+wp_usersuser_registereddatetime %wp_usersuser_urlvarchar(100)"!%wp_usersuser_emailvarchar(100)$'#wp_usersuser_nicenamevarchar(50)!%wp_usersuser_passvarchar(255)!!#wp_usersuser_loginvarchar(60)!3wp_usersIDbigint(20) unsigned  iF${T1 _ A " d > $z7wp_postswp_posts__post_authorKEY$y7wp_postswp_posts__post_parentKEY)xAwp_postswp_posts__type_status_dateKEY"w3wp_postswp_posts__post_nameKEY#v'!wp_postscomment_countbigint(20)&u)%wp_postspost_mime_typevarchar(100) t#wp_postspost_typevarchar(20)s!wp_postsmenu_orderint(11)r%wp_postsguidvarchar(255)*q#3wp_postspost_parentbigint(20) unsigned)p7wp_postspost_content_filteredlongtext%o/wp_postspost_modified_gmtdatetime!n'wp_postspost_modifieddatetimemwp_postspingedtextlwp_poststo_pingtext!k%wp_postspost_namevarchar(200)%j'%wp_postspost_passwordvarchar(255)"i##wp_postsping_statusvarchar(20)%h)#wp_postscomment_statusvarchar(20)"g##wp_postspost_statusvarchar(20)f%wp_postspost_excerpttexte!wp_postspost_titletext d%wp_postspost_contentlongtext!c'wp_postspost_date_gmtdatetimebwp_postspost_datedatetime*a#3wp_postspost_authorbigint(20) unsigned!`3wp_postsIDbigint(20) unsigned'_#7wp_postmetawp_postmeta__meta_keyKEY  8( 33u)  ) 33 M 2023-10-07 08:05:212023-10-07 08:05:21

Who we are

Suggested text: Our website address is: http://127.0.0.1:8000.

Comments

Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

Suggested text: If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download a5 33M#  # 33 M 2023-10-07 08:05:212023-10-07 08:05:21

This is an example page. It's different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:

@@ -13372,9 +13372,9 @@ k

As a new WordPress user, you should go to your dashboard to delete this page and create new pages for your content. Have fun!

-Sample Pagepublishclosedopensample-page2023-10-06 08:05:332023-10-06 08:05:33http://127.0.0.1:8000/?page_id=2page2 33%  # 33 A 2023-10-06 08:05:332023-10-06 08:05:33 +Sample Pagepublishclosedopensample-page2023-10-07 08:05:212023-10-07 08:05:21http://127.0.0.1:8000/?page_id=2page2 33%  # 33 A 2023-10-07 08:05:212023-10-07 08:05:21

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

-Hello world!publishopenopenhello-world2023-10-06 08:05:332023-10-06 08:05:33http://127.0.0.1:8000/?p=1post } 6 @9l,7indexwp_posts__post_authorwp_posts2CREATE INDEX "wp_posts__post_author" ON "wp_posts" ("post_author")l+7indexwp_posts__post_parentwp_posts1CREATE INDEX "wp_posts__post_parent" ON "wp_posts" ("post_parent")*A[indexwp_posts__type_status_datewp_posts0CREATE INDEX "wp_posts__type_status_date" ON "wp_posts" ("post_type", "post_status", "post_date", "ID")f)3 indexwp_posts__post_namewp_posts/CREATE INDEX "wp_posts__post_name" ON "wp_posts" ("post_name")(tablewp_postswp_posts-CREATE TABLE "wp_posts" ( +Hello world!publishopenopenhello-world2023-10-07 08:05:212023-10-07 08:05:21http://127.0.0.1:8000/?p=1post } 6 @9l,7indexwp_posts__post_authorwp_posts2CREATE INDEX "wp_posts__post_author" ON "wp_posts" ("post_author")l+7indexwp_posts__post_parentwp_posts1CREATE INDEX "wp_posts__post_parent" ON "wp_posts" ("post_parent")*A[indexwp_posts__type_status_datewp_posts0CREATE INDEX "wp_posts__type_status_date" ON "wp_posts" ("post_type", "post_status", "post_date", "ID")f)3 indexwp_posts__post_namewp_posts/CREATE INDEX "wp_posts__post_name" ON "wp_posts" ("post_name")(tablewp_postswp_posts-CREATE TABLE "wp_posts" ( "ID" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "post_author" integer NOT NULL DEFAULT '0', "post_date" text NOT NULL DEFAULT '0000-00-00 00:00:00' COLLATE NOCASE, @@ -13407,11 +13407,11 @@ k "option_value" text NOT NULL COLLATE NOCASE, "autoload" text NOT NULL DEFAULT 'yes' COLLATE NOCASE)o!9indexwp_links__link_visiblewp_links$CREATE INDEX "wp_links__link_visible" ON "wp_links" ("link_visible") )privacy-policy#sample-page# hello-world -$3pagedraft2023-10-06 08:05:33&3pagepublish2023-10-06 08:05:33$3 postpublish2023-10-06 08:05:33 +$3pagedraft2023-10-07 08:05:21&3pagepublish2023-10-07 08:05:21$3 postpublish2023-10-07 08:05:21     U-]@f> v V < !  kY>& qY8aL6fM3hApT3vW-v^8 kJJI3ipermalink_structure/index.php/%year%/%monthnum%/%day%/%postname%/yesJ1(UKfinished_splitting_shared_terms1yesT5link_manager_enabled0yesS3default_post_format0yesR'page_on_front0yesQ)page_for_posts0yesP+ timezone_stringyesO/uninstall_pluginsa:0:{}noN!widget_rssa:0:{}yesM#widget_texta:0:{}yesL/widget_categoriesa:0:{}yesK%sticky_postsa:0:{}yesJ'comment_orderascyes#I7default_comments_pagenewestyesH/comments_per_page50yesG'page_comments0yesF7thread_comments_depth5yesE+thread_comments1yes!D;close_comments_days_old14yes%CEclose_comments_for_old_posts0yesB3 image_default_alignyesA1 image_default_sizeyes#@;image_default_link_typenoneyes?%large_size_h1024yes>%large_size_w1024yes=)avatar_defaultmysteryyes<'medium_size_h300yes;'medium_size_w300yes:)thumbnail_crop1yes9-thumbnail_size_h150yes8-thumbnail_size_w150yes7+ upload_url_pathyes6'avatar_ratingGyes5%show_avatars1yes4 tag_baseyes3'show_on_frontpostsyes27default_link_category2yes1#blog_public1yes0# upload_pathyes&/Guploads_use_yearmonth_folders1yes.!db_version51917yes-%!default_rolesubscriberyes,'use_trackback0yes+html_typetext/htmlyes*5comment_registration0yes!)!+stylesheettwentytwentyoneyes(+templatetwentytwentyoneyes'+ recently_editedno&9default_email_category1yes%!gmt_offset0yes$/comment_max_links2yes,#!Aping_siteshttp://rpc.pingomatic.com/yes"' category_baseyesm + moderation_keysno%blog_charsetUTF-8yeshack_file0yesR!)active_pluginsa:1:{i:0;s:41:"wordpress-importer/wordpress-importer.php";}yes' rewrite_rulesyes3 permalink_structureyes/moderation_notify1yes1comment_moderation0yes-?%links_updated_date_formatF j, Y g:i ayes#time_formatg:i ayes#date_formatF j, Yyes)posts_per_page10yes7default_pingback_flag1yes3default_ping_statusopenyes"9default_comment_statusopenyes-default_category1yes+mailserver_port110yes+mailserver_passpasswordyes)-/mailserver_loginlogin@example.comyes&)-mailserver_urlmail.example.comyes +rss_use_excerpt0yes 'posts_per_rss10yes +comments_notify1yes -1require_name_email1yes #use_smilies1yes+use_balanceTags0yes'start_of_week1yes&#3admin_emailadmin@localhost.comyes1users_can_register0yes2+CblogdescriptionJust another WordPress siteyes$5blognameMy WordPress Websiteyes!7homehttp://127.0.0.1:8000yes$7siteurlhttp://127.0.0.1:8000yes vX3 xS,c1initial_db_version51917yes*bEwp_force_deactivated_pluginsa:0:{}yes%a9auto_update_core_majorenabledyes%`9auto_update_core_minorenabledyes#_5auto_update_core_devenabledyes,^Kauto_plugin_theme_update_emailsa:0:{}no$]Ccomment_previously_approved1yes\+ disallowed_keysno&[5!admin_email_lifespan1712131532yes%ZEshow_comments_cookies_opt_in1yes#YAwp_page_for_privacy_policy3yesX3medium_large_size_h0yesW3medium_large_size_w768yesVsite_icon0yesSd'wp_user_rolesa:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:61:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;s:11:"update_core";b:1;s:10:"list_users";b:1;s:12:"remove_users";b:1;s:13:"promote_users";b:1;s:18:"edit_theme_options";b:1;s:13:"delete_themes";b:1;s:6:"export";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}yesnd extract any location data from images on the website.

Cookies

Suggested text: If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Suggested text: Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

Suggested text: If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

Suggested text: If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where we send your data

Suggested text: Visitor comments may be checked through an automated spam detection service.

Privacy Policydraftclosedopenprivacy-policy2023-10-06 08:05:332023-10-06 08:05:33http://127.0.0.1:8000/?page_id=3page # w n # I _,P 7hucrona:3:{i:1696579545;a:6:{s:32:"recovery_mode_clean_expired_keys";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}s:18:"wp_https_detection";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:34:"wp_privacy_delete_old_export_files";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1696665945;a:1:{s:30:"wp_site_health_scheduled_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}yes8v1Iwidget_custom_htmla:1:{s:12:"_multiwidget";i:1;}yes5u+Iwidget_nav_menua:1:{s:12:"_multiwidget";i:1;}yes6t-Iwidget_tag_clouda:1:{s:12:"_multiwidget";i:1;}yesRs! nonce_salttHkoa[)BPmU]q?5&5+j}##cYw~TRfAX0~DqP7l2UzFA~@*Q]WFs!LE1qTdpHUzS2^illno3q'Iwidget_searcha:1:{s:12:"_multiwidget";i:1;}yes1p#Iwidget_metaa:1:{s:12:"_multiwidget";i:1;}yes8o1Iwidget_media_videoa:1:{s:12:"_multiwidget";i:1;}yes:n5Iwidget_media_gallerya:1:{s:12:"_multiwidget";i:1;}yes8m1Iwidget_media_imagea:1:{s:12:"_multiwidget";i:1;}yes8l1Iwidget_media_audioa:1:{s:12:"_multiwidget";i:1;}yes5k+Iwidget_archivesa:1:{s:12:"_multiwidget";i:1;}yes5j+Iwidget_calendara:1:{s:12:"_multiwidget";i:1;}yes2i%Iwidget_pagesa:1:{s:12:"_multiwidget";i:1;}yesL>w7O_transient_doing_cron1696579545.1137180328369140625000yese!fresh_site1yes_g-sidebars_widgetsa:4:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:3:{i:0;s:7:"block-2";i:1;s:7:"block-3";i:2;s:7:"block-4";}s:9:"sidebar-2";a:2:{i:0;s:7:"block-5";i:1;s:7:"block-6";}s:13:"array_version";i:3;}yesf%widget_blocka:6:{i:2;a:1:{s:7:"content";s:19:"";}i:3;a:1:{s:7:"content";s:154:"

Recent Posts

";}i:4;a:1:{s:7:"content";s:227:"

Recent Comments

";}i:5;a:1:{s:7:"content";s:146:"

Archives

";}i:6;a:1:{s:7:"content";s:150:"

Categories

";}s:12:"_multiwidget";i:1;}yes7DENY FROM ALL

Cookies

Suggested text: If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Suggested text: Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

Suggested text: If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

Suggested text: If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where we send your data

Suggested text: Visitor comments may be checked through an automated spam detection service.

Privacy Policydraftclosedopenprivacy-policy2023-10-07 08:05:212023-10-07 08:05:21http://127.0.0.1:8000/?page_id=3page # w n # I _,P 7hucrona:3:{i:1696665933;a:6:{s:32:"recovery_mode_clean_expired_keys";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}s:18:"wp_https_detection";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:34:"wp_privacy_delete_old_export_files";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1696752333;a:1:{s:30:"wp_site_health_scheduled_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}yes8v1Iwidget_custom_htmla:1:{s:12:"_multiwidget";i:1;}yes5u+Iwidget_nav_menua:1:{s:12:"_multiwidget";i:1;}yes6t-Iwidget_tag_clouda:1:{s:12:"_multiwidget";i:1;}yesRs! nonce_salt3!%.ee0~@hUIFIjgT}9_4@%{MYv0zGP>0$D-{b1W ;PGA:wnoQr nonce_keyMm~AgafnhWr~YM+kNoqBUs:_=b{^&qVQ`WD=|$gf?JGsCw7O_transient_doing_cron1696665933.5642631053924560546875yese!fresh_site1yes_g-sidebars_widgetsa:4:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:3:{i:0;s:7:"block-2";i:1;s:7:"block-3";i:2;s:7:"block-4";}s:9:"sidebar-2";a:2:{i:0;s:7:"block-5";i:1;s:7:"block-6";}s:13:"array_version";i:3;}yesf%widget_blocka:6:{i:2;a:1:{s:7:"content";s:19:"";}i:3;a:1:{s:7:"content";s:154:"

Recent Posts

";}i:4;a:1:{s:7:"content";s:227:"

Recent Comments

";}i:5;a:1:{s:7:"content";s:146:"

Archives

";}i:6;a:1:{s:7:"content";s:150:"

Categories

";}s:12:"_multiwidget";i:1;}yes7DENY FROM ALLexport(); exit; } } class Export_WXZ { public $filelist = array(); public $filename; public function __construct( $args = array() ) { global $wpdb, $post; $defaults = array( 'content' => 'all', 'author' => false, 'category' => false, 'start_date' => false, 'end_date' => false, 'status' => false, ); $this->args = wp_parse_args( $args, $defaults ); $sitename = sanitize_key( get_bloginfo( 'name' ) ); if ( ! empty( $sitename ) ) { $sitename .= '.'; } $date = gmdate( 'Y-m-d' ); $wp_filename = $sitename . 'WordPress.' . $date . '.wxz'; $this->filename = apply_filters( 'export_wp_filename', $wp_filename, $sitename, $date ); } private function json_encode( $json ) { return json_encode( $json, JSON_PRETTY_PRINT ); } private function add_file( $filename, $content, $write_to_dir = false ) { require_once ABSPATH . '/wp-admin/includes/class-pclzip.php'; $this->filelist[] = array( PCLZIP_ATT_FILE_NAME => $filename, PCLZIP_ATT_FILE_CONTENT => $content, ); if ( $write_to_dir ) { $dir = dirname( $filename ); $write_to_dir = rtrim( $write_to_dir, '/' ) . '/'; if ( ! file_exists( $write_to_dir . $dir ) ) { mkdir( $write_to_dir . $dir, 0777, true ); } file_put_contents( $write_to_dir . $filename, $content ); } return $filename; } private function output_wxz() { if ( empty( $this->filelist ) ) { return new WP_Error( 'no-files', 'No files to write.' ); } require_once ABSPATH . '/wp-admin/includes/class-pclzip.php'; $zip = tempnam( '/tmp/', $this->filename . '.zip' ); $archive = new PclZip( $zip ); $archive->create( array( array( PCLZIP_ATT_FILE_NAME => 'mimetype', PCLZIP_ATT_FILE_CONTENT => 'application/vnd.wordpress.export+zip', ), ), PCLZIP_OPT_NO_COMPRESSION ); $archive->add( $this->filelist ); readfile( $zip ); unlink( $zip ); } public function export() { global $wpdb, $post; if ( 'all' !== $this->args['content'] && post_type_exists( $this->args['content'] ) ) { $ptype = get_post_type_object( $this->args['content'] ); if ( ! $ptype->can_export ) { $this->args['content'] = 'post'; } $where = $wpdb->prepare( "{$wpdb->posts}.post_type = %s", $this->args['content'] ); } else { $post_types = get_post_types( array( 'can_export' => true ) ); $esses = array_fill( 0, count( $post_types ), '%s' ); $where = $wpdb->prepare( "{$wpdb->posts}.post_type IN (" . implode( ',', $esses ) . ')', $post_types ); } if ( $this->args['status'] && ( 'post' === $this->args['content'] || 'page' === $this->args['content'] ) ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_status = %s", $this->args['status'] ); } else { $where .= " AND {$wpdb->posts}.post_status != 'auto-draft'"; } $join = ''; if ( $this->args['category'] && 'post' === $this->args['content'] ) { $term = term_exists( $this->args['category'], 'category' ); if ( $term ) { $join = "INNER JOIN {$wpdb->term_relationships} ON ({$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id)"; $where .= $wpdb->prepare( " AND {$wpdb->term_relationships}.term_taxonomy_id = %d", $term['term_taxonomy_id'] ); } } if ( in_array( $this->args['content'], array( 'post', 'page', 'attachment' ), true ) ) { if ( $this->args['author'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_author = %d", $this->args['author'] ); } if ( $this->args['start_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date >= %s", gmdate( 'Y-m-d', strtotime( $this->args['start_date'] ) ) ); } if ( $this->args['end_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date < %s", gmdate( 'Y-m-d', strtotime( '+1 month', strtotime( $this->args['end_date'] ) ) ) ); } } $post_ids = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} $join WHERE $where" ); $cats = array(); $tags = array(); $terms = array(); if ( isset( $term ) && $term ) { $cat = get_term( $term['term_id'], 'category' ); $cats = array( $cat->term_id => $cat ); unset( $term, $cat ); } elseif ( 'all' === $this->args['content'] ) { $categories = (array) get_categories( array( 'get' => 'all' ) ); $tags = (array) get_tags( array( 'get' => 'all' ) ); $custom_taxonomies = get_taxonomies( array( '_builtin' => false ) ); $custom_terms = (array) get_terms( array( 'taxonomy' => $custom_taxonomies, 'get' => 'all', ) ); while ( $cat = array_shift( $categories ) ) { if ( 0 == $cat->parent || isset( $cats[ $cat->parent ] ) ) { $cats[ $cat->term_id ] = $cat; } else { $categories[] = $cat; } } while ( $t = array_shift( $custom_terms ) ) { if ( 0 == $t->parent || isset( $terms[ $t->parent ] ) ) { $terms[ $t->term_id ] = $t; } else { $custom_terms[] = $t; } } unset( $categories, $custom_taxonomies, $custom_terms ); } $this->add_file( 'site/config.json', $this->json_encode( $this->get_blog_details() ) ); $this->export_authors(); $this->export_nav_menu_terms(); foreach ( $cats as $c ) { $this->add_file( 'terms/' . intval( $c->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $c->term_id ), 'taxonomy' => $c->taxonomy, 'name' => $c->name, 'slug' => $c->slug, 'parent' => $c->parent ? $cats[ $c->parent ]->slug : '', 'description' => $c->description, 'termmeta' => $this->termmeta( $c ), ) ) ); } foreach ( $tags as $t ) { $this->add_file( 'terms/' . intval( $t->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $t->term_id ), 'taxonomy' => $t->taxonomy, 'name' => $t->name, 'slug' => $t->slug, 'description' => $t->description, 'termmeta' => $this->termmeta( $t ), ) ) ); } foreach ( $terms as $t ) { $this->add_file( 'terms/' . intval( $t->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $t->term_id ), 'taxonomy' => $t->taxonomy, 'name' => $t->name, 'slug' => $t->slug, 'parent' => $t->parent ? $terms[ $t->parent ]->slug : '', 'description' => $t->description, 'termmeta' => $this->termmeta( $t ), ) ) ); } if ( 'all' === $this->args['content'] ) { $this->export_nav_menu_terms(); } if ( $post_ids ) { global $wp_query; $wp_query->in_the_loop = true; while ( $next_posts = array_splice( $post_ids, 0, 20 ) ) { $where = 'WHERE ID IN (' . implode( ',', $next_posts ) . ')'; $posts = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} $where" ); foreach ( $posts as $post ) { setup_postdata( $post ); $title = apply_filters( 'the_title_export', $post->post_title ); $content = apply_filters( 'the_content_export', $post->post_content ); $excerpt = apply_filters( 'the_excerpt_export', $post->post_excerpt ); $is_sticky = is_sticky( $post->ID ) ? 1 : 0; $data = array( 'version' => 1, 'title' => $title, 'author' => get_the_author_meta( 'login' ), 'status' => $post->post_status, 'content' => $content, 'excerpt' => $excerpt, 'type' => $post->post_type, 'parent' => $post->post_parent, 'password' => $post->post_password, 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'menu_order' => intval( $post->menu_order ), 'is_sticky' => $is_sticky, 'date_utc' => $post->post_date_gmt, 'date_modified_utc' => $post->post_modified_gmt, 'postmeta' => $this->postmeta( $post->ID ), ); if ( 'attachment' === $post->post_type ) { $data['attachment_url'] = wp_get_attachment_url( $post->ID ); } $this->add_file( 'posts/' . intval( $post->ID ) . '.json', $this->json_encode( $data ) ); } } } header( 'Content-Description: File Transfer' ); header( 'Content-Disposition: attachment; filename=' . $this->filename ); header( 'Content-Type: application/zip; charset=' . get_option( 'blog_charset' ), true ); $this->output_wxz(); } private function get_blog_details() { if ( is_multisite() ) { $base_site_url = network_home_url(); } else { $base_site_url = get_bloginfo_rss( 'url' ); } return array( 'version' => 1, 'title' => get_bloginfo_rss( 'name' ), 'link' => get_bloginfo_rss( 'url' ), 'description' => get_bloginfo_rss( 'description' ), 'date' => gmdate( 'D, d M Y H:i:s +0000' ), 'language' => get_bloginfo_rss( 'language' ), 'base_site_url' => $base_site_url, 'base_blog_url' => get_bloginfo_rss( 'url' ), ); } private function export_authors( array $post_ids = null ) { global $wpdb; if ( ! empty( $post_ids ) ) { $post_ids = array_map( 'absint', $post_ids ); $and = 'AND ID IN ( ' . implode( ', ', $post_ids ) . ')'; } else { $and = ''; } $authors = array(); $results = $wpdb->get_results( "SELECT DISTINCT post_author FROM $wpdb->posts WHERE post_status != 'auto-draft' $and" ); foreach ( (array) $results as $result ) { $authors[] = get_userdata( $result->post_author ); } $authors = array_filter( $authors ); foreach ( $authors as $author ) { $this->add_file( 'users/' . intval( $author->ID ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $author->ID ), 'username' => $author->user_login, 'display_name' => $author->display_name, 'email' => $author->user_email, ) ) ); } } private function export_nav_menu_terms() { $nav_menus = wp_get_nav_menus(); if ( empty( $nav_menus ) || ! is_array( $nav_menus ) ) { return; } foreach ( $nav_menus as $menu ) { $this->add_file( 'terms/' . intval( $menu->term_id ) . '.json', $this->json_encode( array( 'taxonomy' => 'nav_menu', 'name' => $menu->name, 'slug' => $menu->slug, ) ) ); } } function export_post_taxonomy() { $post = get_post(); $taxonomies = get_object_taxonomies( $post->post_type ); if ( empty( $taxonomies ) ) { return; } $terms = wp_get_object_terms( $post->ID, $taxonomies ); foreach ( (array) $terms as $term ) { $this->add_file( 'categories/' . intval( $term->term_id ) . '.json', $this->json_encode( array( 'taxonomy' => $term->taxonomy, 'name' => $term->name, 'slug' => $term->slug, ) ) ); } } private function termmeta( $term ) { global $wpdb; $termmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->termmeta WHERE term_id = %d", $term->term_id ) ); $metadata = array(); foreach ( $termmeta as $meta ) { if ( ! apply_filters( 'wxr_export_skip_termmeta', false, $meta->meta_key, $meta ) ) { $metadata[ $meta->meta_key ] = $meta->meta_value; } } return $metadata; } private function postmeta( $id ) { global $wpdb; $postmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->postmeta WHERE post_id = %d", $id ) ); $metadata = array(); foreach ( $postmeta as $meta ) { if ( apply_filters( 'wxr_export_skip_postmeta', false, $meta->meta_key, $meta ) ) { continue; } $metadata[ $meta->meta_key ] = $meta->meta_value; } return $metadata; } } #'wp_commentscomment_agent= #-wp_commentscomment_approved<#'wp_commentscomment_karma;#+wp_commentscomment_content: #-wp_commentscomment_date_gmt9#%wp_commentscomment_date8!#/wp_commentscomment_author_IP7"#1wp_commentscomment_author_url6$#5wp_commentscomment_author_email5#)wp_commentscomment_author4#+wp_commentscomment_post_ID3#!wp_commentscomment_ID2+)=wp_commentmetawp_commentmeta__meta_key1-)Awp_commentmetawp_commentmeta__comment_id0)!wp_commentmetameta_value/)wp_commentmetameta_key.)!wp_commentmetacomment_id-)wp_commentmetameta_id,A7[wp_term_relationshipswp_term_relationships__term_taxonomy_id+$7!wp_term_relationshipsterm_order**7-wp_term_relationshipsterm_taxonomy_id)#7wp_term_relationshipsobject_id(/-Awp_term_taxonomywp_term_taxonomy__taxonomy'7-Qwp_term_taxonomywp_term_taxonomy__term_id_taxonomy&-wp_term_taxonomycount%-wp_term_taxonomyparent$ -#wp_term_taxonomydescription#-wp_term_taxonomytaxonomy"-wp_term_taxonomyterm_id!%--wp_term_taxonomyterm_taxonomy_id )wp_termswp_terms__name)wp_termswp_terms__slug!wp_termsterm_groupwp_termsslugwp_termsnamewp_termsterm_id%#7wp_termmetawp_termmeta__meta_key$#5wp_termmetawp_termmeta__term_id#!wp_termmetameta_value#wp_termmetameta_key#wp_termmetaterm_id#wp_termmetameta_id%#7wp_usermetawp_usermeta__meta_key$#5wp_usermetawp_usermeta__user_id#!wp_usermetameta_value#wp_usermetameta_key#wp_usermetauser_id#wp_usermetaumeta_id!5wp_userswp_users__user_email $;wp_userswp_users__user_nicename %=wp_userswp_users__user_login_key %wp_usersdisplay_name -#wp_usersuser_status 3wp_usersuser_activation_key+wp_usersuser_registeredwp_usersuser_url!wp_usersuser_email'wp_usersuser_nicenamewp_usersuser_pass!wp_usersuser_login wp_usersID w Q373 admin$P$BCYSWd8CdGvvNqoE/PQOZi5fHfU9RI/adminadmin@localhost.comhttp://127.0.0.1:80002023-10-06 08:06:46admin tt#wp_postmeta wp_posts# wp_comments - wp_term_taxonomy  wp_terms#wp_usermeta  wp_users!wp_optionsx +#wp_usersuser_status 3wp_usersuser_activation_key+wp_usersuser_registeredwp_usersuser_url!wp_usersuser_email'wp_usersuser_nicenamewp_usersuser_pass!wp_usersuser_login wp_usersID w Q373 admin$P$Bt9uWGicuoJNl3yEWeUxNA4Bd9SwAK1adminadmin@localhost.comhttp://127.0.0.1:80002023-10-07 08:06:36admin tt#wp_postmeta wp_posts# wp_comments - wp_term_taxonomy  wp_terms#wp_usermeta  wp_users!wp_optionsx  admin  admin 3 admin@localhost.com }gPA"}3  +Kwp_capabilitiesa:1:{s:13:"administrator";b:1;} 7 dismissed_wp_pointers 1show_welcome_panel1  'wp_user_level10   locale @@ -13351,12 +13351,12 @@ CREATE INDEX "wp_usermeta__user_id" ON "wp_usermeta" ("user_id") "link_notes" text NOT NULL COLLATE NOCASE, "link_rss" text NOT NULL DEFAULT '' COLLATE NOCASE)  - W 7;9 339 A WordPress Commenterwapuu@wordpress.examplehttps://wordpress.org/2023-10-06 08:06:462023-10-06 08:06:46Hi, this is a comment. + W 7;9 339 A WordPress Commenterwapuu@wordpress.examplehttps://wordpress.org/2023-10-07 08:06:372023-10-07 08:06:37Hi, this is a comment. To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard. Commenter avatars come from Gravatar.1comment  -3 12023-10-06 08:06:46 -3 2023-10-06 08:06:46 +3 12023-10-07 08:06:37 +3 2023-10-07 08:06:37  ; wapuu@wordpress.example  64d3U @@ -13385,7 +13385,7 @@ S  7 k - Y g6NZ.OX6|Q1V/ i>&^#5wp_postmetawp_postmeta__post_idKEY!]#!wp_postmetameta_valuelongtext#\#%wp_postmetameta_keyvarchar(255))[#3wp_postmetapost_idbigint(20) unsigned)Z#3wp_postmetameta_idbigint(20) unsigned%Y!5wp_optionswp_options__autoloadKEY+X!;wp_optionswp_options__option_nameUNIQUE!W!#wp_optionsautoloadvarchar(20)"V!%wp_optionsoption_valuelongtext%U!#%wp_optionsoption_namevarchar(191)*T!3wp_optionsoption_idbigint(20) unsigned%S9wp_linkswp_links__link_visibleKEY R%wp_linkslink_rssvarchar(255) Q!!wp_linkslink_notesmediumtext P%wp_linkslink_relvarchar(255) O%wp_linkslink_updateddatetimeN#wp_linkslink_ratingint(11))M!3wp_linkslink_ownerbigint(20) unsigned#L%#wp_linkslink_visiblevarchar(20)(K-%wp_linkslink_descriptionvarchar(255)"J##wp_linkslink_targetvarchar(25)"I!%wp_linkslink_imagevarchar(255)!H%wp_linkslink_namevarchar(255) G%wp_linkslink_urlvarchar(255)&F3wp_linkslink_idbigint(20) unsigned3E#Owp_commentswp_comments__comment_author_emailKEY-D#Cwp_commentswp_comments__comment_parentKEY/C#Gwp_commentswp_comments__comment_date_gmtKEY8B#Ywp_commentswp_comments__comment_approved_date_gmtKEY.A#Ewp_commentswp_comments__comment_post_IDKEY)@#3wp_commentsuser_idbigint(20) unsigned0?#)3wp_commentscomment_parentbigint(20) unsigned&>#%#wp_commentscomment_typevarchar(20)(=#'%wp_commentscomment_agentvarchar(255)*<#-#wp_commentscomment_approvedvarchar(20)#;#'wp_commentscomment_karmaint(11)":#+wp_commentscomment_contenttext'9#-wp_commentscomment_date_gmtdatetime#8#%wp_commentscomment_datedatetime,7#/%wp_commentscomment_author_IPvarchar(100)-6#1%wp_commentscomment_author_urlvarchar(200)/5#5%wp_commentscomment_author_emailvarchar(100)%4#)wp_commentscomment_authortinytext13#+3wp_commentscomment_post_IDbigint(20) unsigned,2#!3wp_commentscomment_IDbigint(20) unsigned-1)=wp_commentmetawp_commentmeta__meta_keyKEY/0)Awp_commentmetawp_commentmeta__comment_idKEY$/)!wp_commentmetameta_valuelongtext&.)%wp_commentmetameta_keyvarchar(255)/-)!3wp_commentmetacomment_idbigint(20) unsigned,,)3wp_commentmetameta_idbigint(20) unsignedC+7[wp_term_relationshipswp_term_relationships__term_taxonomy_idKEY**7!wp_term_relationshipsterm_orderint(11)<)7-3wp_term_relationshipsterm_taxonomy_idbigint(20) unsigned5(73wp_term_relationshipsobject_idbigint(20) unsigned1'-Awp_term_taxonomywp_term_taxonomy__taxonomyKEY<&-Qwp_term_taxonomywp_term_taxonomy__term_id_taxonomyUNIQUE#%-!wp_term_taxonomycountbigint(20)-$-3wp_term_taxonomyparentbigint(20) unsigned'#-#wp_term_taxonomydescriptionlongtext'"-#wp_term_taxonomytaxonomyvarchar(32).!-3wp_term_taxonomyterm_idbigint(20) unsigned7 --3wp_term_taxonomyterm_taxonomy_idbigint(20) unsigned)wp_termswp_terms__nameKEY)wp_termswp_terms__slugKEY !!wp_termsterm_groupbigint(10)%wp_termsslugvarchar(200)%wp_termsnamevarchar(200)&3wp_termsterm_idbigint(20) unsigned'#7wp_termmetawp_termmeta__meta_keyKEY&#5wp_termmetawp_termmeta__term_idKEY!#!wp_termmetameta_valuelongtext##%wp_termmetameta_keyvarchar(255))#3wp_termmetaterm_idbigint(20) unsigned)#3wp_termmetameta_idbigint(20) unsigned'#7wp_usermetawp_usermeta__meta_keyKEY&#5wp_usermetawp_usermeta__user_idKEY!#!wp_usermetameta_valuelongtext##%wp_usermetameta_keyvarchar(255))#3wp_usermetauser_idbigint(20) unsigned*#3wp_usermetaumeta_idbigint(20) unsigned# 5wp_userswp_users__user_emailKEY& ;wp_userswp_users__user_nicenameKEY' =wp_userswp_users__user_login_keyKEY$ -%%wp_usersdisplay_namevarchar(250) #wp_usersuser_statusint(11)+3%wp_usersuser_activation_keyvarchar(255)#+wp_usersuser_registereddatetime %wp_usersuser_urlvarchar(100)"!%wp_usersuser_emailvarchar(100)$'#wp_usersuser_nicenamevarchar(50)!%wp_usersuser_passvarchar(255)!!#wp_usersuser_loginvarchar(60)!3wp_usersIDbigint(20) unsigned  iF${T1 _ A " d > $z7wp_postswp_posts__post_authorKEY$y7wp_postswp_posts__post_parentKEY)xAwp_postswp_posts__type_status_dateKEY"w3wp_postswp_posts__post_nameKEY#v'!wp_postscomment_countbigint(20)&u)%wp_postspost_mime_typevarchar(100) t#wp_postspost_typevarchar(20)s!wp_postsmenu_orderint(11)r%wp_postsguidvarchar(255)*q#3wp_postspost_parentbigint(20) unsigned)p7wp_postspost_content_filteredlongtext%o/wp_postspost_modified_gmtdatetime!n'wp_postspost_modifieddatetimemwp_postspingedtextlwp_poststo_pingtext!k%wp_postspost_namevarchar(200)%j'%wp_postspost_passwordvarchar(255)"i##wp_postsping_statusvarchar(20)%h)#wp_postscomment_statusvarchar(20)"g##wp_postspost_statusvarchar(20)f%wp_postspost_excerpttexte!wp_postspost_titletext d%wp_postspost_contentlongtext!c'wp_postspost_date_gmtdatetimebwp_postspost_datedatetime*a#3wp_postspost_authorbigint(20) unsigned!`3wp_postsIDbigint(20) unsigned'_#7wp_postmetawp_postmeta__meta_keyKEY  8( 33u)  ) 33 M 2023-10-06 08:06:462023-10-06 08:06:46

Who we are

Suggested text: Our website address is: http://127.0.0.1:8000.

Comments

Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

Suggested text: If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download a5 33M#  # 33 M 2023-10-06 08:06:462023-10-06 08:06:46 +%%wp_usersdisplay_namevarchar(250) #wp_usersuser_statusint(11)+3%wp_usersuser_activation_keyvarchar(255)#+wp_usersuser_registereddatetime %wp_usersuser_urlvarchar(100)"!%wp_usersuser_emailvarchar(100)$'#wp_usersuser_nicenamevarchar(50)!%wp_usersuser_passvarchar(255)!!#wp_usersuser_loginvarchar(60)!3wp_usersIDbigint(20) unsigned  iF${T1 _ A " d > $z7wp_postswp_posts__post_authorKEY$y7wp_postswp_posts__post_parentKEY)xAwp_postswp_posts__type_status_dateKEY"w3wp_postswp_posts__post_nameKEY#v'!wp_postscomment_countbigint(20)&u)%wp_postspost_mime_typevarchar(100) t#wp_postspost_typevarchar(20)s!wp_postsmenu_orderint(11)r%wp_postsguidvarchar(255)*q#3wp_postspost_parentbigint(20) unsigned)p7wp_postspost_content_filteredlongtext%o/wp_postspost_modified_gmtdatetime!n'wp_postspost_modifieddatetimemwp_postspingedtextlwp_poststo_pingtext!k%wp_postspost_namevarchar(200)%j'%wp_postspost_passwordvarchar(255)"i##wp_postsping_statusvarchar(20)%h)#wp_postscomment_statusvarchar(20)"g##wp_postspost_statusvarchar(20)f%wp_postspost_excerpttexte!wp_postspost_titletext d%wp_postspost_contentlongtext!c'wp_postspost_date_gmtdatetimebwp_postspost_datedatetime*a#3wp_postspost_authorbigint(20) unsigned!`3wp_postsIDbigint(20) unsigned'_#7wp_postmetawp_postmeta__meta_keyKEY  8( 33u)  ) 33 M 2023-10-07 08:06:372023-10-07 08:06:37

Who we are

Suggested text: Our website address is: http://127.0.0.1:8000.

Comments

Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

Suggested text: If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download a5 33M#  # 33 M 2023-10-07 08:06:372023-10-07 08:06:37

This is an example page. It's different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:

@@ -13403,9 +13403,9 @@ k

As a new WordPress user, you should go to your dashboard to delete this page and create new pages for your content. Have fun!

-Sample Pagepublishclosedopensample-page2023-10-06 08:06:462023-10-06 08:06:46http://127.0.0.1:8000/?page_id=2page2 33%  # 33 A 2023-10-06 08:06:462023-10-06 08:06:46 +Sample Pagepublishclosedopensample-page2023-10-07 08:06:372023-10-07 08:06:37http://127.0.0.1:8000/?page_id=2page2 33%  # 33 A 2023-10-07 08:06:372023-10-07 08:06:37

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

-Hello world!publishopenopenhello-world2023-10-06 08:06:462023-10-06 08:06:46http://127.0.0.1:8000/?p=1post } 6 @9l,7indexwp_posts__post_authorwp_posts2CREATE INDEX "wp_posts__post_author" ON "wp_posts" ("post_author")l+7indexwp_posts__post_parentwp_posts1CREATE INDEX "wp_posts__post_parent" ON "wp_posts" ("post_parent")*A[indexwp_posts__type_status_datewp_posts0CREATE INDEX "wp_posts__type_status_date" ON "wp_posts" ("post_type", "post_status", "post_date", "ID")f)3 indexwp_posts__post_namewp_posts/CREATE INDEX "wp_posts__post_name" ON "wp_posts" ("post_name")(tablewp_postswp_posts-CREATE TABLE "wp_posts" ( +Hello world!publishopenopenhello-world2023-10-07 08:06:372023-10-07 08:06:37http://127.0.0.1:8000/?p=1post } 6 @9l,7indexwp_posts__post_authorwp_posts2CREATE INDEX "wp_posts__post_author" ON "wp_posts" ("post_author")l+7indexwp_posts__post_parentwp_posts1CREATE INDEX "wp_posts__post_parent" ON "wp_posts" ("post_parent")*A[indexwp_posts__type_status_datewp_posts0CREATE INDEX "wp_posts__type_status_date" ON "wp_posts" ("post_type", "post_status", "post_date", "ID")f)3 indexwp_posts__post_namewp_posts/CREATE INDEX "wp_posts__post_name" ON "wp_posts" ("post_name")(tablewp_postswp_posts-CREATE TABLE "wp_posts" ( "ID" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "post_author" integer NOT NULL DEFAULT '0', "post_date" text NOT NULL DEFAULT '0000-00-00 00:00:00' COLLATE NOCASE, @@ -13438,11 +13438,11 @@ k "option_value" text NOT NULL COLLATE NOCASE, "autoload" text NOT NULL DEFAULT 'yes' COLLATE NOCASE)o!9indexwp_links__link_visiblewp_links$CREATE INDEX "wp_links__link_visible" ON "wp_links" ("link_visible") )privacy-policy#sample-page# hello-world -$3pagedraft2023-10-06 08:06:46&3pagepublish2023-10-06 08:06:46$3 postpublish2023-10-06 08:06:46 +$3pagedraft2023-10-07 08:06:37&3pagepublish2023-10-07 08:06:37$3 postpublish2023-10-07 08:06:37     U-]@f> v V < !  kY>& qY8aL6fM3hApT3vW-v^8 kJJI3ipermalink_structure/index.php/%year%/%monthnum%/%day%/%postname%/yesJ1(UKfinished_splitting_shared_terms1yesT5link_manager_enabled0yesS3default_post_format0yesR'page_on_front0yesQ)page_for_posts0yesP+ timezone_stringyesO/uninstall_pluginsa:0:{}noN!widget_rssa:0:{}yesM#widget_texta:0:{}yesL/widget_categoriesa:0:{}yesK%sticky_postsa:0:{}yesJ'comment_orderascyes#I7default_comments_pagenewestyesH/comments_per_page50yesG'page_comments0yesF7thread_comments_depth5yesE+thread_comments1yes!D;close_comments_days_old14yes%CEclose_comments_for_old_posts0yesB3 image_default_alignyesA1 image_default_sizeyes#@;image_default_link_typenoneyes?%large_size_h1024yes>%large_size_w1024yes=)avatar_defaultmysteryyes<'medium_size_h300yes;'medium_size_w300yes:)thumbnail_crop1yes9-thumbnail_size_h150yes8-thumbnail_size_w150yes7+ upload_url_pathyes6'avatar_ratingGyes5%show_avatars1yes4 tag_baseyes3'show_on_frontpostsyes27default_link_category2yes1#blog_public1yes0# upload_pathyes&/Guploads_use_yearmonth_folders1yes.!db_version53496yes-%!default_rolesubscriberyes,'use_trackback0yes+html_typetext/htmlyes*5comment_registration0yes!)!+stylesheettwentytwentytwoyes(+templatetwentytwentytwoyes'+ recently_editedno&9default_email_category1yes%!gmt_offset0yes$/comment_max_links2yes,#!Aping_siteshttp://rpc.pingomatic.com/yes"' category_baseyesm + moderation_keysno%blog_charsetUTF-8yeshack_file0yesR!)active_pluginsa:1:{i:0;s:41:"wordpress-importer/wordpress-importer.php";}yes' rewrite_rulesyes3 permalink_structureyes/moderation_notify1yes1comment_moderation0yes-?%links_updated_date_formatF j, Y g:i ayes#time_formatg:i ayes#date_formatF j, Yyes)posts_per_page10yes7default_pingback_flag1yes3default_ping_statusopenyes"9default_comment_statusopenyes-default_category1yes+mailserver_port110yes+mailserver_passpasswordyes)-/mailserver_loginlogin@example.comyes&)-mailserver_urlmail.example.comyes +rss_use_excerpt0yes 'posts_per_rss10yes +comments_notify1yes -1require_name_email1yes #use_smilies1yes+use_balanceTags0yes'start_of_week1yes&#3admin_emailadmin@localhost.comyes1users_can_register0yes2+CblogdescriptionJust another WordPress siteyes$5blognameMy WordPress Websiteyes!7homehttp://127.0.0.1:8000yes$7siteurlhttp://127.0.0.1:8000yes vX3 xS,c1initial_db_version53496yes*bEwp_force_deactivated_pluginsa:0:{}yes%a9auto_update_core_majorenabledyes%`9auto_update_core_minorenabledyes#_5auto_update_core_devenabledyes,^Kauto_plugin_theme_update_emailsa:0:{}no$]Ccomment_previously_approved1yes\+ disallowed_keysno&[5!admin_email_lifespan1712131606yes%ZEshow_comments_cookies_opt_in1yes#YAwp_page_for_privacy_policy3yesX3medium_large_size_h0yesW3medium_large_size_w768yesVsite_icon0yesSd'wp_user_rolesa:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:61:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;s:11:"update_core";b:1;s:10:"list_users";b:1;s:12:"remove_users";b:1;s:13:"promote_users";b:1;s:18:"edit_theme_options";b:1;s:13:"delete_themes";b:1;s:6:"export";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}yesnd extract any location data from images on the website.

Cookies

Suggested text: If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Suggested text: Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

Suggested text: If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

Suggested text: If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Suggested text: Visitor comments may be checked through an automated spam detection service.

Privacy Policydraftclosedopenprivacy-policy2023-10-06 08:06:462023-10-06 08:06:46http://127.0.0.1:8000/?page_id=3page  w c n  l 5K< #iucrona:3:{i:1696579618;a:6:{s:32:"recovery_mode_clean_expired_keys";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}s:18:"wp_https_detection";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:34:"wp_privacy_delete_old_export_files";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1696666018;a:1:{s:30:"wp_site_health_scheduled_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}yes8w1Iwidget_custom_htmla:1:{s:12:"_multiwidget";i:1;}yes5v+Iwidget_nav_menua:1:{s:12:"_multiwidget";i:1;}yes6u-Iwidget_tag_clouda:1:{s:12:"_multiwidget";i:1;}yesRt! nonce_salt&b,_@tM23sL)@+/JNnN4CZvxad?,EAlqTJ%;ARy+722e`P21xvVOhs_+}5(,&.%$noQs nonce_key7!{mu&[){t_0! BV.N%o.MWNGQ6=PhaQ?#2K~CwVxa<;?g#yN`=Sx7O_transient_doing_cron1696579618.7522680759429931640625yesf!user_count1noe!fresh_site1yes_h-sidebars_widgetsa:4:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:3:{i:0;s:7:"block-2";i:1;s:7:"block-3";i:2;s:7:"block-4";}s:9:"sidebar-2";a:2:{i:0;s:7:"block-5";i:1;s:7:"block-6";}s:13:"array_version";i:3;}yesg%widget_blocka:6:{i:2;a:1:{s:7:"content";s:19:"";}i:3;a:1:{s:7:"content";s:154:"

Recent Posts

";}i:4;a:1:{s:7:"content";s:227:"

Recent Comments

";}i:5;a:1:{s:7:"content";s:146:"

Archives

";}i:6;a:1:{s:7:"content";s:150:"

Categories

";}s:12:"_multiwidget";i:1;}yes7DENY FROM ALL

Cookies

Suggested text: If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Suggested text: Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

Suggested text: If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

Suggested text: If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Suggested text: Visitor comments may be checked through an automated spam detection service.

Privacy Policydraftclosedopenprivacy-policy2023-10-07 08:06:372023-10-07 08:06:37http://127.0.0.1:8000/?page_id=3page  w c n  l 5K< #iucrona:3:{i:1696666009;a:6:{s:32:"recovery_mode_clean_expired_keys";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}s:18:"wp_https_detection";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:34:"wp_privacy_delete_old_export_files";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1696752409;a:1:{s:30:"wp_site_health_scheduled_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}yes8w1Iwidget_custom_htmla:1:{s:12:"_multiwidget";i:1;}yes5v+Iwidget_nav_menua:1:{s:12:"_multiwidget";i:1;}yes6u-Iwidget_tag_clouda:1:{s:12:"_multiwidget";i:1;}yesRt! nonce_salt`SM`gWP>H0uf.23Vf9YuJg,dSihBl>se`X3$5r-jpoL?{m]Pdm ?@noQs nonce_key>s|_D~W0,DBohhFu4;5Id]eiji;@Z;R~kE1~c?mFxTno3r'Iwidget_searcha:1:{s:12:"_multiwidget";i:1;}yes1q#Iwidget_metaa:1:{s:12:"_multiwidget";i:1;}yes8p1Iwidget_media_videoa:1:{s:12:"_multiwidget";i:1;}yes:o5Iwidget_media_gallerya:1:{s:12:"_multiwidget";i:1;}yes8n1Iwidget_media_imagea:1:{s:12:"_multiwidget";i:1;}yes8m1Iwidget_media_audioa:1:{s:12:"_multiwidget";i:1;}yes5l+Iwidget_archivesa:1:{s:12:"_multiwidget";i:1;}yes5k+Iwidget_calendara:1:{s:12:"_multiwidget";i:1;}yes2j%Iwidget_pagesa:1:{s:12:"_multiwidget";i:1;}yesL>x7O_transient_doing_cron1696666009.3057589530944824218750yesf!user_count1noe!fresh_site1yes_h-sidebars_widgetsa:4:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:3:{i:0;s:7:"block-2";i:1;s:7:"block-3";i:2;s:7:"block-4";}s:9:"sidebar-2";a:2:{i:0;s:7:"block-5";i:1;s:7:"block-6";}s:13:"array_version";i:3;}yesg%widget_blocka:6:{i:2;a:1:{s:7:"content";s:19:"";}i:3;a:1:{s:7:"content";s:154:"

Recent Posts

";}i:4;a:1:{s:7:"content";s:227:"

Recent Comments

";}i:5;a:1:{s:7:"content";s:146:"

Archives

";}i:6;a:1:{s:7:"content";s:150:"

Categories

";}s:12:"_multiwidget";i:1;}yes7DENY FROM ALLexport(); exit; } } class Export_WXZ { public $filelist = array(); public $filename; public function __construct( $args = array() ) { global $wpdb, $post; $defaults = array( 'content' => 'all', 'author' => false, 'category' => false, 'start_date' => false, 'end_date' => false, 'status' => false, ); $this->args = wp_parse_args( $args, $defaults ); $sitename = sanitize_key( get_bloginfo( 'name' ) ); if ( ! empty( $sitename ) ) { $sitename .= '.'; } $date = gmdate( 'Y-m-d' ); $wp_filename = $sitename . 'WordPress.' . $date . '.wxz'; $this->filename = apply_filters( 'export_wp_filename', $wp_filename, $sitename, $date ); } private function json_encode( $json ) { return json_encode( $json, JSON_PRETTY_PRINT ); } private function add_file( $filename, $content, $write_to_dir = false ) { require_once ABSPATH . '/wp-admin/includes/class-pclzip.php'; $this->filelist[] = array( PCLZIP_ATT_FILE_NAME => $filename, PCLZIP_ATT_FILE_CONTENT => $content, ); if ( $write_to_dir ) { $dir = dirname( $filename ); $write_to_dir = rtrim( $write_to_dir, '/' ) . '/'; if ( ! file_exists( $write_to_dir . $dir ) ) { mkdir( $write_to_dir . $dir, 0777, true ); } file_put_contents( $write_to_dir . $filename, $content ); } return $filename; } private function output_wxz() { if ( empty( $this->filelist ) ) { return new WP_Error( 'no-files', 'No files to write.' ); } require_once ABSPATH . '/wp-admin/includes/class-pclzip.php'; $zip = tempnam( '/tmp/', $this->filename . '.zip' ); $archive = new PclZip( $zip ); $archive->create( array( array( PCLZIP_ATT_FILE_NAME => 'mimetype', PCLZIP_ATT_FILE_CONTENT => 'application/vnd.wordpress.export+zip', ), ), PCLZIP_OPT_NO_COMPRESSION ); $archive->add( $this->filelist ); readfile( $zip ); unlink( $zip ); } public function export() { global $wpdb, $post; if ( 'all' !== $this->args['content'] && post_type_exists( $this->args['content'] ) ) { $ptype = get_post_type_object( $this->args['content'] ); if ( ! $ptype->can_export ) { $this->args['content'] = 'post'; } $where = $wpdb->prepare( "{$wpdb->posts}.post_type = %s", $this->args['content'] ); } else { $post_types = get_post_types( array( 'can_export' => true ) ); $esses = array_fill( 0, count( $post_types ), '%s' ); $where = $wpdb->prepare( "{$wpdb->posts}.post_type IN (" . implode( ',', $esses ) . ')', $post_types ); } if ( $this->args['status'] && ( 'post' === $this->args['content'] || 'page' === $this->args['content'] ) ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_status = %s", $this->args['status'] ); } else { $where .= " AND {$wpdb->posts}.post_status != 'auto-draft'"; } $join = ''; if ( $this->args['category'] && 'post' === $this->args['content'] ) { $term = term_exists( $this->args['category'], 'category' ); if ( $term ) { $join = "INNER JOIN {$wpdb->term_relationships} ON ({$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id)"; $where .= $wpdb->prepare( " AND {$wpdb->term_relationships}.term_taxonomy_id = %d", $term['term_taxonomy_id'] ); } } if ( in_array( $this->args['content'], array( 'post', 'page', 'attachment' ), true ) ) { if ( $this->args['author'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_author = %d", $this->args['author'] ); } if ( $this->args['start_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date >= %s", gmdate( 'Y-m-d', strtotime( $this->args['start_date'] ) ) ); } if ( $this->args['end_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date < %s", gmdate( 'Y-m-d', strtotime( '+1 month', strtotime( $this->args['end_date'] ) ) ) ); } } $post_ids = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} $join WHERE $where" ); $cats = array(); $tags = array(); $terms = array(); if ( isset( $term ) && $term ) { $cat = get_term( $term['term_id'], 'category' ); $cats = array( $cat->term_id => $cat ); unset( $term, $cat ); } elseif ( 'all' === $this->args['content'] ) { $categories = (array) get_categories( array( 'get' => 'all' ) ); $tags = (array) get_tags( array( 'get' => 'all' ) ); $custom_taxonomies = get_taxonomies( array( '_builtin' => false ) ); $custom_terms = (array) get_terms( array( 'taxonomy' => $custom_taxonomies, 'get' => 'all', ) ); while ( $cat = array_shift( $categories ) ) { if ( 0 == $cat->parent || isset( $cats[ $cat->parent ] ) ) { $cats[ $cat->term_id ] = $cat; } else { $categories[] = $cat; } } while ( $t = array_shift( $custom_terms ) ) { if ( 0 == $t->parent || isset( $terms[ $t->parent ] ) ) { $terms[ $t->term_id ] = $t; } else { $custom_terms[] = $t; } } unset( $categories, $custom_taxonomies, $custom_terms ); } $this->add_file( 'site/config.json', $this->json_encode( $this->get_blog_details() ) ); $this->export_authors(); $this->export_nav_menu_terms(); foreach ( $cats as $c ) { $this->add_file( 'terms/' . intval( $c->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $c->term_id ), 'taxonomy' => $c->taxonomy, 'name' => $c->name, 'slug' => $c->slug, 'parent' => $c->parent ? $cats[ $c->parent ]->slug : '', 'description' => $c->description, 'termmeta' => $this->termmeta( $c ), ) ) ); } foreach ( $tags as $t ) { $this->add_file( 'terms/' . intval( $t->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $t->term_id ), 'taxonomy' => $t->taxonomy, 'name' => $t->name, 'slug' => $t->slug, 'description' => $t->description, 'termmeta' => $this->termmeta( $t ), ) ) ); } foreach ( $terms as $t ) { $this->add_file( 'terms/' . intval( $t->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $t->term_id ), 'taxonomy' => $t->taxonomy, 'name' => $t->name, 'slug' => $t->slug, 'parent' => $t->parent ? $terms[ $t->parent ]->slug : '', 'description' => $t->description, 'termmeta' => $this->termmeta( $t ), ) ) ); } if ( 'all' === $this->args['content'] ) { $this->export_nav_menu_terms(); } if ( $post_ids ) { global $wp_query; $wp_query->in_the_loop = true; while ( $next_posts = array_splice( $post_ids, 0, 20 ) ) { $where = 'WHERE ID IN (' . implode( ',', $next_posts ) . ')'; $posts = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} $where" ); foreach ( $posts as $post ) { setup_postdata( $post ); $title = apply_filters( 'the_title_export', $post->post_title ); $content = apply_filters( 'the_content_export', $post->post_content ); $excerpt = apply_filters( 'the_excerpt_export', $post->post_excerpt ); $is_sticky = is_sticky( $post->ID ) ? 1 : 0; $data = array( 'version' => 1, 'title' => $title, 'author' => get_the_author_meta( 'login' ), 'status' => $post->post_status, 'content' => $content, 'excerpt' => $excerpt, 'type' => $post->post_type, 'parent' => $post->post_parent, 'password' => $post->post_password, 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'menu_order' => intval( $post->menu_order ), 'is_sticky' => $is_sticky, 'date_utc' => $post->post_date_gmt, 'date_modified_utc' => $post->post_modified_gmt, 'postmeta' => $this->postmeta( $post->ID ), ); if ( 'attachment' === $post->post_type ) { $data['attachment_url'] = wp_get_attachment_url( $post->ID ); } $this->add_file( 'posts/' . intval( $post->ID ) . '.json', $this->json_encode( $data ) ); } } } header( 'Content-Description: File Transfer' ); header( 'Content-Disposition: attachment; filename=' . $this->filename ); header( 'Content-Type: application/zip; charset=' . get_option( 'blog_charset' ), true ); $this->output_wxz(); } private function get_blog_details() { if ( is_multisite() ) { $base_site_url = network_home_url(); } else { $base_site_url = get_bloginfo_rss( 'url' ); } return array( 'version' => 1, 'title' => get_bloginfo_rss( 'name' ), 'link' => get_bloginfo_rss( 'url' ), 'description' => get_bloginfo_rss( 'description' ), 'date' => gmdate( 'D, d M Y H:i:s +0000' ), 'language' => get_bloginfo_rss( 'language' ), 'base_site_url' => $base_site_url, 'base_blog_url' => get_bloginfo_rss( 'url' ), ); } private function export_authors( array $post_ids = null ) { global $wpdb; if ( ! empty( $post_ids ) ) { $post_ids = array_map( 'absint', $post_ids ); $and = 'AND ID IN ( ' . implode( ', ', $post_ids ) . ')'; } else { $and = ''; } $authors = array(); $results = $wpdb->get_results( "SELECT DISTINCT post_author FROM $wpdb->posts WHERE post_status != 'auto-draft' $and" ); foreach ( (array) $results as $result ) { $authors[] = get_userdata( $result->post_author ); } $authors = array_filter( $authors ); foreach ( $authors as $author ) { $this->add_file( 'users/' . intval( $author->ID ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $author->ID ), 'username' => $author->user_login, 'display_name' => $author->display_name, 'email' => $author->user_email, ) ) ); } } private function export_nav_menu_terms() { $nav_menus = wp_get_nav_menus(); if ( empty( $nav_menus ) || ! is_array( $nav_menus ) ) { return; } foreach ( $nav_menus as $menu ) { $this->add_file( 'terms/' . intval( $menu->term_id ) . '.json', $this->json_encode( array( 'taxonomy' => 'nav_menu', 'name' => $menu->name, 'slug' => $menu->slug, ) ) ); } } function export_post_taxonomy() { $post = get_post(); $taxonomies = get_object_taxonomies( $post->post_type ); if ( empty( $taxonomies ) ) { return; } $terms = wp_get_object_terms( $post->ID, $taxonomies ); foreach ( (array) $terms as $term ) { $this->add_file( 'categories/' . intval( $term->term_id ) . '.json', $this->json_encode( array( 'taxonomy' => $term->taxonomy, 'name' => $term->name, 'slug' => $term->slug, ) ) ); } } private function termmeta( $term ) { global $wpdb; $termmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->termmeta WHERE term_id = %d", $term->term_id ) ); $metadata = array(); foreach ( $termmeta as $meta ) { if ( ! apply_filters( 'wxr_export_skip_termmeta', false, $meta->meta_key, $meta ) ) { $metadata[ $meta->meta_key ] = $meta->meta_value; } } return $metadata; } private function postmeta( $id ) { global $wpdb; $postmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->postmeta WHERE post_id = %d", $id ) ); $metadata = array(); foreach ( $postmeta as $meta ) { if ( apply_filters( 'wxr_export_skip_postmeta', false, $meta->meta_key, $meta ) ) { continue; } $metadata[ $meta->meta_key ] = $meta->meta_value; } return $metadata; } } #'wp_commentscomment_agent= #-wp_commentscomment_approved<#'wp_commentscomment_karma;#+wp_commentscomment_content: #-wp_commentscomment_date_gmt9#%wp_commentscomment_date8!#/wp_commentscomment_author_IP7"#1wp_commentscomment_author_url6$#5wp_commentscomment_author_email5#)wp_commentscomment_author4#+wp_commentscomment_post_ID3#!wp_commentscomment_ID2+)=wp_commentmetawp_commentmeta__meta_key1-)Awp_commentmetawp_commentmeta__comment_id0)!wp_commentmetameta_value/)wp_commentmetameta_key.)!wp_commentmetacomment_id-)wp_commentmetameta_id,A7[wp_term_relationshipswp_term_relationships__term_taxonomy_id+$7!wp_term_relationshipsterm_order**7-wp_term_relationshipsterm_taxonomy_id)#7wp_term_relationshipsobject_id(/-Awp_term_taxonomywp_term_taxonomy__taxonomy'7-Qwp_term_taxonomywp_term_taxonomy__term_id_taxonomy&-wp_term_taxonomycount%-wp_term_taxonomyparent$ -#wp_term_taxonomydescription#-wp_term_taxonomytaxonomy"-wp_term_taxonomyterm_id!%--wp_term_taxonomyterm_taxonomy_id )wp_termswp_terms__name)wp_termswp_terms__slug!wp_termsterm_groupwp_termsslugwp_termsnamewp_termsterm_id%#7wp_termmetawp_termmeta__meta_key$#5wp_termmetawp_termmeta__term_id#!wp_termmetameta_value#wp_termmetameta_key#wp_termmetaterm_id#wp_termmetameta_id%#7wp_usermetawp_usermeta__meta_key$#5wp_usermetawp_usermeta__user_id#!wp_usermetameta_value#wp_usermetameta_key#wp_usermetauser_id#wp_usermetaumeta_id!5wp_userswp_users__user_email $;wp_userswp_users__user_nicename %=wp_userswp_users__user_login_key %wp_usersdisplay_name -#wp_usersuser_status 3wp_usersuser_activation_key+wp_usersuser_registeredwp_usersuser_url!wp_usersuser_email'wp_usersuser_nicenamewp_usersuser_pass!wp_usersuser_login wp_usersID w Q373 admin$P$BhQSqRCFO9wttTr7dCjeo7iVRLkQOE0adminadmin@localhost.comhttp://127.0.0.1:80002023-10-06 08:08:00admin tt#wp_postmeta wp_posts# wp_comments - wp_term_taxonomy  wp_terms#wp_usermeta  wp_users!wp_optionsz +#wp_usersuser_status 3wp_usersuser_activation_key+wp_usersuser_registeredwp_usersuser_url!wp_usersuser_email'wp_usersuser_nicenamewp_usersuser_pass!wp_usersuser_login wp_usersID w Q373 admin$P$B8zJD32njGBzvuBBYFaeQ5AJoe8N5E1adminadmin@localhost.comhttp://127.0.0.1:80002023-10-07 08:07:52admin tt#wp_postmeta wp_posts# wp_comments - wp_term_taxonomy  wp_terms#wp_usermeta  wp_users!wp_optionsz  admin  admin 3 admin@localhost.com }gPA"}3  +Kwp_capabilitiesa:1:{s:13:"administrator";b:1;} 7 dismissed_wp_pointers 1show_welcome_panel1  'wp_user_level10   locale @@ -13586,12 +13586,12 @@ CREATE INDEX "wp_usermeta__user_id" ON "wp_usermeta" ("user_id") "link_notes" text NOT NULL COLLATE NOCASE, "link_rss" text NOT NULL DEFAULT '' COLLATE NOCASE)  - W 7;9 339 A WordPress Commenterwapuu@wordpress.examplehttps://wordpress.org/2023-10-06 08:08:002023-10-06 08:08:00Hi, this is a comment. + W 7;9 339 A WordPress Commenterwapuu@wordpress.examplehttps://wordpress.org/2023-10-07 08:07:522023-10-07 08:07:52Hi, this is a comment. To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard. Commenter avatars come from Gravatar.1comment  -3 12023-10-06 08:08:00 -3 2023-10-06 08:08:00 +3 12023-10-07 08:07:52 +3 2023-10-07 08:07:52  ; wapuu@wordpress.example  64d3U @@ -13620,7 +13620,7 @@ S  7 k - Y g6NZ.OX6|Q1V/ i>&^#5wp_postmetawp_postmeta__post_idKEY!]#!wp_postmetameta_valuelongtext#\#%wp_postmetameta_keyvarchar(255))[#3wp_postmetapost_idbigint(20) unsigned)Z#3wp_postmetameta_idbigint(20) unsigned%Y!5wp_optionswp_options__autoloadKEY+X!;wp_optionswp_options__option_nameUNIQUE!W!#wp_optionsautoloadvarchar(20)"V!%wp_optionsoption_valuelongtext%U!#%wp_optionsoption_namevarchar(191)*T!3wp_optionsoption_idbigint(20) unsigned%S9wp_linkswp_links__link_visibleKEY R%wp_linkslink_rssvarchar(255) Q!!wp_linkslink_notesmediumtext P%wp_linkslink_relvarchar(255) O%wp_linkslink_updateddatetimeN#wp_linkslink_ratingint(11))M!3wp_linkslink_ownerbigint(20) unsigned#L%#wp_linkslink_visiblevarchar(20)(K-%wp_linkslink_descriptionvarchar(255)"J##wp_linkslink_targetvarchar(25)"I!%wp_linkslink_imagevarchar(255)!H%wp_linkslink_namevarchar(255) G%wp_linkslink_urlvarchar(255)&F3wp_linkslink_idbigint(20) unsigned3E#Owp_commentswp_comments__comment_author_emailKEY-D#Cwp_commentswp_comments__comment_parentKEY/C#Gwp_commentswp_comments__comment_date_gmtKEY8B#Ywp_commentswp_comments__comment_approved_date_gmtKEY.A#Ewp_commentswp_comments__comment_post_IDKEY)@#3wp_commentsuser_idbigint(20) unsigned0?#)3wp_commentscomment_parentbigint(20) unsigned&>#%#wp_commentscomment_typevarchar(20)(=#'%wp_commentscomment_agentvarchar(255)*<#-#wp_commentscomment_approvedvarchar(20)#;#'wp_commentscomment_karmaint(11)":#+wp_commentscomment_contenttext'9#-wp_commentscomment_date_gmtdatetime#8#%wp_commentscomment_datedatetime,7#/%wp_commentscomment_author_IPvarchar(100)-6#1%wp_commentscomment_author_urlvarchar(200)/5#5%wp_commentscomment_author_emailvarchar(100)%4#)wp_commentscomment_authortinytext13#+3wp_commentscomment_post_IDbigint(20) unsigned,2#!3wp_commentscomment_IDbigint(20) unsigned-1)=wp_commentmetawp_commentmeta__meta_keyKEY/0)Awp_commentmetawp_commentmeta__comment_idKEY$/)!wp_commentmetameta_valuelongtext&.)%wp_commentmetameta_keyvarchar(255)/-)!3wp_commentmetacomment_idbigint(20) unsigned,,)3wp_commentmetameta_idbigint(20) unsignedC+7[wp_term_relationshipswp_term_relationships__term_taxonomy_idKEY**7!wp_term_relationshipsterm_orderint(11)<)7-3wp_term_relationshipsterm_taxonomy_idbigint(20) unsigned5(73wp_term_relationshipsobject_idbigint(20) unsigned1'-Awp_term_taxonomywp_term_taxonomy__taxonomyKEY<&-Qwp_term_taxonomywp_term_taxonomy__term_id_taxonomyUNIQUE#%-!wp_term_taxonomycountbigint(20)-$-3wp_term_taxonomyparentbigint(20) unsigned'#-#wp_term_taxonomydescriptionlongtext'"-#wp_term_taxonomytaxonomyvarchar(32).!-3wp_term_taxonomyterm_idbigint(20) unsigned7 --3wp_term_taxonomyterm_taxonomy_idbigint(20) unsigned)wp_termswp_terms__nameKEY)wp_termswp_terms__slugKEY !!wp_termsterm_groupbigint(10)%wp_termsslugvarchar(200)%wp_termsnamevarchar(200)&3wp_termsterm_idbigint(20) unsigned'#7wp_termmetawp_termmeta__meta_keyKEY&#5wp_termmetawp_termmeta__term_idKEY!#!wp_termmetameta_valuelongtext##%wp_termmetameta_keyvarchar(255))#3wp_termmetaterm_idbigint(20) unsigned)#3wp_termmetameta_idbigint(20) unsigned'#7wp_usermetawp_usermeta__meta_keyKEY&#5wp_usermetawp_usermeta__user_idKEY!#!wp_usermetameta_valuelongtext##%wp_usermetameta_keyvarchar(255))#3wp_usermetauser_idbigint(20) unsigned*#3wp_usermetaumeta_idbigint(20) unsigned# 5wp_userswp_users__user_emailKEY& ;wp_userswp_users__user_nicenameKEY' =wp_userswp_users__user_login_keyKEY$ -%%wp_usersdisplay_namevarchar(250) #wp_usersuser_statusint(11)+3%wp_usersuser_activation_keyvarchar(255)#+wp_usersuser_registereddatetime %wp_usersuser_urlvarchar(100)"!%wp_usersuser_emailvarchar(100)$'#wp_usersuser_nicenamevarchar(50)!%wp_usersuser_passvarchar(255)!!#wp_usersuser_loginvarchar(60)!3wp_usersIDbigint(20) unsigned  iF${T1 _ A " d > $z7wp_postswp_posts__post_authorKEY$y7wp_postswp_posts__post_parentKEY)xAwp_postswp_posts__type_status_dateKEY"w3wp_postswp_posts__post_nameKEY#v'!wp_postscomment_countbigint(20)&u)%wp_postspost_mime_typevarchar(100) t#wp_postspost_typevarchar(20)s!wp_postsmenu_orderint(11)r%wp_postsguidvarchar(255)*q#3wp_postspost_parentbigint(20) unsigned)p7wp_postspost_content_filteredlongtext%o/wp_postspost_modified_gmtdatetime!n'wp_postspost_modifieddatetimemwp_postspingedtextlwp_poststo_pingtext!k%wp_postspost_namevarchar(200)%j'%wp_postspost_passwordvarchar(255)"i##wp_postsping_statusvarchar(20)%h)#wp_postscomment_statusvarchar(20)"g##wp_postspost_statusvarchar(20)f%wp_postspost_excerpttexte!wp_postspost_titletext d%wp_postspost_contentlongtext!c'wp_postspost_date_gmtdatetimebwp_postspost_datedatetime*a#3wp_postspost_authorbigint(20) unsigned!`3wp_postsIDbigint(20) unsigned'_#7wp_postmetawp_postmeta__meta_keyKEY  8( 33u)  ) 33 M 2023-10-06 08:08:002023-10-06 08:08:00

Who we are

Suggested text: Our website address is: http://127.0.0.1:8000.

Comments

Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

Suggested text: If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download a5 33M#  # 33 M 2023-10-06 08:08:002023-10-06 08:08:00 +%%wp_usersdisplay_namevarchar(250) #wp_usersuser_statusint(11)+3%wp_usersuser_activation_keyvarchar(255)#+wp_usersuser_registereddatetime %wp_usersuser_urlvarchar(100)"!%wp_usersuser_emailvarchar(100)$'#wp_usersuser_nicenamevarchar(50)!%wp_usersuser_passvarchar(255)!!#wp_usersuser_loginvarchar(60)!3wp_usersIDbigint(20) unsigned  iF${T1 _ A " d > $z7wp_postswp_posts__post_authorKEY$y7wp_postswp_posts__post_parentKEY)xAwp_postswp_posts__type_status_dateKEY"w3wp_postswp_posts__post_nameKEY#v'!wp_postscomment_countbigint(20)&u)%wp_postspost_mime_typevarchar(100) t#wp_postspost_typevarchar(20)s!wp_postsmenu_orderint(11)r%wp_postsguidvarchar(255)*q#3wp_postspost_parentbigint(20) unsigned)p7wp_postspost_content_filteredlongtext%o/wp_postspost_modified_gmtdatetime!n'wp_postspost_modifieddatetimemwp_postspingedtextlwp_poststo_pingtext!k%wp_postspost_namevarchar(200)%j'%wp_postspost_passwordvarchar(255)"i##wp_postsping_statusvarchar(20)%h)#wp_postscomment_statusvarchar(20)"g##wp_postspost_statusvarchar(20)f%wp_postspost_excerpttexte!wp_postspost_titletext d%wp_postspost_contentlongtext!c'wp_postspost_date_gmtdatetimebwp_postspost_datedatetime*a#3wp_postspost_authorbigint(20) unsigned!`3wp_postsIDbigint(20) unsigned'_#7wp_postmetawp_postmeta__meta_keyKEY  8( 33u)  ) 33 M 2023-10-07 08:07:522023-10-07 08:07:52

Who we are

Suggested text: Our website address is: http://127.0.0.1:8000.

Comments

Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

Suggested text: If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download a5 33M#  # 33 M 2023-10-07 08:07:522023-10-07 08:07:52

This is an example page. It's different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:

@@ -13638,9 +13638,9 @@ k

As a new WordPress user, you should go to your dashboard to delete this page and create new pages for your content. Have fun!

-Sample Pagepublishclosedopensample-page2023-10-06 08:08:002023-10-06 08:08:00http://127.0.0.1:8000/?page_id=2page2 33%  # 33 A 2023-10-06 08:08:002023-10-06 08:08:00 +Sample Pagepublishclosedopensample-page2023-10-07 08:07:522023-10-07 08:07:52http://127.0.0.1:8000/?page_id=2page2 33%  # 33 A 2023-10-07 08:07:522023-10-07 08:07:52

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

-Hello world!publishopenopenhello-world2023-10-06 08:08:002023-10-06 08:08:00http://127.0.0.1:8000/?p=1post } 6 @9l,7indexwp_posts__post_authorwp_posts2CREATE INDEX "wp_posts__post_author" ON "wp_posts" ("post_author")l+7indexwp_posts__post_parentwp_posts1CREATE INDEX "wp_posts__post_parent" ON "wp_posts" ("post_parent")*A[indexwp_posts__type_status_datewp_posts0CREATE INDEX "wp_posts__type_status_date" ON "wp_posts" ("post_type", "post_status", "post_date", "ID")f)3 indexwp_posts__post_namewp_posts/CREATE INDEX "wp_posts__post_name" ON "wp_posts" ("post_name")(tablewp_postswp_posts-CREATE TABLE "wp_posts" ( +Hello world!publishopenopenhello-world2023-10-07 08:07:522023-10-07 08:07:52http://127.0.0.1:8000/?p=1post } 6 @9l,7indexwp_posts__post_authorwp_posts2CREATE INDEX "wp_posts__post_author" ON "wp_posts" ("post_author")l+7indexwp_posts__post_parentwp_posts1CREATE INDEX "wp_posts__post_parent" ON "wp_posts" ("post_parent")*A[indexwp_posts__type_status_datewp_posts0CREATE INDEX "wp_posts__type_status_date" ON "wp_posts" ("post_type", "post_status", "post_date", "ID")f)3 indexwp_posts__post_namewp_posts/CREATE INDEX "wp_posts__post_name" ON "wp_posts" ("post_name")(tablewp_postswp_posts-CREATE TABLE "wp_posts" ( "ID" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "post_author" integer NOT NULL DEFAULT '0', "post_date" text NOT NULL DEFAULT '0000-00-00 00:00:00' COLLATE NOCASE, @@ -13673,10 +13673,10 @@ k "option_value" text NOT NULL COLLATE NOCASE, "autoload" text NOT NULL DEFAULT 'yes' COLLATE NOCASE)o!9indexwp_links__link_visiblewp_links$CREATE INDEX "wp_links__link_visible" ON "wp_links" ("link_visible") )privacy-policy#sample-page# hello-world -$3pagedraft2023-10-06 08:08:00&3pagepublish2023-10-06 08:08:00$3 postpublish2023-10-06 08:08:00 +$3pagedraft2023-10-07 08:07:52&3pagepublish2023-10-07 08:07:52$3 postpublish2023-10-07 08:07:52     #UDx[3Y. q W < " tYA 2 tQ, xcM-}dJ0X5kJ/nDuO!aaI3ipermalink_structure/index.php/%year%/%monthnum%/%day%/%postname%/yesa1(UKfinished_splitting_shared_terms1yesT5link_manager_enabled0yesS3default_post_format0yesR'page_on_front0yesQ)page_for_posts0yesP+ timezone_stringyesO/uninstall_pluginsa:0:{}noN!widget_rssa:0:{}yesM#widget_texta:0:{}yesL/widget_categoriesa:0:{}yesK%sticky_postsa:0:{}yesJ'comment_orderascyes#I7default_comments_pagenewestyesH/comments_per_page50yesG'page_comments0yesF7thread_comments_depth5yesE+thread_comments1yes!D;close_comments_days_old14yes%CEclose_comments_for_old_posts0yesB3 image_default_alignyesA1 image_default_sizeyes#@;image_default_link_typenoneyes?%large_size_h1024yes>%large_size_w1024yes=)avatar_defaultmysteryyes<'medium_size_h300yes;'medium_size_w300yes:)thumbnail_crop1yes9-thumbnail_size_h150yes8-thumbnail_size_w150yes7+ upload_url_pathyes6'avatar_ratingGyes5%show_avatars1yes4 tag_baseyes3'show_on_frontpostsyes27default_link_category2yes1#blog_public1yes0# upload_pathyes&/Guploads_use_yearmonth_folders1yes.!db_version53496yes-%!default_rolesubscriberyes,'use_trackback0yes+html_typetext/htmlyes*5comment_registration0yes#)!/stylesheettwentytwentythreeyes!(/templatetwentytwentythreeyes'+ recently_editedno&9default_email_category1yes%!gmt_offset0yes$/comment_max_links2yes,#!Aping_siteshttp://rpc.pingomatic.com/yes"' category_baseyes + moderation_keysno%blog_charsetUTF-8yeshack_file0yesR!)active_pluginsa:1:{i:0;s:41:"wordpress-importer/wordpress-importer.php";}yes' rewrite_rulesyes3 permalink_structureyes/moderation_notify1yes1comment_moderation0yes-?%links_updated_date_formatF j, Y g:i ayes#time_formatg:i ayes#date_formatF j, Yyes)posts_per_page10yes7default_pingback_flag1yes3default_ping_statusopenyes"9default_comment_statusopenyes-default_category1yes+mailserver_port110yes+mailserver_passpasswordyes)-/mailserver_loginlogin@example.comyes&)-mailserver_urlmail.example.comyes +rss_use_excerpt0yes 'posts_per_rss10yes +comments_notify1yes -1require_name_email1yes #use_smilies1yes+use_balanceTags0yes'start_of_week1yes&#3admin_emailadmin@localhost.comyes1users_can_register0yes+ blogdescriptionyes$5blognameMy WordPress Websiteyes!7homehttp://127.0.0.1:8000yes$7siteurlhttp://127.0.0.1:8000yes vX3 xS,c1initial_db_version53496yes*bEwp_force_deactivated_pluginsa:0:{}yes%a9auto_update_core_majorenabledyes%`9auto_update_core_minorenabledyes#_5auto_update_core_devenabledyes,^Kauto_plugin_theme_update_emailsa:0:{}no$]Ccomment_previously_approved1yes\+ disallowed_keysno&[5!admin_email_lifespan1712131680yes%ZEshow_comments_cookies_opt_in1yes#YAwp_page_for_privacy_policy3yesX3medium_large_size_h0yesW3medium_large_size_w768yesVsite_icon0yesSd'wp_user_rolesa:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:61:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;s:11:"update_core";b:1;s:10:"list_users";b:1;s:12:"remove_users";b:1;s:13:"promote_users";b:1;s:18:"edit_theme_options";b:1;s:13:"delete_themes";b:1;s:6:"export";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}yesnd extract any location data from images on the website.

Cookies

Suggested text: If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Suggested text: Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

Suggested text: If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

Suggested text: If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Suggested text: Visitor comments may be checked through an automated spam detection service.

Privacy Policydraftclosedopenprivacy-policy2023-10-06 08:08:002023-10-06 08:08:00http://127.0.0.1:8000/?page_id=3page  w c n  l 5K<T #iucrona:3:{i:1696579692;a:6:{s:32:"recovery_mode_clean_expired_keys";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}s:18:"wp_https_detection";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:34:"wp_privacy_delete_old_export_files";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1696666092;a:1:{s:30:"wp_site_health_scheduled_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}yes8y1Iwidget_custom_htmla:1:{s:12:"_multiwidget";i:1;}yes5x+Iwidget_nav_menua:1:{s:12:"_multiwidget";i:1;}yes6w-Iwidget_tag_clouda:1:{s:12:"_multiwidget";i:1;}yesz7O_transient_doing_cron1696579692.4287290573120117187500yesf!user_count1noe!fresh_site1yes_h-sidebars_widgetsa:4:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:3:{i:0;s:7:"block-2";i:1;s:7:"block-3";i:2;s:7:"block-4";}s:9:"sidebar-2";a:2:{i:0;s:7:"block-5";i:1;s:7:"block-6";}s:13:"array_version";i:3;}yesg%widget_blocka:6:{i:2;a:1:{s:7:"content";s:19:"";}i:3;a:1:{s:7:"content";s:154:"

Recent Posts

";}i:4;a:1:{s:7:"content";s:227:"

Recent Comments

";}i:5;a:1:{s:7:"content";s:146:"

Archives

";}i:6;a:1:{s:7:"content";s:150:"

Categories

";}s:12:"_multiwidget";i:1;}yes7DENY FROM ALL

Cookies

Suggested text: If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Suggested text: Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

Suggested text: If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

Suggested text: If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Suggested text: Visitor comments may be checked through an automated spam detection service.

Privacy Policydraftclosedopenprivacy-policy2023-10-07 08:07:522023-10-07 08:07:52http://127.0.0.1:8000/?page_id=3page  w c n  l 5K<T #icrona:4:{i:1696666084;a:1:{s:32:"recovery_mode_clean_expired_keys";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}}i:1696666085;a:5:{s:18:"wp_https_detection";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:34:"wp_privacy_delete_old_export_files";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1696752484;a:1:{s:30:"wp_site_health_scheduled_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}yes8y1Iwidget_custom_htmla:1:{s:12:"_multiwidget";i:1;}yes5x+Iwidget_nav_menua:1:{s:12:"_multiwidget";i:1;}yes6w-Iwidget_tag_clouda:1:{s:12:"_multiwidget";i:1;}yeshLldc,+%c_n#@I$9yKcxXR,I1-p#W/Ujy?dy!1y,;}QO~agaenoQs nonce_keyYLa0*up9V,K@zQ+Ts5YR$D>q M,8ArPs~nAJ^ifHCaOjA0Dc2R-E:FRLWA{7+0eCno3r'Iwidget_searcha:1:{s:12:"_multiwidget";i:1;}yes1q#Iwidget_metaa:1:{s:12:"_multiwidget";i:1;}yes8p1Iwidget_media_videoa:1:{s:12:"_multiwidget";i:1;}yes:o5Iwidget_media_gallerya:1:{s:12:"_multiwidget";i:1;}yes8n1Iwidget_media_imagea:1:{s:12:"_multiwidget";i:1;}yes8m1Iwidget_media_audioa:1:{s:12:"_multiwidget";i:1;}yes5l+Iwidget_archivesa:1:{s:12:"_multiwidget";i:1;}yes5k+Iwidget_calendara:1:{s:12:"_multiwidget";i:1;}yes2j%Iwidget_pagesa:1:{s:12:"_multiwidget";i:1;}yesL>z7O_transient_doing_cron1696666085.0437190532684326171875yesf!user_count1noe!fresh_site1yes_h-sidebars_widgetsa:4:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:3:{i:0;s:7:"block-2";i:1;s:7:"block-3";i:2;s:7:"block-4";}s:9:"sidebar-2";a:2:{i:0;s:7:"block-5";i:1;s:7:"block-6";}s:13:"array_version";i:3;}yesg%widget_blocka:6:{i:2;a:1:{s:7:"content";s:19:"";}i:3;a:1:{s:7:"content";s:154:"

Recent Posts

";}i:4;a:1:{s:7:"content";s:227:"

Recent Comments

";}i:5;a:1:{s:7:"content";s:146:"

Archives

";}i:6;a:1:{s:7:"content";s:150:"

Categories

";}s:12:"_multiwidget";i:1;}yes7DENY FROM ALLexport(); exit; } } class Export_WXZ { public $filelist = array(); public $filename; public function __construct( $args = array() ) { global $wpdb, $post; $defaults = array( 'content' => 'all', 'author' => false, 'category' => false, 'start_date' => false, 'end_date' => false, 'status' => false, ); $this->args = wp_parse_args( $args, $defaults ); $sitename = sanitize_key( get_bloginfo( 'name' ) ); if ( ! empty( $sitename ) ) { $sitename .= '.'; } $date = gmdate( 'Y-m-d' ); $wp_filename = $sitename . 'WordPress.' . $date . '.wxz'; $this->filename = apply_filters( 'export_wp_filename', $wp_filename, $sitename, $date ); } private function json_encode( $json ) { return json_encode( $json, JSON_PRETTY_PRINT ); } private function add_file( $filename, $content, $write_to_dir = false ) { require_once ABSPATH . '/wp-admin/includes/class-pclzip.php'; $this->filelist[] = array( PCLZIP_ATT_FILE_NAME => $filename, PCLZIP_ATT_FILE_CONTENT => $content, ); if ( $write_to_dir ) { $dir = dirname( $filename ); $write_to_dir = rtrim( $write_to_dir, '/' ) . '/'; if ( ! file_exists( $write_to_dir . $dir ) ) { mkdir( $write_to_dir . $dir, 0777, true ); } file_put_contents( $write_to_dir . $filename, $content ); } return $filename; } private function output_wxz() { if ( empty( $this->filelist ) ) { return new WP_Error( 'no-files', 'No files to write.' ); } require_once ABSPATH . '/wp-admin/includes/class-pclzip.php'; $zip = tempnam( '/tmp/', $this->filename . '.zip' ); $archive = new PclZip( $zip ); $archive->create( array( array( PCLZIP_ATT_FILE_NAME => 'mimetype', PCLZIP_ATT_FILE_CONTENT => 'application/vnd.wordpress.export+zip', ), ), PCLZIP_OPT_NO_COMPRESSION ); $archive->add( $this->filelist ); readfile( $zip ); unlink( $zip ); } public function export() { global $wpdb, $post; if ( 'all' !== $this->args['content'] && post_type_exists( $this->args['content'] ) ) { $ptype = get_post_type_object( $this->args['content'] ); if ( ! $ptype->can_export ) { $this->args['content'] = 'post'; } $where = $wpdb->prepare( "{$wpdb->posts}.post_type = %s", $this->args['content'] ); } else { $post_types = get_post_types( array( 'can_export' => true ) ); $esses = array_fill( 0, count( $post_types ), '%s' ); $where = $wpdb->prepare( "{$wpdb->posts}.post_type IN (" . implode( ',', $esses ) . ')', $post_types ); } if ( $this->args['status'] && ( 'post' === $this->args['content'] || 'page' === $this->args['content'] ) ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_status = %s", $this->args['status'] ); } else { $where .= " AND {$wpdb->posts}.post_status != 'auto-draft'"; } $join = ''; if ( $this->args['category'] && 'post' === $this->args['content'] ) { $term = term_exists( $this->args['category'], 'category' ); if ( $term ) { $join = "INNER JOIN {$wpdb->term_relationships} ON ({$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id)"; $where .= $wpdb->prepare( " AND {$wpdb->term_relationships}.term_taxonomy_id = %d", $term['term_taxonomy_id'] ); } } if ( in_array( $this->args['content'], array( 'post', 'page', 'attachment' ), true ) ) { if ( $this->args['author'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_author = %d", $this->args['author'] ); } if ( $this->args['start_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date >= %s", gmdate( 'Y-m-d', strtotime( $this->args['start_date'] ) ) ); } if ( $this->args['end_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date < %s", gmdate( 'Y-m-d', strtotime( '+1 month', strtotime( $this->args['end_date'] ) ) ) ); } } $post_ids = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} $join WHERE $where" ); $cats = array(); $tags = array(); $terms = array(); if ( isset( $term ) && $term ) { $cat = get_term( $term['term_id'], 'category' ); $cats = array( $cat->term_id => $cat ); unset( $term, $cat ); } elseif ( 'all' === $this->args['content'] ) { $categories = (array) get_categories( array( 'get' => 'all' ) ); $tags = (array) get_tags( array( 'get' => 'all' ) ); $custom_taxonomies = get_taxonomies( array( '_builtin' => false ) ); $custom_terms = (array) get_terms( array( 'taxonomy' => $custom_taxonomies, 'get' => 'all', ) ); while ( $cat = array_shift( $categories ) ) { if ( 0 == $cat->parent || isset( $cats[ $cat->parent ] ) ) { $cats[ $cat->term_id ] = $cat; } else { $categories[] = $cat; } } while ( $t = array_shift( $custom_terms ) ) { if ( 0 == $t->parent || isset( $terms[ $t->parent ] ) ) { $terms[ $t->term_id ] = $t; } else { $custom_terms[] = $t; } } unset( $categories, $custom_taxonomies, $custom_terms ); } $this->add_file( 'site/config.json', $this->json_encode( $this->get_blog_details() ) ); $this->export_authors(); $this->export_nav_menu_terms(); foreach ( $cats as $c ) { $this->add_file( 'terms/' . intval( $c->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $c->term_id ), 'taxonomy' => $c->taxonomy, 'name' => $c->name, 'slug' => $c->slug, 'parent' => $c->parent ? $cats[ $c->parent ]->slug : '', 'description' => $c->description, 'termmeta' => $this->termmeta( $c ), ) ) ); } foreach ( $tags as $t ) { $this->add_file( 'terms/' . intval( $t->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $t->term_id ), 'taxonomy' => $t->taxonomy, 'name' => $t->name, 'slug' => $t->slug, 'description' => $t->description, 'termmeta' => $this->termmeta( $t ), ) ) ); } foreach ( $terms as $t ) { $this->add_file( 'terms/' . intval( $t->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $t->term_id ), 'taxonomy' => $t->taxonomy, 'name' => $t->name, 'slug' => $t->slug, 'parent' => $t->parent ? $terms[ $t->parent ]->slug : '', 'description' => $t->description, 'termmeta' => $this->termmeta( $t ), ) ) ); } if ( 'all' === $this->args['content'] ) { $this->export_nav_menu_terms(); } if ( $post_ids ) { global $wp_query; $wp_query->in_the_loop = true; while ( $next_posts = array_splice( $post_ids, 0, 20 ) ) { $where = 'WHERE ID IN (' . implode( ',', $next_posts ) . ')'; $posts = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} $where" ); foreach ( $posts as $post ) { setup_postdata( $post ); $title = apply_filters( 'the_title_export', $post->post_title ); $content = apply_filters( 'the_content_export', $post->post_content ); $excerpt = apply_filters( 'the_excerpt_export', $post->post_excerpt ); $is_sticky = is_sticky( $post->ID ) ? 1 : 0; $data = array( 'version' => 1, 'title' => $title, 'author' => get_the_author_meta( 'login' ), 'status' => $post->post_status, 'content' => $content, 'excerpt' => $excerpt, 'type' => $post->post_type, 'parent' => $post->post_parent, 'password' => $post->post_password, 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'menu_order' => intval( $post->menu_order ), 'is_sticky' => $is_sticky, 'date_utc' => $post->post_date_gmt, 'date_modified_utc' => $post->post_modified_gmt, 'postmeta' => $this->postmeta( $post->ID ), ); if ( 'attachment' === $post->post_type ) { $data['attachment_url'] = wp_get_attachment_url( $post->ID ); } $this->add_file( 'posts/' . intval( $post->ID ) . '.json', $this->json_encode( $data ) ); } } } header( 'Content-Description: File Transfer' ); header( 'Content-Disposition: attachment; filename=' . $this->filename ); header( 'Content-Type: application/zip; charset=' . get_option( 'blog_charset' ), true ); $this->output_wxz(); } private function get_blog_details() { if ( is_multisite() ) { $base_site_url = network_home_url(); } else { $base_site_url = get_bloginfo_rss( 'url' ); } return array( 'version' => 1, 'title' => get_bloginfo_rss( 'name' ), 'link' => get_bloginfo_rss( 'url' ), 'description' => get_bloginfo_rss( 'description' ), 'date' => gmdate( 'D, d M Y H:i:s +0000' ), 'language' => get_bloginfo_rss( 'language' ), 'base_site_url' => $base_site_url, 'base_blog_url' => get_bloginfo_rss( 'url' ), ); } private function export_authors( array $post_ids = null ) { global $wpdb; if ( ! empty( $post_ids ) ) { $post_ids = array_map( 'absint', $post_ids ); $and = 'AND ID IN ( ' . implode( ', ', $post_ids ) . ')'; } else { $and = ''; } $authors = array(); $results = $wpdb->get_results( "SELECT DISTINCT post_author FROM $wpdb->posts WHERE post_status != 'auto-draft' $and" ); foreach ( (array) $results as $result ) { $authors[] = get_userdata( $result->post_author ); } $authors = array_filter( $authors ); foreach ( $authors as $author ) { $this->add_file( 'users/' . intval( $author->ID ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $author->ID ), 'username' => $author->user_login, 'display_name' => $author->display_name, 'email' => $author->user_email, ) ) ); } } private function export_nav_menu_terms() { $nav_menus = wp_get_nav_menus(); if ( empty( $nav_menus ) || ! is_array( $nav_menus ) ) { return; } foreach ( $nav_menus as $menu ) { $this->add_file( 'terms/' . intval( $menu->term_id ) . '.json', $this->json_encode( array( 'taxonomy' => 'nav_menu', 'name' => $menu->name, 'slug' => $menu->slug, ) ) ); } } function export_post_taxonomy() { $post = get_post(); $taxonomies = get_object_taxonomies( $post->post_type ); if ( empty( $taxonomies ) ) { return; } $terms = wp_get_object_terms( $post->ID, $taxonomies ); foreach ( (array) $terms as $term ) { $this->add_file( 'categories/' . intval( $term->term_id ) . '.json', $this->json_encode( array( 'taxonomy' => $term->taxonomy, 'name' => $term->name, 'slug' => $term->slug, ) ) ); } } private function termmeta( $term ) { global $wpdb; $termmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->termmeta WHERE term_id = %d", $term->term_id ) ); $metadata = array(); foreach ( $termmeta as $meta ) { if ( ! apply_filters( 'wxr_export_skip_termmeta', false, $meta->meta_key, $meta ) ) { $metadata[ $meta->meta_key ] = $meta->meta_value; } } return $metadata; } private function postmeta( $id ) { global $wpdb; $postmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->postmeta WHERE post_id = %d", $id ) ); $metadata = array(); foreach ( $postmeta as $meta ) { if ( apply_filters( 'wxr_export_skip_postmeta', false, $meta->meta_key, $meta ) ) { continue; } $metadata[ $meta->meta_key ] = $meta->meta_value; } return $metadata; } } #'wp_commentscomment_agent= #-wp_commentscomment_approved<#'wp_commentscomment_karma;#+wp_commentscomment_content: #-wp_commentscomment_date_gmt9#%wp_commentscomment_date8!#/wp_commentscomment_author_IP7"#1wp_commentscomment_author_url6$#5wp_commentscomment_author_email5#)wp_commentscomment_author4#+wp_commentscomment_post_ID3#!wp_commentscomment_ID2+)=wp_commentmetawp_commentmeta__meta_key1-)Awp_commentmetawp_commentmeta__comment_id0)!wp_commentmetameta_value/)wp_commentmetameta_key.)!wp_commentmetacomment_id-)wp_commentmetameta_id,A7[wp_term_relationshipswp_term_relationships__term_taxonomy_id+$7!wp_term_relationshipsterm_order**7-wp_term_relationshipsterm_taxonomy_id)#7wp_term_relationshipsobject_id(/-Awp_term_taxonomywp_term_taxonomy__taxonomy'7-Qwp_term_taxonomywp_term_taxonomy__term_id_taxonomy&-wp_term_taxonomycount%-wp_term_taxonomyparent$ -#wp_term_taxonomydescription#-wp_term_taxonomytaxonomy"-wp_term_taxonomyterm_id!%--wp_term_taxonomyterm_taxonomy_id )wp_termswp_terms__name)wp_termswp_terms__slug!wp_termsterm_groupwp_termsslugwp_termsnamewp_termsterm_id%#7wp_termmetawp_termmeta__meta_key$#5wp_termmetawp_termmeta__term_id#!wp_termmetameta_value#wp_termmetameta_key#wp_termmetaterm_id#wp_termmetameta_id%#7wp_usermetawp_usermeta__meta_key$#5wp_usermetawp_usermeta__user_id#!wp_usermetameta_value#wp_usermetameta_key#wp_usermetauser_id#wp_usermetaumeta_id!5wp_userswp_users__user_email $;wp_userswp_users__user_nicename %=wp_userswp_users__user_login_key %wp_usersdisplay_name -#wp_usersuser_status 3wp_usersuser_activation_key+wp_usersuser_registeredwp_usersuser_url!wp_usersuser_email'wp_usersuser_nicenamewp_usersuser_pass!wp_usersuser_login wp_usersID w Q373 admin$P$BehsBZR2mO9Y19j8jGpDPZLi5HoMia1adminadmin@localhost.comhttp://127.0.0.1:80002023-10-06 08:09:12admin tt#wp_postmeta wp_posts# wp_comments - wp_term_taxonomy  wp_terms#wp_usermeta  wp_users!wp_optionsz +#wp_usersuser_status 3wp_usersuser_activation_key+wp_usersuser_registeredwp_usersuser_url!wp_usersuser_email'wp_usersuser_nicenamewp_usersuser_pass!wp_usersuser_login wp_usersID w Q373 admin$P$BST1zEGSmtWjd3iRhh9ViUQmqJOn3D1adminadmin@localhost.comhttp://127.0.0.1:80002023-10-07 08:09:08admin tt#wp_postmeta wp_posts# wp_comments - wp_term_taxonomy  wp_terms#wp_usermeta  wp_users!wp_optionsz  admin  admin 3 admin@localhost.com }gPA"}3  +Kwp_capabilitiesa:1:{s:13:"administrator";b:1;} 7 dismissed_wp_pointers 1show_welcome_panel1  'wp_user_level10   locale @@ -13789,12 +13789,12 @@ CREATE INDEX "wp_usermeta__user_id" ON "wp_usermeta" ("user_id") "link_notes" text NOT NULL COLLATE NOCASE, "link_rss" text NOT NULL DEFAULT '' COLLATE NOCASE)  - W 7;9 339 A WordPress Commenterwapuu@wordpress.examplehttps://wordpress.org/2023-10-06 08:09:122023-10-06 08:09:12Hi, this is a comment. + W 7;9 339 A WordPress Commenterwapuu@wordpress.examplehttps://wordpress.org/2023-10-07 08:09:082023-10-07 08:09:08Hi, this is a comment. To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard. Commenter avatars come from Gravatar.1comment  -3 12023-10-06 08:09:12 -3 2023-10-06 08:09:12 +3 12023-10-07 08:09:08 +3 2023-10-07 08:09:08  ; wapuu@wordpress.example  64d3U @@ -13823,7 +13823,7 @@ S  7 k - Y g6NZ.OX6|Q1V/ i>&^#5wp_postmetawp_postmeta__post_idKEY!]#!wp_postmetameta_valuelongtext#\#%wp_postmetameta_keyvarchar(255))[#3wp_postmetapost_idbigint(20) unsigned)Z#3wp_postmetameta_idbigint(20) unsigned%Y!5wp_optionswp_options__autoloadKEY+X!;wp_optionswp_options__option_nameUNIQUE!W!#wp_optionsautoloadvarchar(20)"V!%wp_optionsoption_valuelongtext%U!#%wp_optionsoption_namevarchar(191)*T!3wp_optionsoption_idbigint(20) unsigned%S9wp_linkswp_links__link_visibleKEY R%wp_linkslink_rssvarchar(255) Q!!wp_linkslink_notesmediumtext P%wp_linkslink_relvarchar(255) O%wp_linkslink_updateddatetimeN#wp_linkslink_ratingint(11))M!3wp_linkslink_ownerbigint(20) unsigned#L%#wp_linkslink_visiblevarchar(20)(K-%wp_linkslink_descriptionvarchar(255)"J##wp_linkslink_targetvarchar(25)"I!%wp_linkslink_imagevarchar(255)!H%wp_linkslink_namevarchar(255) G%wp_linkslink_urlvarchar(255)&F3wp_linkslink_idbigint(20) unsigned3E#Owp_commentswp_comments__comment_author_emailKEY-D#Cwp_commentswp_comments__comment_parentKEY/C#Gwp_commentswp_comments__comment_date_gmtKEY8B#Ywp_commentswp_comments__comment_approved_date_gmtKEY.A#Ewp_commentswp_comments__comment_post_IDKEY)@#3wp_commentsuser_idbigint(20) unsigned0?#)3wp_commentscomment_parentbigint(20) unsigned&>#%#wp_commentscomment_typevarchar(20)(=#'%wp_commentscomment_agentvarchar(255)*<#-#wp_commentscomment_approvedvarchar(20)#;#'wp_commentscomment_karmaint(11)":#+wp_commentscomment_contenttext'9#-wp_commentscomment_date_gmtdatetime#8#%wp_commentscomment_datedatetime,7#/%wp_commentscomment_author_IPvarchar(100)-6#1%wp_commentscomment_author_urlvarchar(200)/5#5%wp_commentscomment_author_emailvarchar(100)%4#)wp_commentscomment_authortinytext13#+3wp_commentscomment_post_IDbigint(20) unsigned,2#!3wp_commentscomment_IDbigint(20) unsigned-1)=wp_commentmetawp_commentmeta__meta_keyKEY/0)Awp_commentmetawp_commentmeta__comment_idKEY$/)!wp_commentmetameta_valuelongtext&.)%wp_commentmetameta_keyvarchar(255)/-)!3wp_commentmetacomment_idbigint(20) unsigned,,)3wp_commentmetameta_idbigint(20) unsignedC+7[wp_term_relationshipswp_term_relationships__term_taxonomy_idKEY**7!wp_term_relationshipsterm_orderint(11)<)7-3wp_term_relationshipsterm_taxonomy_idbigint(20) unsigned5(73wp_term_relationshipsobject_idbigint(20) unsigned1'-Awp_term_taxonomywp_term_taxonomy__taxonomyKEY<&-Qwp_term_taxonomywp_term_taxonomy__term_id_taxonomyUNIQUE#%-!wp_term_taxonomycountbigint(20)-$-3wp_term_taxonomyparentbigint(20) unsigned'#-#wp_term_taxonomydescriptionlongtext'"-#wp_term_taxonomytaxonomyvarchar(32).!-3wp_term_taxonomyterm_idbigint(20) unsigned7 --3wp_term_taxonomyterm_taxonomy_idbigint(20) unsigned)wp_termswp_terms__nameKEY)wp_termswp_terms__slugKEY !!wp_termsterm_groupbigint(10)%wp_termsslugvarchar(200)%wp_termsnamevarchar(200)&3wp_termsterm_idbigint(20) unsigned'#7wp_termmetawp_termmeta__meta_keyKEY&#5wp_termmetawp_termmeta__term_idKEY!#!wp_termmetameta_valuelongtext##%wp_termmetameta_keyvarchar(255))#3wp_termmetaterm_idbigint(20) unsigned)#3wp_termmetameta_idbigint(20) unsigned'#7wp_usermetawp_usermeta__meta_keyKEY&#5wp_usermetawp_usermeta__user_idKEY!#!wp_usermetameta_valuelongtext##%wp_usermetameta_keyvarchar(255))#3wp_usermetauser_idbigint(20) unsigned*#3wp_usermetaumeta_idbigint(20) unsigned# 5wp_userswp_users__user_emailKEY& ;wp_userswp_users__user_nicenameKEY' =wp_userswp_users__user_login_keyKEY$ -%%wp_usersdisplay_namevarchar(250) #wp_usersuser_statusint(11)+3%wp_usersuser_activation_keyvarchar(255)#+wp_usersuser_registereddatetime %wp_usersuser_urlvarchar(100)"!%wp_usersuser_emailvarchar(100)$'#wp_usersuser_nicenamevarchar(50)!%wp_usersuser_passvarchar(255)!!#wp_usersuser_loginvarchar(60)!3wp_usersIDbigint(20) unsigned  iF${T1 _ A " d > $z7wp_postswp_posts__post_authorKEY$y7wp_postswp_posts__post_parentKEY)xAwp_postswp_posts__type_status_dateKEY"w3wp_postswp_posts__post_nameKEY#v'!wp_postscomment_countbigint(20)&u)%wp_postspost_mime_typevarchar(100) t#wp_postspost_typevarchar(20)s!wp_postsmenu_orderint(11)r%wp_postsguidvarchar(255)*q#3wp_postspost_parentbigint(20) unsigned)p7wp_postspost_content_filteredlongtext%o/wp_postspost_modified_gmtdatetime!n'wp_postspost_modifieddatetimemwp_postspingedtextlwp_poststo_pingtext!k%wp_postspost_namevarchar(200)%j'%wp_postspost_passwordvarchar(255)"i##wp_postsping_statusvarchar(20)%h)#wp_postscomment_statusvarchar(20)"g##wp_postspost_statusvarchar(20)f%wp_postspost_excerpttexte!wp_postspost_titletext d%wp_postspost_contentlongtext!c'wp_postspost_date_gmtdatetimebwp_postspost_datedatetime*a#3wp_postspost_authorbigint(20) unsigned!`3wp_postsIDbigint(20) unsigned'_#7wp_postmetawp_postmeta__meta_keyKEY  8( 33u)  ) 33 M 2023-10-06 08:09:122023-10-06 08:09:12

Who we are

Suggested text: Our website address is: http://127.0.0.1:8000.

Comments

Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

Suggested text: If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download a5 33M#  # 33 M 2023-10-06 08:09:122023-10-06 08:09:12 +%%wp_usersdisplay_namevarchar(250) #wp_usersuser_statusint(11)+3%wp_usersuser_activation_keyvarchar(255)#+wp_usersuser_registereddatetime %wp_usersuser_urlvarchar(100)"!%wp_usersuser_emailvarchar(100)$'#wp_usersuser_nicenamevarchar(50)!%wp_usersuser_passvarchar(255)!!#wp_usersuser_loginvarchar(60)!3wp_usersIDbigint(20) unsigned  iF${T1 _ A " d > $z7wp_postswp_posts__post_authorKEY$y7wp_postswp_posts__post_parentKEY)xAwp_postswp_posts__type_status_dateKEY"w3wp_postswp_posts__post_nameKEY#v'!wp_postscomment_countbigint(20)&u)%wp_postspost_mime_typevarchar(100) t#wp_postspost_typevarchar(20)s!wp_postsmenu_orderint(11)r%wp_postsguidvarchar(255)*q#3wp_postspost_parentbigint(20) unsigned)p7wp_postspost_content_filteredlongtext%o/wp_postspost_modified_gmtdatetime!n'wp_postspost_modifieddatetimemwp_postspingedtextlwp_poststo_pingtext!k%wp_postspost_namevarchar(200)%j'%wp_postspost_passwordvarchar(255)"i##wp_postsping_statusvarchar(20)%h)#wp_postscomment_statusvarchar(20)"g##wp_postspost_statusvarchar(20)f%wp_postspost_excerpttexte!wp_postspost_titletext d%wp_postspost_contentlongtext!c'wp_postspost_date_gmtdatetimebwp_postspost_datedatetime*a#3wp_postspost_authorbigint(20) unsigned!`3wp_postsIDbigint(20) unsigned'_#7wp_postmetawp_postmeta__meta_keyKEY  8( 33u)  ) 33 M 2023-10-07 08:09:082023-10-07 08:09:08

Who we are

Suggested text: Our website address is: http://127.0.0.1:8000.

Comments

Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

Suggested text: If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download a5 33M#  # 33 M 2023-10-07 08:09:082023-10-07 08:09:08

This is an example page. It's different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:

@@ -13841,9 +13841,9 @@ k

As a new WordPress user, you should go to your dashboard to delete this page and create new pages for your content. Have fun!

-Sample Pagepublishclosedopensample-page2023-10-06 08:09:122023-10-06 08:09:12http://127.0.0.1:8000/?page_id=2page2 33%  # 33 A 2023-10-06 08:09:122023-10-06 08:09:12 +Sample Pagepublishclosedopensample-page2023-10-07 08:09:082023-10-07 08:09:08http://127.0.0.1:8000/?page_id=2page2 33%  # 33 A 2023-10-07 08:09:082023-10-07 08:09:08

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

-Hello world!publishopenopenhello-world2023-10-06 08:09:122023-10-06 08:09:12http://127.0.0.1:8000/?p=1post } 6 @9l,7indexwp_posts__post_authorwp_posts2CREATE INDEX "wp_posts__post_author" ON "wp_posts" ("post_author")l+7indexwp_posts__post_parentwp_posts1CREATE INDEX "wp_posts__post_parent" ON "wp_posts" ("post_parent")*A[indexwp_posts__type_status_datewp_posts0CREATE INDEX "wp_posts__type_status_date" ON "wp_posts" ("post_type", "post_status", "post_date", "ID")f)3 indexwp_posts__post_namewp_posts/CREATE INDEX "wp_posts__post_name" ON "wp_posts" ("post_name")(tablewp_postswp_posts-CREATE TABLE "wp_posts" ( +Hello world!publishopenopenhello-world2023-10-07 08:09:082023-10-07 08:09:08http://127.0.0.1:8000/?p=1post } 6 @9l,7indexwp_posts__post_authorwp_posts2CREATE INDEX "wp_posts__post_author" ON "wp_posts" ("post_author")l+7indexwp_posts__post_parentwp_posts1CREATE INDEX "wp_posts__post_parent" ON "wp_posts" ("post_parent")*A[indexwp_posts__type_status_datewp_posts0CREATE INDEX "wp_posts__type_status_date" ON "wp_posts" ("post_type", "post_status", "post_date", "ID")f)3 indexwp_posts__post_namewp_posts/CREATE INDEX "wp_posts__post_name" ON "wp_posts" ("post_name")(tablewp_postswp_posts-CREATE TABLE "wp_posts" ( "ID" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "post_author" integer NOT NULL DEFAULT '0', "post_date" text NOT NULL DEFAULT '0000-00-00 00:00:00' COLLATE NOCASE, @@ -13876,10 +13876,10 @@ k "option_value" text NOT NULL COLLATE NOCASE, "autoload" text NOT NULL DEFAULT 'yes' COLLATE NOCASE)o!9indexwp_links__link_visiblewp_links$CREATE INDEX "wp_links__link_visible" ON "wp_links" ("link_visible") )privacy-policy#sample-page# hello-world -$3pagedraft2023-10-06 08:09:12&3pagepublish2023-10-06 08:09:12$3 postpublish2023-10-06 08:09:12 +$3pagedraft2023-10-07 08:09:08&3pagepublish2023-10-07 08:09:08$3 postpublish2023-10-07 08:09:08     #UDx[3Y. q W < " tYA 2 tQ, xcM-}dJ0X5kJ/nDuO!aaI3ipermalink_structure/index.php/%year%/%monthnum%/%day%/%postname%/yesa1(UKfinished_splitting_shared_terms1yesT5link_manager_enabled0yesS3default_post_format0yesR'page_on_front0yesQ)page_for_posts0yesP+ timezone_stringyesO/uninstall_pluginsa:0:{}noN!widget_rssa:0:{}yesM#widget_texta:0:{}yesL/widget_categoriesa:0:{}yesK%sticky_postsa:0:{}yesJ'comment_orderascyes#I7default_comments_pagenewestyesH/comments_per_page50yesG'page_comments0yesF7thread_comments_depth5yesE+thread_comments1yes!D;close_comments_days_old14yes%CEclose_comments_for_old_posts0yesB3 image_default_alignyesA1 image_default_sizeyes#@;image_default_link_typenoneyes?%large_size_h1024yes>%large_size_w1024yes=)avatar_defaultmysteryyes<'medium_size_h300yes;'medium_size_w300yes:)thumbnail_crop1yes9-thumbnail_size_h150yes8-thumbnail_size_w150yes7+ upload_url_pathyes6'avatar_ratingGyes5%show_avatars1yes4 tag_baseyes3'show_on_frontpostsyes27default_link_category2yes1#blog_public1yes0# upload_pathyes&/Guploads_use_yearmonth_folders1yes.!db_version53496yes-%!default_rolesubscriberyes,'use_trackback0yes+html_typetext/htmlyes*5comment_registration0yes#)!/stylesheettwentytwentythreeyes!(/templatetwentytwentythreeyes'+ recently_editedno&9default_email_category1yes%!gmt_offset0yes$/comment_max_links2yes,#!Aping_siteshttp://rpc.pingomatic.com/yes"' category_baseyes + moderation_keysno%blog_charsetUTF-8yeshack_file0yesR!)active_pluginsa:1:{i:0;s:41:"wordpress-importer/wordpress-importer.php";}yes' rewrite_rulesyes3 permalink_structureyes/moderation_notify1yes1comment_moderation0yes-?%links_updated_date_formatF j, Y g:i ayes#time_formatg:i ayes#date_formatF j, Yyes)posts_per_page10yes7default_pingback_flag1yes3default_ping_statusopenyes"9default_comment_statusopenyes-default_category1yes+mailserver_port110yes+mailserver_passpasswordyes)-/mailserver_loginlogin@example.comyes&)-mailserver_urlmail.example.comyes +rss_use_excerpt0yes 'posts_per_rss10yes +comments_notify1yes -1require_name_email1yes #use_smilies1yes+use_balanceTags0yes'start_of_week1yes&#3admin_emailadmin@localhost.comyes1users_can_register0yes+ blogdescriptionyes$5blognameMy WordPress Websiteyes!7homehttp://127.0.0.1:8000yes$7siteurlhttp://127.0.0.1:8000yes vX3 xS,c1initial_db_version53496yes*bEwp_force_deactivated_pluginsa:0:{}yes%a9auto_update_core_majorenabledyes%`9auto_update_core_minorenabledyes#_5auto_update_core_devenabledyes,^Kauto_plugin_theme_update_emailsa:0:{}no$]Ccomment_previously_approved1yes\+ disallowed_keysno&[5!admin_email_lifespan1712131752yes%ZEshow_comments_cookies_opt_in1yes#YAwp_page_for_privacy_policy3yesX3medium_large_size_h0yesW3medium_large_size_w768yesVsite_icon0yesSd'wp_user_rolesa:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:61:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;s:11:"update_core";b:1;s:10:"list_users";b:1;s:12:"remove_users";b:1;s:13:"promote_users";b:1;s:18:"edit_theme_options";b:1;s:13:"delete_themes";b:1;s:6:"export";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}yesnd extract any location data from images on the website.

Cookies

Suggested text: If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Suggested text: Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

Suggested text: If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

Suggested text: If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Suggested text: Visitor comments may be checked through an automated spam detection service.

Privacy Policydraftclosedopenprivacy-policy2023-10-06 08:09:122023-10-06 08:09:12http://127.0.0.1:8000/?page_id=3page  w c n  l 5K<T #iucrona:3:{i:1696579764;a:6:{s:32:"recovery_mode_clean_expired_keys";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}s:18:"wp_https_detection";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:34:"wp_privacy_delete_old_export_files";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1696666164;a:1:{s:30:"wp_site_health_scheduled_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}yes8y1Iwidget_custom_htmla:1:{s:12:"_multiwidget";i:1;}yes5x+Iwidget_nav_menua:1:{s:12:"_multiwidget";i:1;}yes6w-Iwidget_tag_clouda:1:{s:12:"_multiwidget";i:1;}yesN!%6v+R0jZ[I,4__W/RI/@&Bv[/1<>1-dnoQs nonce_keyMY#-0_~jeOMa6B#TY0O}7x$;1@_%s(0GW*(WzgiMUN~JbIw[~mKy2*EX)Q|ws{%Ano3r'Iwidget_searcha:1:{s:12:"_multiwidget";i:1;}yes1q#Iwidget_metaa:1:{s:12:"_multiwidget";i:1;}yes8p1Iwidget_media_videoa:1:{s:12:"_multiwidget";i:1;}yes:o5Iwidget_media_gallerya:1:{s:12:"_multiwidget";i:1;}yes8n1Iwidget_media_imagea:1:{s:12:"_multiwidget";i:1;}yes8m1Iwidget_media_audioa:1:{s:12:"_multiwidget";i:1;}yes5l+Iwidget_archivesa:1:{s:12:"_multiwidget";i:1;}yes5k+Iwidget_calendara:1:{s:12:"_multiwidget";i:1;}yes2j%Iwidget_pagesa:1:{s:12:"_multiwidget";i:1;}yesL>z7O_transient_doing_cron1696579764.7905030250549316406250yesf!user_count1noe!fresh_site1yes_h-sidebars_widgetsa:4:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:3:{i:0;s:7:"block-2";i:1;s:7:"block-3";i:2;s:7:"block-4";}s:9:"sidebar-2";a:2:{i:0;s:7:"block-5";i:1;s:7:"block-6";}s:13:"array_version";i:3;}yesg%widget_blocka:6:{i:2;a:1:{s:7:"content";s:19:"";}i:3;a:1:{s:7:"content";s:154:"

Recent Posts

";}i:4;a:1:{s:7:"content";s:227:"

Recent Comments

";}i:5;a:1:{s:7:"content";s:146:"

Archives

";}i:6;a:1:{s:7:"content";s:150:"

Categories

";}s:12:"_multiwidget";i:1;}yes7DENY FROM ALL

Cookies

Suggested text: If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Suggested text: Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

Suggested text: If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

Suggested text: If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Suggested text: Visitor comments may be checked through an automated spam detection service.

Privacy Policydraftclosedopenprivacy-policy2023-10-07 08:09:082023-10-07 08:09:08http://127.0.0.1:8000/?page_id=3page  w c n  l 5K<T #iucrona:3:{i:1696666161;a:6:{s:32:"recovery_mode_clean_expired_keys";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}s:18:"wp_https_detection";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:34:"wp_privacy_delete_old_export_files";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1696752561;a:1:{s:30:"wp_site_health_scheduled_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}yes8y1Iwidget_custom_htmla:1:{s:12:"_multiwidget";i:1;}yes5x+Iwidget_nav_menua:1:{s:12:"_multiwidget";i:1;}yes6w-Iwidget_tag_clouda:1:{s:12:"_multiwidget";i:1;}yes1Be)=0w35Ey!p] h{J{)Yxo7;q,JHz|t+B=G~kj9Z%P{KfepJzPno3r'Iwidget_searcha:1:{s:12:"_multiwidget";i:1;}yes1q#Iwidget_metaa:1:{s:12:"_multiwidget";i:1;}yes8p1Iwidget_media_videoa:1:{s:12:"_multiwidget";i:1;}yes:o5Iwidget_media_gallerya:1:{s:12:"_multiwidget";i:1;}yes8n1Iwidget_media_imagea:1:{s:12:"_multiwidget";i:1;}yes8m1Iwidget_media_audioa:1:{s:12:"_multiwidget";i:1;}yes5l+Iwidget_archivesa:1:{s:12:"_multiwidget";i:1;}yes5k+Iwidget_calendara:1:{s:12:"_multiwidget";i:1;}yes2j%Iwidget_pagesa:1:{s:12:"_multiwidget";i:1;}yesL>z7O_transient_doing_cron1696666161.1834840774536132812500yesf!user_count1noe!fresh_site1yes_h-sidebars_widgetsa:4:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:3:{i:0;s:7:"block-2";i:1;s:7:"block-3";i:2;s:7:"block-4";}s:9:"sidebar-2";a:2:{i:0;s:7:"block-5";i:1;s:7:"block-6";}s:13:"array_version";i:3;}yesg%widget_blocka:6:{i:2;a:1:{s:7:"content";s:19:"";}i:3;a:1:{s:7:"content";s:154:"

Recent Posts

";}i:4;a:1:{s:7:"content";s:227:"

Recent Comments

";}i:5;a:1:{s:7:"content";s:146:"

Archives

";}i:6;a:1:{s:7:"content";s:150:"

Categories

";}s:12:"_multiwidget";i:1;}yes7DENY FROM ALLexport(); exit; } } class Export_WXZ { public $filelist = array(); public $filename; public function __construct( $args = array() ) { global $wpdb, $post; $defaults = array( 'content' => 'all', 'author' => false, 'category' => false, 'start_date' => false, 'end_date' => false, 'status' => false, ); $this->args = wp_parse_args( $args, $defaults ); $sitename = sanitize_key( get_bloginfo( 'name' ) ); if ( ! empty( $sitename ) ) { $sitename .= '.'; } $date = gmdate( 'Y-m-d' ); $wp_filename = $sitename . 'WordPress.' . $date . '.wxz'; $this->filename = apply_filters( 'export_wp_filename', $wp_filename, $sitename, $date ); } private function json_encode( $json ) { return json_encode( $json, JSON_PRETTY_PRINT ); } private function add_file( $filename, $content, $write_to_dir = false ) { require_once ABSPATH . '/wp-admin/includes/class-pclzip.php'; $this->filelist[] = array( PCLZIP_ATT_FILE_NAME => $filename, PCLZIP_ATT_FILE_CONTENT => $content, ); if ( $write_to_dir ) { $dir = dirname( $filename ); $write_to_dir = rtrim( $write_to_dir, '/' ) . '/'; if ( ! file_exists( $write_to_dir . $dir ) ) { mkdir( $write_to_dir . $dir, 0777, true ); } file_put_contents( $write_to_dir . $filename, $content ); } return $filename; } private function output_wxz() { if ( empty( $this->filelist ) ) { return new WP_Error( 'no-files', 'No files to write.' ); } require_once ABSPATH . '/wp-admin/includes/class-pclzip.php'; $zip = tempnam( '/tmp/', $this->filename . '.zip' ); $archive = new PclZip( $zip ); $archive->create( array( array( PCLZIP_ATT_FILE_NAME => 'mimetype', PCLZIP_ATT_FILE_CONTENT => 'application/vnd.wordpress.export+zip', ), ), PCLZIP_OPT_NO_COMPRESSION ); $archive->add( $this->filelist ); readfile( $zip ); unlink( $zip ); } public function export() { global $wpdb, $post; if ( 'all' !== $this->args['content'] && post_type_exists( $this->args['content'] ) ) { $ptype = get_post_type_object( $this->args['content'] ); if ( ! $ptype->can_export ) { $this->args['content'] = 'post'; } $where = $wpdb->prepare( "{$wpdb->posts}.post_type = %s", $this->args['content'] ); } else { $post_types = get_post_types( array( 'can_export' => true ) ); $esses = array_fill( 0, count( $post_types ), '%s' ); $where = $wpdb->prepare( "{$wpdb->posts}.post_type IN (" . implode( ',', $esses ) . ')', $post_types ); } if ( $this->args['status'] && ( 'post' === $this->args['content'] || 'page' === $this->args['content'] ) ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_status = %s", $this->args['status'] ); } else { $where .= " AND {$wpdb->posts}.post_status != 'auto-draft'"; } $join = ''; if ( $this->args['category'] && 'post' === $this->args['content'] ) { $term = term_exists( $this->args['category'], 'category' ); if ( $term ) { $join = "INNER JOIN {$wpdb->term_relationships} ON ({$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id)"; $where .= $wpdb->prepare( " AND {$wpdb->term_relationships}.term_taxonomy_id = %d", $term['term_taxonomy_id'] ); } } if ( in_array( $this->args['content'], array( 'post', 'page', 'attachment' ), true ) ) { if ( $this->args['author'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_author = %d", $this->args['author'] ); } if ( $this->args['start_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date >= %s", gmdate( 'Y-m-d', strtotime( $this->args['start_date'] ) ) ); } if ( $this->args['end_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date < %s", gmdate( 'Y-m-d', strtotime( '+1 month', strtotime( $this->args['end_date'] ) ) ) ); } } $post_ids = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} $join WHERE $where" ); $cats = array(); $tags = array(); $terms = array(); if ( isset( $term ) && $term ) { $cat = get_term( $term['term_id'], 'category' ); $cats = array( $cat->term_id => $cat ); unset( $term, $cat ); } elseif ( 'all' === $this->args['content'] ) { $categories = (array) get_categories( array( 'get' => 'all' ) ); $tags = (array) get_tags( array( 'get' => 'all' ) ); $custom_taxonomies = get_taxonomies( array( '_builtin' => false ) ); $custom_terms = (array) get_terms( array( 'taxonomy' => $custom_taxonomies, 'get' => 'all', ) ); while ( $cat = array_shift( $categories ) ) { if ( 0 == $cat->parent || isset( $cats[ $cat->parent ] ) ) { $cats[ $cat->term_id ] = $cat; } else { $categories[] = $cat; } } while ( $t = array_shift( $custom_terms ) ) { if ( 0 == $t->parent || isset( $terms[ $t->parent ] ) ) { $terms[ $t->term_id ] = $t; } else { $custom_terms[] = $t; } } unset( $categories, $custom_taxonomies, $custom_terms ); } $this->add_file( 'site/config.json', $this->json_encode( $this->get_blog_details() ) ); $this->export_authors(); $this->export_nav_menu_terms(); foreach ( $cats as $c ) { $this->add_file( 'terms/' . intval( $c->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $c->term_id ), 'taxonomy' => $c->taxonomy, 'name' => $c->name, 'slug' => $c->slug, 'parent' => $c->parent ? $cats[ $c->parent ]->slug : '', 'description' => $c->description, 'termmeta' => $this->termmeta( $c ), ) ) ); } foreach ( $tags as $t ) { $this->add_file( 'terms/' . intval( $t->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $t->term_id ), 'taxonomy' => $t->taxonomy, 'name' => $t->name, 'slug' => $t->slug, 'description' => $t->description, 'termmeta' => $this->termmeta( $t ), ) ) ); } foreach ( $terms as $t ) { $this->add_file( 'terms/' . intval( $t->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $t->term_id ), 'taxonomy' => $t->taxonomy, 'name' => $t->name, 'slug' => $t->slug, 'parent' => $t->parent ? $terms[ $t->parent ]->slug : '', 'description' => $t->description, 'termmeta' => $this->termmeta( $t ), ) ) ); } if ( 'all' === $this->args['content'] ) { $this->export_nav_menu_terms(); } if ( $post_ids ) { global $wp_query; $wp_query->in_the_loop = true; while ( $next_posts = array_splice( $post_ids, 0, 20 ) ) { $where = 'WHERE ID IN (' . implode( ',', $next_posts ) . ')'; $posts = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} $where" ); foreach ( $posts as $post ) { setup_postdata( $post ); $title = apply_filters( 'the_title_export', $post->post_title ); $content = apply_filters( 'the_content_export', $post->post_content ); $excerpt = apply_filters( 'the_excerpt_export', $post->post_excerpt ); $is_sticky = is_sticky( $post->ID ) ? 1 : 0; $data = array( 'version' => 1, 'title' => $title, 'author' => get_the_author_meta( 'login' ), 'status' => $post->post_status, 'content' => $content, 'excerpt' => $excerpt, 'type' => $post->post_type, 'parent' => $post->post_parent, 'password' => $post->post_password, 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'menu_order' => intval( $post->menu_order ), 'is_sticky' => $is_sticky, 'date_utc' => $post->post_date_gmt, 'date_modified_utc' => $post->post_modified_gmt, 'postmeta' => $this->postmeta( $post->ID ), ); if ( 'attachment' === $post->post_type ) { $data['attachment_url'] = wp_get_attachment_url( $post->ID ); } $this->add_file( 'posts/' . intval( $post->ID ) . '.json', $this->json_encode( $data ) ); } } } header( 'Content-Description: File Transfer' ); header( 'Content-Disposition: attachment; filename=' . $this->filename ); header( 'Content-Type: application/zip; charset=' . get_option( 'blog_charset' ), true ); $this->output_wxz(); } private function get_blog_details() { if ( is_multisite() ) { $base_site_url = network_home_url(); } else { $base_site_url = get_bloginfo_rss( 'url' ); } return array( 'version' => 1, 'title' => get_bloginfo_rss( 'name' ), 'link' => get_bloginfo_rss( 'url' ), 'description' => get_bloginfo_rss( 'description' ), 'date' => gmdate( 'D, d M Y H:i:s +0000' ), 'language' => get_bloginfo_rss( 'language' ), 'base_site_url' => $base_site_url, 'base_blog_url' => get_bloginfo_rss( 'url' ), ); } private function export_authors( array $post_ids = null ) { global $wpdb; if ( ! empty( $post_ids ) ) { $post_ids = array_map( 'absint', $post_ids ); $and = 'AND ID IN ( ' . implode( ', ', $post_ids ) . ')'; } else { $and = ''; } $authors = array(); $results = $wpdb->get_results( "SELECT DISTINCT post_author FROM $wpdb->posts WHERE post_status != 'auto-draft' $and" ); foreach ( (array) $results as $result ) { $authors[] = get_userdata( $result->post_author ); } $authors = array_filter( $authors ); foreach ( $authors as $author ) { $this->add_file( 'users/' . intval( $author->ID ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $author->ID ), 'username' => $author->user_login, 'display_name' => $author->display_name, 'email' => $author->user_email, ) ) ); } } private function export_nav_menu_terms() { $nav_menus = wp_get_nav_menus(); if ( empty( $nav_menus ) || ! is_array( $nav_menus ) ) { return; } foreach ( $nav_menus as $menu ) { $this->add_file( 'terms/' . intval( $menu->term_id ) . '.json', $this->json_encode( array( 'taxonomy' => 'nav_menu', 'name' => $menu->name, 'slug' => $menu->slug, ) ) ); } } function export_post_taxonomy() { $post = get_post(); $taxonomies = get_object_taxonomies( $post->post_type ); if ( empty( $taxonomies ) ) { return; } $terms = wp_get_object_terms( $post->ID, $taxonomies ); foreach ( (array) $terms as $term ) { $this->add_file( 'categories/' . intval( $term->term_id ) . '.json', $this->json_encode( array( 'taxonomy' => $term->taxonomy, 'name' => $term->name, 'slug' => $term->slug, ) ) ); } } private function termmeta( $term ) { global $wpdb; $termmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->termmeta WHERE term_id = %d", $term->term_id ) ); $metadata = array(); foreach ( $termmeta as $meta ) { if ( ! apply_filters( 'wxr_export_skip_termmeta', false, $meta->meta_key, $meta ) ) { $metadata[ $meta->meta_key ] = $meta->meta_value; } } return $metadata; } private function postmeta( $id ) { global $wpdb; $postmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->postmeta WHERE post_id = %d", $id ) ); $metadata = array(); foreach ( $postmeta as $meta ) { if ( apply_filters( 'wxr_export_skip_postmeta', false, $meta->meta_key, $meta ) ) { continue; } $metadata[ $meta->meta_key ] = $meta->meta_value; } return $metadata; } } #'wp_commentscomment_agent= #-wp_commentscomment_approved<#'wp_commentscomment_karma;#+wp_commentscomment_content: #-wp_commentscomment_date_gmt9#%wp_commentscomment_date8!#/wp_commentscomment_author_IP7"#1wp_commentscomment_author_url6$#5wp_commentscomment_author_email5#)wp_commentscomment_author4#+wp_commentscomment_post_ID3#!wp_commentscomment_ID2+)=wp_commentmetawp_commentmeta__meta_key1-)Awp_commentmetawp_commentmeta__comment_id0)!wp_commentmetameta_value/)wp_commentmetameta_key.)!wp_commentmetacomment_id-)wp_commentmetameta_id,A7[wp_term_relationshipswp_term_relationships__term_taxonomy_id+$7!wp_term_relationshipsterm_order**7-wp_term_relationshipsterm_taxonomy_id)#7wp_term_relationshipsobject_id(/-Awp_term_taxonomywp_term_taxonomy__taxonomy'7-Qwp_term_taxonomywp_term_taxonomy__term_id_taxonomy&-wp_term_taxonomycount%-wp_term_taxonomyparent$ -#wp_term_taxonomydescription#-wp_term_taxonomytaxonomy"-wp_term_taxonomyterm_id!%--wp_term_taxonomyterm_taxonomy_id )wp_termswp_terms__name)wp_termswp_terms__slug!wp_termsterm_groupwp_termsslugwp_termsnamewp_termsterm_id%#7wp_termmetawp_termmeta__meta_key$#5wp_termmetawp_termmeta__term_id#!wp_termmetameta_value#wp_termmetameta_key#wp_termmetaterm_id#wp_termmetameta_id%#7wp_usermetawp_usermeta__meta_key$#5wp_usermetawp_usermeta__user_id#!wp_usermetameta_value#wp_usermetameta_key#wp_usermetauser_id#wp_usermetaumeta_id!5wp_userswp_users__user_email $;wp_userswp_users__user_nicename %=wp_userswp_users__user_login_key %wp_usersdisplay_name -#wp_usersuser_status 3wp_usersuser_activation_key+wp_usersuser_registeredwp_usersuser_url!wp_usersuser_email'wp_usersuser_nicenamewp_usersuser_pass!wp_usersuser_login wp_usersID w Q373 admin$P$BR6pVTnjTiJQq6Spc9itXHWk1GSkiR1adminadmin@localhost.comhttp://127.0.0.1:80002023-10-06 08:10:26admin tt#wp_postmeta wp_posts# wp_comments - wp_term_taxonomy  wp_terms#wp_usermeta  wp_users!wp_options{ +#wp_usersuser_status 3wp_usersuser_activation_key+wp_usersuser_registeredwp_usersuser_url!wp_usersuser_email'wp_usersuser_nicenamewp_usersuser_pass!wp_usersuser_login wp_usersID w Q373 admin$P$BwWaWaLDOcJ3R5MIV3.ZXUNXqjlHOo1adminadmin@localhost.comhttp://127.0.0.1:80002023-10-07 08:10:25admin tt#wp_postmeta wp_posts# wp_comments - wp_term_taxonomy  wp_terms#wp_usermeta  wp_users!wp_options{  admin  admin 3 admin@localhost.com }gPA"}3  +Kwp_capabilitiesa:1:{s:13:"administrator";b:1;} 7 dismissed_wp_pointers 1show_welcome_panel1  'wp_user_level10   locale @@ -14064,12 +14064,12 @@ CREATE INDEX "wp_usermeta__user_id" ON "wp_usermeta" ("user_id") "link_notes" text NOT NULL COLLATE NOCASE, "link_rss" text NOT NULL DEFAULT '' COLLATE NOCASE)  - W 7;9 339 A WordPress Commenterwapuu@wordpress.examplehttps://wordpress.org/2023-10-06 08:10:262023-10-06 08:10:26Hi, this is a comment. + W 7;9 339 A WordPress Commenterwapuu@wordpress.examplehttps://wordpress.org/2023-10-07 08:10:252023-10-07 08:10:25Hi, this is a comment. To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard. Commenter avatars come from Gravatar.1comment  -3 12023-10-06 08:10:26 -3 2023-10-06 08:10:26 +3 12023-10-07 08:10:25 +3 2023-10-07 08:10:25  ; wapuu@wordpress.example  96y4d3U @@ -14098,7 +14098,7 @@ S  7 k - Y g6NZ.OX6|Q1V/ i>&^#5wp_postmetawp_postmeta__post_idKEY!]#!wp_postmetameta_valuelongtext#\#%wp_postmetameta_keyvarchar(255))[#3wp_postmetapost_idbigint(20) unsigned)Z#3wp_postmetameta_idbigint(20) unsigned%Y!5wp_optionswp_options__autoloadKEY+X!;wp_optionswp_options__option_nameUNIQUE!W!#wp_optionsautoloadvarchar(20)"V!%wp_optionsoption_valuelongtext%U!#%wp_optionsoption_namevarchar(191)*T!3wp_optionsoption_idbigint(20) unsigned%S9wp_linkswp_links__link_visibleKEY R%wp_linkslink_rssvarchar(255) Q!!wp_linkslink_notesmediumtext P%wp_linkslink_relvarchar(255) O%wp_linkslink_updateddatetimeN#wp_linkslink_ratingint(11))M!3wp_linkslink_ownerbigint(20) unsigned#L%#wp_linkslink_visiblevarchar(20)(K-%wp_linkslink_descriptionvarchar(255)"J##wp_linkslink_targetvarchar(25)"I!%wp_linkslink_imagevarchar(255)!H%wp_linkslink_namevarchar(255) G%wp_linkslink_urlvarchar(255)&F3wp_linkslink_idbigint(20) unsigned3E#Owp_commentswp_comments__comment_author_emailKEY-D#Cwp_commentswp_comments__comment_parentKEY/C#Gwp_commentswp_comments__comment_date_gmtKEY8B#Ywp_commentswp_comments__comment_approved_date_gmtKEY.A#Ewp_commentswp_comments__comment_post_IDKEY)@#3wp_commentsuser_idbigint(20) unsigned0?#)3wp_commentscomment_parentbigint(20) unsigned&>#%#wp_commentscomment_typevarchar(20)(=#'%wp_commentscomment_agentvarchar(255)*<#-#wp_commentscomment_approvedvarchar(20)#;#'wp_commentscomment_karmaint(11)":#+wp_commentscomment_contenttext'9#-wp_commentscomment_date_gmtdatetime#8#%wp_commentscomment_datedatetime,7#/%wp_commentscomment_author_IPvarchar(100)-6#1%wp_commentscomment_author_urlvarchar(200)/5#5%wp_commentscomment_author_emailvarchar(100)%4#)wp_commentscomment_authortinytext13#+3wp_commentscomment_post_IDbigint(20) unsigned,2#!3wp_commentscomment_IDbigint(20) unsigned-1)=wp_commentmetawp_commentmeta__meta_keyKEY/0)Awp_commentmetawp_commentmeta__comment_idKEY$/)!wp_commentmetameta_valuelongtext&.)%wp_commentmetameta_keyvarchar(255)/-)!3wp_commentmetacomment_idbigint(20) unsigned,,)3wp_commentmetameta_idbigint(20) unsignedC+7[wp_term_relationshipswp_term_relationships__term_taxonomy_idKEY**7!wp_term_relationshipsterm_orderint(11)<)7-3wp_term_relationshipsterm_taxonomy_idbigint(20) unsigned5(73wp_term_relationshipsobject_idbigint(20) unsigned1'-Awp_term_taxonomywp_term_taxonomy__taxonomyKEY<&-Qwp_term_taxonomywp_term_taxonomy__term_id_taxonomyUNIQUE#%-!wp_term_taxonomycountbigint(20)-$-3wp_term_taxonomyparentbigint(20) unsigned'#-#wp_term_taxonomydescriptionlongtext'"-#wp_term_taxonomytaxonomyvarchar(32).!-3wp_term_taxonomyterm_idbigint(20) unsigned7 --3wp_term_taxonomyterm_taxonomy_idbigint(20) unsigned)wp_termswp_terms__nameKEY)wp_termswp_terms__slugKEY !!wp_termsterm_groupbigint(10)%wp_termsslugvarchar(200)%wp_termsnamevarchar(200)&3wp_termsterm_idbigint(20) unsigned'#7wp_termmetawp_termmeta__meta_keyKEY&#5wp_termmetawp_termmeta__term_idKEY!#!wp_termmetameta_valuelongtext##%wp_termmetameta_keyvarchar(255))#3wp_termmetaterm_idbigint(20) unsigned)#3wp_termmetameta_idbigint(20) unsigned'#7wp_usermetawp_usermeta__meta_keyKEY&#5wp_usermetawp_usermeta__user_idKEY!#!wp_usermetameta_valuelongtext##%wp_usermetameta_keyvarchar(255))#3wp_usermetauser_idbigint(20) unsigned*#3wp_usermetaumeta_idbigint(20) unsigned# 5wp_userswp_users__user_emailKEY& ;wp_userswp_users__user_nicenameKEY' =wp_userswp_users__user_login_keyKEY$ -%%wp_usersdisplay_namevarchar(250) #wp_usersuser_statusint(11)+3%wp_usersuser_activation_keyvarchar(255)#+wp_usersuser_registereddatetime %wp_usersuser_urlvarchar(100)"!%wp_usersuser_emailvarchar(100)$'#wp_usersuser_nicenamevarchar(50)!%wp_usersuser_passvarchar(255)!!#wp_usersuser_loginvarchar(60)!3wp_usersIDbigint(20) unsigned  iF${T1 _ A " d > $z7wp_postswp_posts__post_authorKEY$y7wp_postswp_posts__post_parentKEY)xAwp_postswp_posts__type_status_dateKEY"w3wp_postswp_posts__post_nameKEY#v'!wp_postscomment_countbigint(20)&u)%wp_postspost_mime_typevarchar(100) t#wp_postspost_typevarchar(20)s!wp_postsmenu_orderint(11)r%wp_postsguidvarchar(255)*q#3wp_postspost_parentbigint(20) unsigned)p7wp_postspost_content_filteredlongtext%o/wp_postspost_modified_gmtdatetime!n'wp_postspost_modifieddatetimemwp_postspingedtextlwp_poststo_pingtext!k%wp_postspost_namevarchar(200)%j'%wp_postspost_passwordvarchar(255)"i##wp_postsping_statusvarchar(20)%h)#wp_postscomment_statusvarchar(20)"g##wp_postspost_statusvarchar(20)f%wp_postspost_excerpttexte!wp_postspost_titletext d%wp_postspost_contentlongtext!c'wp_postspost_date_gmtdatetimebwp_postspost_datedatetime*a#3wp_postspost_authorbigint(20) unsigned!`3wp_postsIDbigint(20) unsigned'_#7wp_postmetawp_postmeta__meta_keyKEY  8( 33u)  ) 33 M 2023-10-06 08:10:262023-10-06 08:10:26

Who we are

Suggested text: Our website address is: http://127.0.0.1:8000.

Comments

Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

Suggested text: If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download a5 33M#  # 33 M 2023-10-06 08:10:262023-10-06 08:10:26 +%%wp_usersdisplay_namevarchar(250) #wp_usersuser_statusint(11)+3%wp_usersuser_activation_keyvarchar(255)#+wp_usersuser_registereddatetime %wp_usersuser_urlvarchar(100)"!%wp_usersuser_emailvarchar(100)$'#wp_usersuser_nicenamevarchar(50)!%wp_usersuser_passvarchar(255)!!#wp_usersuser_loginvarchar(60)!3wp_usersIDbigint(20) unsigned  iF${T1 _ A " d > $z7wp_postswp_posts__post_authorKEY$y7wp_postswp_posts__post_parentKEY)xAwp_postswp_posts__type_status_dateKEY"w3wp_postswp_posts__post_nameKEY#v'!wp_postscomment_countbigint(20)&u)%wp_postspost_mime_typevarchar(100) t#wp_postspost_typevarchar(20)s!wp_postsmenu_orderint(11)r%wp_postsguidvarchar(255)*q#3wp_postspost_parentbigint(20) unsigned)p7wp_postspost_content_filteredlongtext%o/wp_postspost_modified_gmtdatetime!n'wp_postspost_modifieddatetimemwp_postspingedtextlwp_poststo_pingtext!k%wp_postspost_namevarchar(200)%j'%wp_postspost_passwordvarchar(255)"i##wp_postsping_statusvarchar(20)%h)#wp_postscomment_statusvarchar(20)"g##wp_postspost_statusvarchar(20)f%wp_postspost_excerpttexte!wp_postspost_titletext d%wp_postspost_contentlongtext!c'wp_postspost_date_gmtdatetimebwp_postspost_datedatetime*a#3wp_postspost_authorbigint(20) unsigned!`3wp_postsIDbigint(20) unsigned'_#7wp_postmetawp_postmeta__meta_keyKEY  8( 33u)  ) 33 M 2023-10-07 08:10:252023-10-07 08:10:25

Who we are

Suggested text: Our website address is: http://127.0.0.1:8000.

Comments

Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

Suggested text: If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download a5 33M#  # 33 M 2023-10-07 08:10:252023-10-07 08:10:25

This is an example page. It's different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:

@@ -14116,9 +14116,9 @@ k

As a new WordPress user, you should go to your dashboard to delete this page and create new pages for your content. Have fun!

-Sample Pagepublishclosedopensample-page2023-10-06 08:10:262023-10-06 08:10:26http://127.0.0.1:8000/?page_id=2page2 33%  # 33 A 2023-10-06 08:10:262023-10-06 08:10:26 +Sample Pagepublishclosedopensample-page2023-10-07 08:10:252023-10-07 08:10:25http://127.0.0.1:8000/?page_id=2page2 33%  # 33 A 2023-10-07 08:10:252023-10-07 08:10:25

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

-Hello world!publishopenopenhello-world2023-10-06 08:10:262023-10-06 08:10:26http://127.0.0.1:8000/?p=1post } 6 @9l,7indexwp_posts__post_authorwp_posts2CREATE INDEX "wp_posts__post_author" ON "wp_posts" ("post_author")l+7indexwp_posts__post_parentwp_posts1CREATE INDEX "wp_posts__post_parent" ON "wp_posts" ("post_parent")*A[indexwp_posts__type_status_datewp_posts0CREATE INDEX "wp_posts__type_status_date" ON "wp_posts" ("post_type", "post_status", "post_date", "ID")f)3 indexwp_posts__post_namewp_posts/CREATE INDEX "wp_posts__post_name" ON "wp_posts" ("post_name")(tablewp_postswp_posts-CREATE TABLE "wp_posts" ( +Hello world!publishopenopenhello-world2023-10-07 08:10:252023-10-07 08:10:25http://127.0.0.1:8000/?p=1post } 6 @9l,7indexwp_posts__post_authorwp_posts2CREATE INDEX "wp_posts__post_author" ON "wp_posts" ("post_author")l+7indexwp_posts__post_parentwp_posts1CREATE INDEX "wp_posts__post_parent" ON "wp_posts" ("post_parent")*A[indexwp_posts__type_status_datewp_posts0CREATE INDEX "wp_posts__type_status_date" ON "wp_posts" ("post_type", "post_status", "post_date", "ID")f)3 indexwp_posts__post_namewp_posts/CREATE INDEX "wp_posts__post_name" ON "wp_posts" ("post_name")(tablewp_postswp_posts-CREATE TABLE "wp_posts" ( "ID" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "post_author" integer NOT NULL DEFAULT '0', "post_date" text NOT NULL DEFAULT '0000-00-00 00:00:00' COLLATE NOCASE, @@ -14151,15 +14151,15 @@ k "option_value" text NOT NULL COLLATE NOCASE, "autoload" text NOT NULL DEFAULT 'yes' COLLATE NOCASE)o!9indexwp_links__link_visiblewp_links$CREATE INDEX "wp_links__link_visible" ON "wp_links" ("link_visible") )privacy-policy#sample-page# hello-world -$3pagedraft2023-10-06 08:10:26&3pagepublish2023-10-06 08:10:26$3 postpublish2023-10-06 08:10:26 +$3pagedraft2023-10-07 08:10:25&3pagepublish2023-10-07 08:10:25$3 postpublish2023-10-07 08:10:25     #UDx[3Y. q W < " tYA 2 tQ, xcM-}dJ0X5kJ/nDuO!aaI3ipermalink_structure/index.php/%year%/%monthnum%/%day%/%postname%/yesa1(UKfinished_splitting_shared_terms1yesT5link_manager_enabled0yesS3default_post_format0yesR'page_on_front0yesQ)page_for_posts0yesP+ timezone_stringyesO/uninstall_pluginsa:0:{}noN!widget_rssa:0:{}yesM#widget_texta:0:{}yesL/widget_categoriesa:0:{}yesK%sticky_postsa:0:{}yesJ'comment_orderascyes#I7default_comments_pagenewestyesH/comments_per_page50yesG'page_comments0yesF7thread_comments_depth5yesE+thread_comments1yes!D;close_comments_days_old14yes%CEclose_comments_for_old_posts0yesB3 image_default_alignyesA1 image_default_sizeyes#@;image_default_link_typenoneyes?%large_size_h1024yes>%large_size_w1024yes=)avatar_defaultmysteryyes<'medium_size_h300yes;'medium_size_w300yes:)thumbnail_crop1yes9-thumbnail_size_h150yes8-thumbnail_size_w150yes7+ upload_url_pathyes6'avatar_ratingGyes5%show_avatars1yes4 tag_baseyes3'show_on_frontpostsyes27default_link_category2yes1#blog_public1yes0# upload_pathyes&/Guploads_use_yearmonth_folders1yes.!db_version55853yes-%!default_rolesubscriberyes,'use_trackback0yes+html_typetext/htmlyes*5comment_registration0yes#)!/stylesheettwentytwentythreeyes!(/templatetwentytwentythreeyes'+ recently_editedno&9default_email_category1yes%!gmt_offset0yes$/comment_max_links2yes,#!Aping_siteshttp://rpc.pingomatic.com/yes"' category_baseyes + moderation_keysno%blog_charsetUTF-8yeshack_file0yesR!)active_pluginsa:1:{i:0;s:41:"wordpress-importer/wordpress-importer.php";}yes' rewrite_rulesyes3 permalink_structureyes/moderation_notify1yes1comment_moderation0yes-?%links_updated_date_formatF j, Y g:i ayes#time_formatg:i ayes#date_formatF j, Yyes)posts_per_page10yes7default_pingback_flag1yes3default_ping_statusopenyes"9default_comment_statusopenyes-default_category1yes+mailserver_port110yes+mailserver_passpasswordyes)-/mailserver_loginlogin@example.comyes&)-mailserver_urlmail.example.comyes +rss_use_excerpt0yes 'posts_per_rss10yes +comments_notify1yes -1require_name_email1yes #use_smilies1yes+use_balanceTags0yes'start_of_week1yes&#3admin_emailadmin@localhost.comyes1users_can_register0yes+ blogdescriptionyes$5blognameMy WordPress Websiteyes!7homehttp://127.0.0.1:8000yes$7siteurlhttp://127.0.0.1:8000yes vX3 xS,c1initial_db_version55853yes*bEwp_force_deactivated_pluginsa:0:{}yes%a9auto_update_core_majorenabledyes%`9auto_update_core_minorenabledyes#_5auto_update_core_devenabledyes,^Kauto_plugin_theme_update_emailsa:0:{}no$]Ccomment_previously_approved1yes\+ disallowed_keysno&[5!admin_email_lifespan1712131826yes%ZEshow_comments_cookies_opt_in1yes#YAwp_page_for_privacy_policy3yesX3medium_large_size_h0yesW3medium_large_size_w768yesVsite_icon0yesSd'wp_user_rolesa:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:61:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;s:11:"update_core";b:1;s:10:"list_users";b:1;s:12:"remove_users";b:1;s:13:"promote_users";b:1;s:18:"edit_theme_options";b:1;s:13:"delete_themes";b:1;s:6:"export";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}yesnd extract any location data from images on the website.

Cookies

Suggested text: If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Suggested text: Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

Suggested text: If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

Suggested text: If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Suggested text: Visitor comments may be checked through an automated spam detection service.

Privacy Policydraftclosedopenprivacy-policy2023-10-06 08:10:262023-10-06 08:10:26http://127.0.0.1:8000/?page_id=3page t w c n / +1require_name_email1yes #use_smilies1yes+use_balanceTags0yes'start_of_week1yes&#3admin_emailadmin@localhost.comyes1users_can_register0yes+ blogdescriptionyes$5blognameMy WordPress Websiteyes!7homehttp://127.0.0.1:8000yes$7siteurlhttp://127.0.0.1:8000yes vX3 xS,c1initial_db_version55853yes*bEwp_force_deactivated_pluginsa:0:{}yes%a9auto_update_core_majorenabledyes%`9auto_update_core_minorenabledyes#_5auto_update_core_devenabledyes,^Kauto_plugin_theme_update_emailsa:0:{}no$]Ccomment_previously_approved1yes\+ disallowed_keysno&[5!admin_email_lifespan1712218225yes%ZEshow_comments_cookies_opt_in1yes#YAwp_page_for_privacy_policy3yesX3medium_large_size_h0yesW3medium_large_size_w768yesVsite_icon0yesSd'wp_user_rolesa:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:61:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;s:11:"update_core";b:1;s:10:"list_users";b:1;s:12:"remove_users";b:1;s:13:"promote_users";b:1;s:18:"edit_theme_options";b:1;s:13:"delete_themes";b:1;s:6:"export";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}yesnd extract any location data from images on the website.

Cookies

Suggested text: If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Suggested text: Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

Suggested text: If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

Suggested text: If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Suggested text: Visitor comments may be checked through an automated spam detection service.

Privacy Policydraftclosedopenprivacy-policy2023-10-07 08:10:252023-10-07 08:10:25http://127.0.0.1:8000/?page_id=3page a w c n / M - o 4MKtQy nonce_key{%p{0HcGMcB`C)}<;lG{B;Z8FVLlm(la+)-VY.s`~T/fZ.++T31?%1{8t*1B4[i6noiucrona:3:{i:1696579838;a:6:{s:32:"recovery_mode_clean_expired_keys";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}s:18:"wp_https_detection";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:34:"wp_privacy_delete_old_export_files";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1696666238;a:1:{s:30:"wp_site_health_scheduled_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}yessxQ_transient_wp_core_block_css_filesa:124:{i:0;s:58:"/root/wordpress/wp-includes/blocks/archives/editor.min.css";i:1;s:57:"/root/wordpress/wp-includes/blocks/archives/style.min.css";i:2;s:55:"/root/wordpress/wp-includes/blocks/audio/editor.min.css";i:3;s:54:"/root/wordpress/wp-includes/blocks/audio/style.min.css";i:4;s:54:"/root/wordpress/wp-includes/blocks/audio/theme.min.css";i:5;s:56:"/root/wordpress/wp-includes/blocks/avatar/editor.min.css";i:6;s:55:"/root/wordpress/wp-includes/blocks/avatar/style.min.css";i:7;s:55:"/root/wordpress/wp-includes/blocks/block/editor.min.css";i:8;s:56:"/root/wordpress/wp-includes/blocks/button/editor.min.css";i:9;s:55:"/root/wordpress/wp-includes/blocks/button/style.min.css";i:10;s:57:"/root/wordpress/wp-includes/b78w1Iwidget_custom_htmla:1:{s:12:"_multiwidget";i:1;}yes5v+Iwidget_nav_menua:1:{s:12:"_multiwidget";i:1;}yes6u-Iwidget_tag_clouda:1:{s:12:"_multiwidget";i:1;}yes";}i:3;a:1:{s:7:"content";s:154:"

Recent Posts

";}i:4;a:1:{s:7:"content";s:227:"

Recent Comments

";}i:5;a:1:{s:7:"content";s:146:"

Archives

";}i:6;a:1:{s:7:"content";s:150:"

Categories

";}s:12:"_multiwidget";i:1;}yes8locks/buttons/editor.min.css";i:11;s:56:"/root/wordpress/wp-includes/blocks/buttons/style.min.css";i:12;s:57:"/root/wordpress/wp-includes/blocks/calendar/style.min.css";i:13;s:60:"/root/wordpress/wp-includes/blocks/categories/editor.min.css";i:14;s:59:"/root/wordpress/wp-includes/blocks/categories/style.min.css";i:15;s:54:"/root/wordpress/wp-includes/blocks/code/editor.min.css";i:16;s:53:"/root/wordpress/wp-includes/blocks/code/style.min.css";i:17;s:53:"/root/wordpress/wp-includes/blocks/code/theme.min.css";i:18;s:57:"/root/wordpress/wp-includes/blocks/columns/editor.min.css";i:19;s:56:"/root/wordpress/wp-includes/blocks/columns/style.min.css";i:20;s:64:"/root/wordpress/wp-includes/blocks/comment-content/style.min.css";i:21;s:65:"/root/wordpress/wp-includes/blocks/comment-template/style.min.css";i:22;s:77:"/root/wordpress/wp-includes/blocks/comments-pagination-numbers/editor.min.css";i:23;s:69:"/root/wordpress/wp-includes/blocks/comments-pagination/editor.min.css";i:24;s:68:"/root/wordpress/wp-includes/blocks/comments-pagination/style.min.css";i:25;s:64:"/root/wordpress/wp-includes/blocks/comments-title/editor.min.css";i:26;s:58:"/root/wordpress/wp-includes/blocks/comments/editor.min.css";i:27;s:57:"/root/wordpress/wp-includes/blocks/comments/style.min.css";i:28;s:55:"/root/wordpress/wp-includes/blocks/cover/editor.min.css";i:29;s:54:"/root/wordpress/wp-includes/blocks/cover/style.min.css";i:30;s:57:"/root/wordpress/wp-includes/blocks/details/editor.min.css";i:31;s:56:"/root/wordpress/wp-includes/blocks/details/style.min.css";i:32;s:55:"/root/wordpress/wp-includes/blocks/embed/editor.min.css";i:33;s:54:"/root/wordpress/wp-includes/blocks/embed/style.min.css";i:34;s:54:"/root/wordpress/wp-includes/blocks/embed/theme.min.css";i:35;s:54:"/root/wordpress/wp-includes/blocks/file/editor.min.css";i:36;s:53:"/root/wordpress/wp-includes/blocks/file/style.min.css";i:37;s:58:"/root/wordpress/wp-includes/blocks/footnotes/style.min.css";i:38;s:58:"/root/wordpress/wp-includes/blocks/freeform/editor.min.css";i:39;s:57:"/root/wordpress/wp-includes/blocks/gallery/editor.min.css";i:40;s:56:"/root/wordpress/wp-includes/blocks/gallery/style.min.css";i:41;s:56:"/root/wordpress/wp-includes/blocks/gallery/theme.min.css";i:42;s:55:"/root/wordpress/wp-includes/blocks/group/editor.min.css";i:43;s:54:"/root/wordpress/wp-includes/blocks/group/style.min.css";i:44;s:54:"/root/wordpress/wp-includes/blocks/group/theme.min.css";i:45;s:56:"/root/wordpress/wp-includes/blocks/heading/style.min.css";i:46;s:54:"/root/wordpress/wp-includes/blocks/html/editor.min.css";i:47;s:55:"/root/wordpress/wp-includes/blocks/image/editor.min.css";i:48;s:54:"/root/wordpress/wp-includes/blocks/image/style.min.css";i:49;s:54:"/root/wordpress/wp-includes/blocks/image/theme.min.css";i:50;s:64:"/root/wordpress/wp-includes/blocks/latest-comments/style.min.css";i:51;s:62:"/root/wordpress/wp-includes/blocks/latest-posts/editor.min.css";i:52;s:61:"/root/wordpress/wp-includes/blocks/latest-posts/style.min.css";i:53;s:53:"/root/wordpress/wp-includes/blocks/list/style.min.css";i:54;s:60:"/root/wordpress/wp-includes/blocks/media-text/editor.min.css";i:55;s:59:"/root/wordpress/wp-includes/blocks/media-text/style.min.css";i:56;s:54:"/root/wordpress/wp-includes/blocks/more/editor.min.css";i:57;s:65:"/root/wordpress/wp-includes/blocks/navigation-link/editor.min.css";i:58;s:64:"/root/wordpress/wp-includes/blocks/navigation-link/style.min.css";i:59;s:68:"/root/wordpress/wp-includes/blocks/navigation-submenu/editor.min.css";i:60;s:60:"/root/wordpress/wp-includes/blocks/navigation/editor.min.css";i:61;s:59:"/root/wordpress/wp-includes/blocks/navigation/style.min.css";i:62;s:58:"/root/wordpress/wp-includes/blocks/nextpage/editor.min.css";i:63;s:59:"/root/wordpress/wp-includes/blocks/page-list/editor.min.css";i:64;s:58:"/root/wordpress/wp-includes/blocks/page-list/style.min.css";i:65;s:59:"/root/wordpress/wp-includes/blocks/paragraph/editor.min.css";i:66;s:58:"/root/wordpress/wp-includes/blocks/paragraph/style.min.css";i:67;s:60:"/root/wordpress/wp-includes/blocks/post-author/style.min.css";i:68;s:68:"/root/wordpress/wp-includes/blocks/post-comments-form/editor.min.css";i:69;s:67:"/root/wordpress/wp-includes/blocks/post-comments-form/style.min.css";i:70;s:58:"/root/wordpress/wp-includes/blocks/post-date/style.min.css";i:71;s:62:"/root/wordpress/wp-includes/blocks/post-excerpt/editor.min.css";i:72;s:61:"/root/wordpress/wp-includes/blocks/post-excerpt/style.min.css";i:73;s:69:"/root/wordpress/wp-includes/blocks/post-featured-image/editor.min.css";i:74;s:68:"/root/wordpress/wp-includes/blocks/post-featured-image/style.min.css";i:75;s:69:"/root/wordpress/wp-includes/blocks/post-navigation-link/style.min.css";i:76;s:63:"/root/wordpress/wp-includes/blocks/post-template/editor.min.css";i:77;s:62:"/root/wordpress/wp-includes/blocks/post-template/style.min.css";i:78;s:59:"/root/wordpress/wp-includes/blocks/post-terms/style.min.css";i:79;s:59:"/root/wordpress/wp-includes/blocks/post-title/style.min.css";i:80;s:61:"/root/wordpress/wp-includes/blocks/preformatted/style.min.css";i:81;s:59:"/root/wordpress/wp-includes/blocks/pullquote/editor.min.css";i:82;s:58:"/root/wordpress/wp-includes/blocks/pullquote/style.min.css";i:83;s:58:"/root/wordpress/wp-includes/blocks/pullquote/theme.min.css";i:84;s:74:"/root/wordpress/wp-includes/blocks/query-pagination-numbers/editor.min.css";i:85;s:66:"/root/wordpress/wp-includes/blocks/query-pagination/editor.min.css";i:86;s:65:"/root/wordpress/wp-includes/blocks/query-pagination/style.min.css";i:87;s:60:"/root/wordpress/wp-includes/blocks/query-title/style.min.css";i:88;s:55:"/root/wordpress/wp-includes/blocks/query/editor.min.css";i:89;s:54:"/root/wordpress/wp-includes/blocks/quote/style.min.css";i:90;s:54:"/root/wordpress/wp-includes/blocks/quote/theme.min.css";i:91;s:58:"/root/wordpress/wp-includes/blocks/read-more/style.min.css";i:92;s:53:"/root/wordpress/wp-includes/blocks/rss/editor.min.css";i:93;s:52:"/root/wordpress/wp-includes/blocks/rss/style.min.css";i:94;s:56:"/root/wordpress/wp-includes/blocks/search/editor.min.css";i:95;s:55:"/root/wordpress/wp-includes/blocks/search/style.min.css";i:96;s:55:"/root/wordpress/wp-includes/blocks/search/theme.min.css";i:97;s:59:"/root/wordpress/wp-includes/blocks/separator/editor.min.css";i:98;s:58:"/root/wordpress/wp-includes/blocks/separator/style.min.css";i:99;s:58:"/root/wordpress/wp-includes/blocks/separator/theme.min.css";i:100;s:59:"/root/wordpress/wp-includes/blocks/shortcode/editor.min.css";i:101;s:59:"/root/wordpress/wp-includes/blocks/site-logo/editor.min.css";i:102;s:58:"/root/wordpress/wp-includes/blocks/site-logo/style.min.css";i:103;s:62:"/root/wordpress/wp-includes/blocks/site-tagline/editor.min.css";i:104;s:60:"/root/wordpress/wp-includes/blocks/site-title/editor.min.css";i:105;s:59:"/root/wordpress/wp-includes/blocks/site-title/style.min.css";i:106;s:61:"/root/wordpress/wp-includes/blocks/social-link/editor.min.css";i:107;s:62:"/root/wordpress/wp-includes/blocks/social-links/editor.min.css";i:108;s:61:"/root/wordpress/wp-includes/blocks/social-links/style.min.css";i:109;s:56:"/root/wordpress/wp-includes/blocks/spacer/editor.min.css";i:110;s:55:"/root/wordpress/wp-includes/blocks/spacer/style.min.css";i:111;s:55:"/root/wordpress/wp-includes/blocks/table/editor.min.css";i:112;s:54:"/root/wordpress/wp-includes/blocks/table/style.min.css";i:113;s:54:"/root/wordpress/wp-includes/blocks/table/theme.min.css";i:114;s:58:"/root/wordpress/wp-includes/blocks/tag-cloud/style.min.css";i:115;s:63:"/root/wordpress/wp-includes/blocks/template-part/editor.min.css";i:116;s:62:"/root/wordpress/wp-includes/blocks/template-part/theme.min.css";i:117;s:65:"/root/wordpress/wp-includes/blocks/term-description/style.min.css";i:118;s:62:"/root/wordpress/wp-includes/blocks/text-columns/editor.min.css";i:119;s:61:"/root/wordpress/wp-includes/blocks/text-columns/style.min.css";i:120;s:54:"/root/wordpress/wp-includes/blocks/verse/style.min.css";i:121;s:55:"/root/wordpress/wp-includes/blocks/video/editor.min.css";i:122;s:54:"/root/wordpress/wp-includes/blocks/video/style.min.css";i:123;s:54:"/root/wordpress/wp-includes/blocks/video/theme.min.css";}yes ll>{7O_transient_doing_cron1696579838.5102019309997558593750yesRz! nonce_saltg1ix`rT1|jKD}0pfxR_89eY&y0@1T_W(U)k@WaOv`Gikm9XNGxcZ,guVssnoicrona:4:{i:1696666237;a:1:{s:32:"recovery_mode_clean_expired_keys";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}}i:1696666238;a:5:{s:18:"wp_https_detection";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:34:"wp_privacy_delete_old_export_files";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1696752637;a:1:{s:30:"wp_site_health_scheduled_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}yessxQ_transient_wp_core_block_css_filesa:124:{i:0;s:58:"/root/wordpress/wp-includes/blocks/archives/editor.min.css";i:1;s:57:"/root/wordpress/wp-includes/blocks/archives/style.min.css";i:2;s:55:"/root/wordpress/wp-includes/blocks/audio/editor.min.css";i:3;s:54:"/root/wordpress/wp-includes/blocks/audio/style.min.css";i:4;s:54:"/root/wordpress/wp-includes/blocks/audio/theme.min.css";i:5;s:56:"/root/wordpress/wp-includes/blocks/avatar/editor.min.css";i:6;s:55:"/root/wordpress/wp-includes/blocks/avatar/style.min.css";i:7;s:55:"/root/wordpress/wp-includes/blocks/block/editor.min.css";i:8;s:56:"/root/wordpress/wp-includes/blocks/button/editor.min.css";i:9;s:55:"/root/wordpress/wp-includes/blocks/button/style.min.css";i:10;s:57:"/root/wordpress/wp-includes/b78w1Iwidget_custom_htmla:1:{s:12:"_multiwidget";i:1;}yes5v+Iwidget_nav_menua:1:{s:12:"_multiwidget";i:1;}yes6u-Iwidget_tag_clouda:1:{s:12:"_multiwidget";i:1;}yes";}i:3;a:1:{s:7:"content";s:154:"

Recent Posts

";}i:4;a:1:{s:7:"content";s:227:"

Recent Comments

";}i:5;a:1:{s:7:"content";s:146:"

Archives

";}i:6;a:1:{s:7:"content";s:150:"

Categories

";}s:12:"_multiwidget";i:1;}yes8locks/buttons/editor.min.css";i:11;s:56:"/root/wordpress/wp-includes/blocks/buttons/style.min.css";i:12;s:57:"/root/wordpress/wp-includes/blocks/calendar/style.min.css";i:13;s:60:"/root/wordpress/wp-includes/blocks/categories/editor.min.css";i:14;s:59:"/root/wordpress/wp-includes/blocks/categories/style.min.css";i:15;s:54:"/root/wordpress/wp-includes/blocks/code/editor.min.css";i:16;s:53:"/root/wordpress/wp-includes/blocks/code/style.min.css";i:17;s:53:"/root/wordpress/wp-includes/blocks/code/theme.min.css";i:18;s:57:"/root/wordpress/wp-includes/blocks/columns/editor.min.css";i:19;s:56:"/root/wordpress/wp-includes/blocks/columns/style.min.css";i:20;s:64:"/root/wordpress/wp-includes/blocks/comment-content/style.min.css";i:21;s:65:"/root/wordpress/wp-includes/blocks/comment-template/style.min.css";i:22;s:77:"/root/wordpress/wp-includes/blocks/comments-pagination-numbers/editor.min.css";i:23;s:69:"/root/wordpress/wp-includes/blocks/comments-pagination/editor.min.css";i:24;s:68:"/root/wordpress/wp-includes/blocks/comments-pagination/style.min.css";i:25;s:64:"/root/wordpress/wp-includes/blocks/comments-title/editor.min.css";i:26;s:58:"/root/wordpress/wp-includes/blocks/comments/editor.min.css";i:27;s:57:"/root/wordpress/wp-includes/blocks/comments/style.min.css";i:28;s:55:"/root/wordpress/wp-includes/blocks/cover/editor.min.css";i:29;s:54:"/root/wordpress/wp-includes/blocks/cover/style.min.css";i:30;s:57:"/root/wordpress/wp-includes/blocks/details/editor.min.css";i:31;s:56:"/root/wordpress/wp-includes/blocks/details/style.min.css";i:32;s:55:"/root/wordpress/wp-includes/blocks/embed/editor.min.css";i:33;s:54:"/root/wordpress/wp-includes/blocks/embed/style.min.css";i:34;s:54:"/root/wordpress/wp-includes/blocks/embed/theme.min.css";i:35;s:54:"/root/wordpress/wp-includes/blocks/file/editor.min.css";i:36;s:53:"/root/wordpress/wp-includes/blocks/file/style.min.css";i:37;s:58:"/root/wordpress/wp-includes/blocks/footnotes/style.min.css";i:38;s:58:"/root/wordpress/wp-includes/blocks/freeform/editor.min.css";i:39;s:57:"/root/wordpress/wp-includes/blocks/gallery/editor.min.css";i:40;s:56:"/root/wordpress/wp-includes/blocks/gallery/style.min.css";i:41;s:56:"/root/wordpress/wp-includes/blocks/gallery/theme.min.css";i:42;s:55:"/root/wordpress/wp-includes/blocks/group/editor.min.css";i:43;s:54:"/root/wordpress/wp-includes/blocks/group/style.min.css";i:44;s:54:"/root/wordpress/wp-includes/blocks/group/theme.min.css";i:45;s:56:"/root/wordpress/wp-includes/blocks/heading/style.min.css";i:46;s:54:"/root/wordpress/wp-includes/blocks/html/editor.min.css";i:47;s:55:"/root/wordpress/wp-includes/blocks/image/editor.min.css";i:48;s:54:"/root/wordpress/wp-includes/blocks/image/style.min.css";i:49;s:54:"/root/wordpress/wp-includes/blocks/image/theme.min.css";i:50;s:64:"/root/wordpress/wp-includes/blocks/latest-comments/style.min.css";i:51;s:62:"/root/wordpress/wp-includes/blocks/latest-posts/editor.min.css";i:52;s:61:"/root/wordpress/wp-includes/blocks/latest-posts/style.min.css";i:53;s:53:"/root/wordpress/wp-includes/blocks/list/style.min.css";i:54;s:60:"/root/wordpress/wp-includes/blocks/media-text/editor.min.css";i:55;s:59:"/root/wordpress/wp-includes/blocks/media-text/style.min.css";i:56;s:54:"/root/wordpress/wp-includes/blocks/more/editor.min.css";i:57;s:65:"/root/wordpress/wp-includes/blocks/navigation-link/editor.min.css";i:58;s:64:"/root/wordpress/wp-includes/blocks/navigation-link/style.min.css";i:59;s:68:"/root/wordpress/wp-includes/blocks/navigation-submenu/editor.min.css";i:60;s:60:"/root/wordpress/wp-includes/blocks/navigation/editor.min.css";i:61;s:59:"/root/wordpress/wp-includes/blocks/navigation/style.min.css";i:62;s:58:"/root/wordpress/wp-includes/blocks/nextpage/editor.min.css";i:63;s:59:"/root/wordpress/wp-includes/blocks/page-list/editor.min.css";i:64;s:58:"/root/wordpress/wp-includes/blocks/page-list/style.min.css";i:65;s:59:"/root/wordpress/wp-includes/blocks/paragraph/editor.min.css";i:66;s:58:"/root/wordpress/wp-includes/blocks/paragraph/style.min.css";i:67;s:60:"/root/wordpress/wp-includes/blocks/post-author/style.min.css";i:68;s:68:"/root/wordpress/wp-includes/blocks/post-comments-form/editor.min.css";i:69;s:67:"/root/wordpress/wp-includes/blocks/post-comments-form/style.min.css";i:70;s:58:"/root/wordpress/wp-includes/blocks/post-date/style.min.css";i:71;s:62:"/root/wordpress/wp-includes/blocks/post-excerpt/editor.min.css";i:72;s:61:"/root/wordpress/wp-includes/blocks/post-excerpt/style.min.css";i:73;s:69:"/root/wordpress/wp-includes/blocks/post-featured-image/editor.min.css";i:74;s:68:"/root/wordpress/wp-includes/blocks/post-featured-image/style.min.css";i:75;s:69:"/root/wordpress/wp-includes/blocks/post-navigation-link/style.min.css";i:76;s:63:"/root/wordpress/wp-includes/blocks/post-template/editor.min.css";i:77;s:62:"/root/wordpress/wp-includes/blocks/post-template/style.min.css";i:78;s:59:"/root/wordpress/wp-includes/blocks/post-terms/style.min.css";i:79;s:59:"/root/wordpress/wp-includes/blocks/post-title/style.min.css";i:80;s:61:"/root/wordpress/wp-includes/blocks/preformatted/style.min.css";i:81;s:59:"/root/wordpress/wp-includes/blocks/pullquote/editor.min.css";i:82;s:58:"/root/wordpress/wp-includes/blocks/pullquote/style.min.css";i:83;s:58:"/root/wordpress/wp-includes/blocks/pullquote/theme.min.css";i:84;s:74:"/root/wordpress/wp-includes/blocks/query-pagination-numbers/editor.min.css";i:85;s:66:"/root/wordpress/wp-includes/blocks/query-pagination/editor.min.css";i:86;s:65:"/root/wordpress/wp-includes/blocks/query-pagination/style.min.css";i:87;s:60:"/root/wordpress/wp-includes/blocks/query-title/style.min.css";i:88;s:55:"/root/wordpress/wp-includes/blocks/query/editor.min.css";i:89;s:54:"/root/wordpress/wp-includes/blocks/quote/style.min.css";i:90;s:54:"/root/wordpress/wp-includes/blocks/quote/theme.min.css";i:91;s:58:"/root/wordpress/wp-includes/blocks/read-more/style.min.css";i:92;s:53:"/root/wordpress/wp-includes/blocks/rss/editor.min.css";i:93;s:52:"/root/wordpress/wp-includes/blocks/rss/style.min.css";i:94;s:56:"/root/wordpress/wp-includes/blocks/search/editor.min.css";i:95;s:55:"/root/wordpress/wp-includes/blocks/search/style.min.css";i:96;s:55:"/root/wordpress/wp-includes/blocks/search/theme.min.css";i:97;s:59:"/root/wordpress/wp-includes/blocks/separator/editor.min.css";i:98;s:58:"/root/wordpress/wp-includes/blocks/separator/style.min.css";i:99;s:58:"/root/wordpress/wp-includes/blocks/separator/theme.min.css";i:100;s:59:"/root/wordpress/wp-includes/blocks/shortcode/editor.min.css";i:101;s:59:"/root/wordpress/wp-includes/blocks/site-logo/editor.min.css";i:102;s:58:"/root/wordpress/wp-includes/blocks/site-logo/style.min.css";i:103;s:62:"/root/wordpress/wp-includes/blocks/site-tagline/editor.min.css";i:104;s:60:"/root/wordpress/wp-includes/blocks/site-title/editor.min.css";i:105;s:59:"/root/wordpress/wp-includes/blocks/site-title/style.min.css";i:106;s:61:"/root/wordpress/wp-includes/blocks/social-link/editor.min.css";i:107;s:62:"/root/wordpress/wp-includes/blocks/social-links/editor.min.css";i:108;s:61:"/root/wordpress/wp-includes/blocks/social-links/style.min.css";i:109;s:56:"/root/wordpress/wp-includes/blocks/spacer/editor.min.css";i:110;s:55:"/root/wordpress/wp-includes/blocks/spacer/style.min.css";i:111;s:55:"/root/wordpress/wp-includes/blocks/table/editor.min.css";i:112;s:54:"/root/wordpress/wp-includes/blocks/table/style.min.css";i:113;s:54:"/root/wordpress/wp-includes/blocks/table/theme.min.css";i:114;s:58:"/root/wordpress/wp-includes/blocks/tag-cloud/style.min.css";i:115;s:63:"/root/wordpress/wp-includes/blocks/template-part/editor.min.css";i:116;s:62:"/root/wordpress/wp-includes/blocks/template-part/theme.min.css";i:117;s:65:"/root/wordpress/wp-includes/blocks/term-description/style.min.css";i:118;s:62:"/root/wordpress/wp-includes/blocks/text-columns/editor.min.css";i:119;s:61:"/root/wordpress/wp-includes/blocks/text-columns/style.min.css";i:120;s:54:"/root/wordpress/wp-includes/blocks/verse/style.min.css";i:121;s:55:"/root/wordpress/wp-includes/blocks/video/editor.min.css";i:122;s:54:"/root/wordpress/wp-includes/blocks/video/style.min.css";i:123;s:54:"/root/wordpress/wp-includes/blocks/video/theme.min.css";}yes ll>{7O_transient_doing_cron1696666238.0901699066162109375000yesRz! nonce_saltg%)e?*62%<`aYC#l@A&4)Qd^`-2NrG.!JSFP~;p/Uhw@8export(); exit; } } class Export_WXZ { public $filelist = array(); public $filename; public function __construct( $args = array() ) { global $wpdb, $post; $defaults = array( 'content' => 'all', 'author' => false, 'category' => false, 'start_date' => false, 'end_date' => false, 'status' => false, ); $this->args = wp_parse_args( $args, $defaults ); $sitename = sanitize_key( get_bloginfo( 'name' ) ); if ( ! empty( $sitename ) ) { $sitename .= '.'; } $date = gmdate( 'Y-m-d' ); $wp_filename = $sitename . 'WordPress.' . $date . '.wxz'; $this->filename = apply_filters( 'export_wp_filename', $wp_filename, $sitename, $date ); } private function json_encode( $json ) { return json_encode( $json, JSON_PRETTY_PRINT ); } private function add_file( $filename, $content, $write_to_dir = false ) { require_once ABSPATH . '/wp-admin/includes/class-pclzip.php'; $this->filelist[] = array( PCLZIP_ATT_FILE_NAME => $filename, PCLZIP_ATT_FILE_CONTENT => $content, ); if ( $write_to_dir ) { $dir = dirname( $filename ); $write_to_dir = rtrim( $write_to_dir, '/' ) . '/'; if ( ! file_exists( $write_to_dir . $dir ) ) { mkdir( $write_to_dir . $dir, 0777, true ); } file_put_contents( $write_to_dir . $filename, $content ); } return $filename; } private function output_wxz() { if ( empty( $this->filelist ) ) { return new WP_Error( 'no-files', 'No files to write.' ); } require_once ABSPATH . '/wp-admin/includes/class-pclzip.php'; $zip = tempnam( '/tmp/', $this->filename . '.zip' ); $archive = new PclZip( $zip ); $archive->create( array( array( PCLZIP_ATT_FILE_NAME => 'mimetype', PCLZIP_ATT_FILE_CONTENT => 'application/vnd.wordpress.export+zip', ), ), PCLZIP_OPT_NO_COMPRESSION ); $archive->add( $this->filelist ); readfile( $zip ); unlink( $zip ); } public function export() { global $wpdb, $post; if ( 'all' !== $this->args['content'] && post_type_exists( $this->args['content'] ) ) { $ptype = get_post_type_object( $this->args['content'] ); if ( ! $ptype->can_export ) { $this->args['content'] = 'post'; } $where = $wpdb->prepare( "{$wpdb->posts}.post_type = %s", $this->args['content'] ); } else { $post_types = get_post_types( array( 'can_export' => true ) ); $esses = array_fill( 0, count( $post_types ), '%s' ); $where = $wpdb->prepare( "{$wpdb->posts}.post_type IN (" . implode( ',', $esses ) . ')', $post_types ); } if ( $this->args['status'] && ( 'post' === $this->args['content'] || 'page' === $this->args['content'] ) ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_status = %s", $this->args['status'] ); } else { $where .= " AND {$wpdb->posts}.post_status != 'auto-draft'"; } $join = ''; if ( $this->args['category'] && 'post' === $this->args['content'] ) { $term = term_exists( $this->args['category'], 'category' ); if ( $term ) { $join = "INNER JOIN {$wpdb->term_relationships} ON ({$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id)"; $where .= $wpdb->prepare( " AND {$wpdb->term_relationships}.term_taxonomy_id = %d", $term['term_taxonomy_id'] ); } } if ( in_array( $this->args['content'], array( 'post', 'page', 'attachment' ), true ) ) { if ( $this->args['author'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_author = %d", $this->args['author'] ); } if ( $this->args['start_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date >= %s", gmdate( 'Y-m-d', strtotime( $this->args['start_date'] ) ) ); } if ( $this->args['end_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date < %s", gmdate( 'Y-m-d', strtotime( '+1 month', strtotime( $this->args['end_date'] ) ) ) ); } } $post_ids = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} $join WHERE $where" ); $cats = array(); $tags = array(); $terms = array(); if ( isset( $term ) && $term ) { $cat = get_term( $term['term_id'], 'category' ); $cats = array( $cat->term_id => $cat ); unset( $term, $cat ); } elseif ( 'all' === $this->args['content'] ) { $categories = (array) get_categories( array( 'get' => 'all' ) ); $tags = (array) get_tags( array( 'get' => 'all' ) ); $custom_taxonomies = get_taxonomies( array( '_builtin' => false ) ); $custom_terms = (array) get_terms( array( 'taxonomy' => $custom_taxonomies, 'get' => 'all', ) ); while ( $cat = array_shift( $categories ) ) { if ( 0 == $cat->parent || isset( $cats[ $cat->parent ] ) ) { $cats[ $cat->term_id ] = $cat; } else { $categories[] = $cat; } } while ( $t = array_shift( $custom_terms ) ) { if ( 0 == $t->parent || isset( $terms[ $t->parent ] ) ) { $terms[ $t->term_id ] = $t; } else { $custom_terms[] = $t; } } unset( $categories, $custom_taxonomies, $custom_terms ); } $this->add_file( 'site/config.json', $this->json_encode( $this->get_blog_details() ) ); $this->export_authors(); $this->export_nav_menu_terms(); foreach ( $cats as $c ) { $this->add_file( 'terms/' . intval( $c->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $c->term_id ), 'taxonomy' => $c->taxonomy, 'name' => $c->name, 'slug' => $c->slug, 'parent' => $c->parent ? $cats[ $c->parent ]->slug : '', 'description' => $c->description, 'termmeta' => $this->termmeta( $c ), ) ) ); } foreach ( $tags as $t ) { $this->add_file( 'terms/' . intval( $t->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $t->term_id ), 'taxonomy' => $t->taxonomy, 'name' => $t->name, 'slug' => $t->slug, 'description' => $t->description, 'termmeta' => $this->termmeta( $t ), ) ) ); } foreach ( $terms as $t ) { $this->add_file( 'terms/' . intval( $t->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $t->term_id ), 'taxonomy' => $t->taxonomy, 'name' => $t->name, 'slug' => $t->slug, 'parent' => $t->parent ? $terms[ $t->parent ]->slug : '', 'description' => $t->description, 'termmeta' => $this->termmeta( $t ), ) ) ); } if ( 'all' === $this->args['content'] ) { $this->export_nav_menu_terms(); } if ( $post_ids ) { global $wp_query; $wp_query->in_the_loop = true; while ( $next_posts = array_splice( $post_ids, 0, 20 ) ) { $where = 'WHERE ID IN (' . implode( ',', $next_posts ) . ')'; $posts = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} $where" ); foreach ( $posts as $post ) { setup_postdata( $post ); $title = apply_filters( 'the_title_export', $post->post_title ); $content = apply_filters( 'the_content_export', $post->post_content ); $excerpt = apply_filters( 'the_excerpt_export', $post->post_excerpt ); $is_sticky = is_sticky( $post->ID ) ? 1 : 0; $data = array( 'version' => 1, 'title' => $title, 'author' => get_the_author_meta( 'login' ), 'status' => $post->post_status, 'content' => $content, 'excerpt' => $excerpt, 'type' => $post->post_type, 'parent' => $post->post_parent, 'password' => $post->post_password, 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'menu_order' => intval( $post->menu_order ), 'is_sticky' => $is_sticky, 'date_utc' => $post->post_date_gmt, 'date_modified_utc' => $post->post_modified_gmt, 'postmeta' => $this->postmeta( $post->ID ), ); if ( 'attachment' === $post->post_type ) { $data['attachment_url'] = wp_get_attachment_url( $post->ID ); } $this->add_file( 'posts/' . intval( $post->ID ) . '.json', $this->json_encode( $data ) ); } } } header( 'Content-Description: File Transfer' ); header( 'Content-Disposition: attachment; filename=' . $this->filename ); header( 'Content-Type: application/zip; charset=' . get_option( 'blog_charset' ), true ); $this->output_wxz(); } private function get_blog_details() { if ( is_multisite() ) { $base_site_url = network_home_url(); } else { $base_site_url = get_bloginfo_rss( 'url' ); } return array( 'version' => 1, 'title' => get_bloginfo_rss( 'name' ), 'link' => get_bloginfo_rss( 'url' ), 'description' => get_bloginfo_rss( 'description' ), 'date' => gmdate( 'D, d M Y H:i:s +0000' ), 'language' => get_bloginfo_rss( 'language' ), 'base_site_url' => $base_site_url, 'base_blog_url' => get_bloginfo_rss( 'url' ), ); } private function export_authors( array $post_ids = null ) { global $wpdb; if ( ! empty( $post_ids ) ) { $post_ids = array_map( 'absint', $post_ids ); $and = 'AND ID IN ( ' . implode( ', ', $post_ids ) . ')'; } else { $and = ''; } $authors = array(); $results = $wpdb->get_results( "SELECT DISTINCT post_author FROM $wpdb->posts WHERE post_status != 'auto-draft' $and" ); foreach ( (array) $results as $result ) { $authors[] = get_userdata( $result->post_author ); } $authors = array_filter( $authors ); foreach ( $authors as $author ) { $this->add_file( 'users/' . intval( $author->ID ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $author->ID ), 'username' => $author->user_login, 'display_name' => $author->display_name, 'email' => $author->user_email, ) ) ); } } private function export_nav_menu_terms() { $nav_menus = wp_get_nav_menus(); if ( empty( $nav_menus ) || ! is_array( $nav_menus ) ) { return; } foreach ( $nav_menus as $menu ) { $this->add_file( 'terms/' . intval( $menu->term_id ) . '.json', $this->json_encode( array( 'taxonomy' => 'nav_menu', 'name' => $menu->name, 'slug' => $menu->slug, ) ) ); } } function export_post_taxonomy() { $post = get_post(); $taxonomies = get_object_taxonomies( $post->post_type ); if ( empty( $taxonomies ) ) { return; } $terms = wp_get_object_terms( $post->ID, $taxonomies ); foreach ( (array) $terms as $term ) { $this->add_file( 'categories/' . intval( $term->term_id ) . '.json', $this->json_encode( array( 'taxonomy' => $term->taxonomy, 'name' => $term->name, 'slug' => $term->slug, ) ) ); } } private function termmeta( $term ) { global $wpdb; $termmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->termmeta WHERE term_id = %d", $term->term_id ) ); $metadata = array(); foreach ( $termmeta as $meta ) { if ( ! apply_filters( 'wxr_export_skip_termmeta', false, $meta->meta_key, $meta ) ) { $metadata[ $meta->meta_key ] = $meta->meta_value; } } return $metadata; } private function postmeta( $id ) { global $wpdb; $postmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->postmeta WHERE post_id = %d", $id ) ); $metadata = array(); foreach ( $postmeta as $meta ) { if ( apply_filters( 'wxr_export_skip_postmeta', false, $meta->meta_key, $meta ) ) { continue; } $metadata[ $meta->meta_key ] = $meta->meta_value; } return $metadata; } } WordPress › Installation - - - - - + + + + + @@ -58,20 +58,20 @@ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); var pwsL10n = {"unknown":"Password strength unknown","short":"Very weak","bad":"Weak","good":"Medium","strong":"Strong","mismatch":"Mismatch"}; /* ]]> */ - + - + - + @@ -13561,7 +13561,7 @@ i   K m . T s<L~7 (p@V!;_# |N<cL1i!e|P- n  C 1  R p < b   ' Q6j ;\"y"7wp_postswp_posts__post_authorz"7wp_postswp_posts__post_parenty'Awp_postswp_posts__type_status_datex 3wp_postswp_posts__post_namew'wp_postscomment_countv)wp_postspost_mime_typeuwp_postspost_typet!wp_postsmenu_orderswp_postsguidr#wp_postspost_parentq"7wp_postspost_content_filteredp/wp_postspost_modified_gmto'wp_postspost_modifiednwp_postspingedmwp_poststo_pinglwp_postspost_namek'wp_postspost_passwordj#wp_postsping_statusi)wp_postscomment_statush#wp_postspost_statusg%wp_postspost_excerptf!wp_postspost_titlee%wp_postspost_contentd'wp_postspost_date_gmtcwp_postspost_dateb#wp_postspost_authorawp_postsID`%#7wp_postmetawp_postmeta__meta_key_$#5wp_postmetawp_postmeta__post_id^#!wp_postmetameta_value]#wp_postmetameta_key\#wp_postmetapost_id[#wp_postmetameta_idZ#!5wp_optionswp_options__autoloadY&!;wp_optionswp_options__option_nameX!wp_optionsautoloadW!%wp_optionsoption_valueV!#wp_optionsoption_nameU!wp_optionsoption_idT#9wp_linkswp_links__link_visibleSwp_linkslink_rssR!wp_linkslink_notesQwp_linkslink_relP%wp_linkslink_updatedO#wp_linkslink_ratingN!wp_linkslink_ownerM%wp_linkslink_visibleL-wp_linkslink_descriptionK#wp_linkslink_targetJ!wp_linkslink_imageIwp_linkslink_nameHwp_linkslink_urlGwp_linkslink_idF1#Owp_commentswp_comments__comment_author_emailE+#Cwp_commentswp_comments__comment_parentD-#Gwp_commentswp_comments__comment_date_gmtC6#Ywp_commentswp_comments__comment_approved_date_gmtB,#Ewp_commentswp_comments__comment_post_IDA#wp_commentsuser_id@#)wp_commentscomment_parent?#%wp_commentscomment_type>#'wp_commentscomment_agent= #-wp_commentscomment_approved<#'wp_commentscomment_karma;#+wp_commentscomment_content: #-wp_commentscomment_date_gmt9#%wp_commentscomment_date8!#/wp_commentscomment_author_IP7"#1wp_commentscomment_author_url6$#5wp_commentscomment_author_email5#)wp_commentscomment_author4#+wp_commentscomment_post_ID3#!wp_commentscomment_ID2+)=wp_commentmetawp_commentmeta__meta_key1-)Awp_commentmetawp_commentmeta__comment_id0)!wp_commentmetameta_value/)wp_commentmetameta_key.)!wp_commentmetacomment_id-)wp_commentmetameta_id,A7[wp_term_relationshipswp_term_relationships__term_taxonomy_id+$7!wp_term_relationshipsterm_order**7-wp_term_relationshipsterm_taxonomy_id)#7wp_term_relationshipsobject_id(/-Awp_term_taxonomywp_term_taxonomy__taxonomy'7-Qwp_term_taxonomywp_term_taxonomy__term_id_taxonomy&-wp_term_taxonomycount%-wp_term_taxonomyparent$ -#wp_term_taxonomydescription#-wp_term_taxonomytaxonomy"-wp_term_taxonomyterm_id!%--wp_term_taxonomyterm_taxonomy_id )wp_termswp_terms__name)wp_termswp_terms__slug!wp_termsterm_groupwp_termsslugwp_termsnamewp_termsterm_id%#7wp_termmetawp_termmeta__meta_key$#5wp_termmetawp_termmeta__term_id#!wp_termmetameta_value#wp_termmetameta_key#wp_termmetaterm_id#wp_termmetameta_id%#7wp_usermetawp_usermeta__meta_key$#5wp_usermetawp_usermeta__user_id#!wp_usermetameta_value#wp_usermetameta_key#wp_usermetauser_id#wp_usermetaumeta_id!5wp_userswp_users__user_email $;wp_userswp_users__user_nicename %=wp_userswp_users__user_login_key %wp_usersdisplay_name -#wp_usersuser_status 3wp_usersuser_activation_key+wp_usersuser_registeredwp_usersuser_url!wp_usersuser_email'wp_usersuser_nicenamewp_usersuser_pass!wp_usersuser_login wp_usersID w Q373 admin$P$BNmQr2wq.AaFDkgNDB3kgd6Iub3tvS/adminadmin@localhost.comhttp://127.0.0.1:80002023-10-06 08:11:40admin tt#wp_postmeta wp_posts# wp_comments - wp_term_taxonomy  wp_terms#wp_usermeta  wp_users!wp_options} +#wp_usersuser_status 3wp_usersuser_activation_key+wp_usersuser_registeredwp_usersuser_url!wp_usersuser_email'wp_usersuser_nicenamewp_usersuser_pass!wp_usersuser_login wp_usersID w Q373 admin$P$Bw9u39TRLJJCHE8Bl.wKsvNIPe2IBO1adminadmin@localhost.comhttp://127.0.0.1:80002023-10-07 08:11:42admin tt#wp_postmeta wp_posts# wp_comments - wp_term_taxonomy  wp_terms#wp_usermeta  wp_users!wp_options}  admin  admin 3 admin@localhost.com }gPA"}3  +Kwp_capabilitiesa:1:{s:13:"administrator";b:1;} 7 dismissed_wp_pointers 1show_welcome_panel1  'wp_user_level10   locale @@ -13654,12 +13654,12 @@ CREATE INDEX "wp_usermeta__user_id" ON "wp_usermeta" ("user_id") "link_notes" text NOT NULL COLLATE NOCASE, "link_rss" text NOT NULL DEFAULT '' COLLATE NOCASE)  - W 7;9 339 A WordPress Commenterwapuu@wordpress.examplehttps://wordpress.org/2023-10-06 08:11:402023-10-06 08:11:40Hi, this is a comment. + W 7;9 339 A WordPress Commenterwapuu@wordpress.examplehttps://wordpress.org/2023-10-07 08:11:422023-10-07 08:11:42Hi, this is a comment. To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard. Commenter avatars come from Gravatar.1comment  -3 12023-10-06 08:11:40 -3 2023-10-06 08:11:40 +3 12023-10-07 08:11:42 +3 2023-10-07 08:11:42  ; wapuu@wordpress.example  :6{4e3V @@ -13688,7 +13688,7 @@ S  7 k - Y g6NZ.OX6|Q1V/ i>&^#5wp_postmetawp_postmeta__post_idKEY!]#!wp_postmetameta_valuelongtext#\#%wp_postmetameta_keyvarchar(255))[#3wp_postmetapost_idbigint(20) unsigned)Z#3wp_postmetameta_idbigint(20) unsigned%Y!5wp_optionswp_options__autoloadKEY+X!;wp_optionswp_options__option_nameUNIQUE!W!#wp_optionsautoloadvarchar(20)"V!%wp_optionsoption_valuelongtext%U!#%wp_optionsoption_namevarchar(191)*T!3wp_optionsoption_idbigint(20) unsigned%S9wp_linkswp_links__link_visibleKEY R%wp_linkslink_rssvarchar(255) Q!!wp_linkslink_notesmediumtext P%wp_linkslink_relvarchar(255) O%wp_linkslink_updateddatetimeN#wp_linkslink_ratingint(11))M!3wp_linkslink_ownerbigint(20) unsigned#L%#wp_linkslink_visiblevarchar(20)(K-%wp_linkslink_descriptionvarchar(255)"J##wp_linkslink_targetvarchar(25)"I!%wp_linkslink_imagevarchar(255)!H%wp_linkslink_namevarchar(255) G%wp_linkslink_urlvarchar(255)&F3wp_linkslink_idbigint(20) unsigned3E#Owp_commentswp_comments__comment_author_emailKEY-D#Cwp_commentswp_comments__comment_parentKEY/C#Gwp_commentswp_comments__comment_date_gmtKEY8B#Ywp_commentswp_comments__comment_approved_date_gmtKEY.A#Ewp_commentswp_comments__comment_post_IDKEY)@#3wp_commentsuser_idbigint(20) unsigned0?#)3wp_commentscomment_parentbigint(20) unsigned&>#%#wp_commentscomment_typevarchar(20)(=#'%wp_commentscomment_agentvarchar(255)*<#-#wp_commentscomment_approvedvarchar(20)#;#'wp_commentscomment_karmaint(11)":#+wp_commentscomment_contenttext'9#-wp_commentscomment_date_gmtdatetime#8#%wp_commentscomment_datedatetime,7#/%wp_commentscomment_author_IPvarchar(100)-6#1%wp_commentscomment_author_urlvarchar(200)/5#5%wp_commentscomment_author_emailvarchar(100)%4#)wp_commentscomment_authortinytext13#+3wp_commentscomment_post_IDbigint(20) unsigned,2#!3wp_commentscomment_IDbigint(20) unsigned-1)=wp_commentmetawp_commentmeta__meta_keyKEY/0)Awp_commentmetawp_commentmeta__comment_idKEY$/)!wp_commentmetameta_valuelongtext&.)%wp_commentmetameta_keyvarchar(255)/-)!3wp_commentmetacomment_idbigint(20) unsigned,,)3wp_commentmetameta_idbigint(20) unsignedC+7[wp_term_relationshipswp_term_relationships__term_taxonomy_idKEY**7!wp_term_relationshipsterm_orderint(11)<)7-3wp_term_relationshipsterm_taxonomy_idbigint(20) unsigned5(73wp_term_relationshipsobject_idbigint(20) unsigned1'-Awp_term_taxonomywp_term_taxonomy__taxonomyKEY<&-Qwp_term_taxonomywp_term_taxonomy__term_id_taxonomyUNIQUE#%-!wp_term_taxonomycountbigint(20)-$-3wp_term_taxonomyparentbigint(20) unsigned'#-#wp_term_taxonomydescriptionlongtext'"-#wp_term_taxonomytaxonomyvarchar(32).!-3wp_term_taxonomyterm_idbigint(20) unsigned7 --3wp_term_taxonomyterm_taxonomy_idbigint(20) unsigned)wp_termswp_terms__nameKEY)wp_termswp_terms__slugKEY !!wp_termsterm_groupbigint(10)%wp_termsslugvarchar(200)%wp_termsnamevarchar(200)&3wp_termsterm_idbigint(20) unsigned'#7wp_termmetawp_termmeta__meta_keyKEY&#5wp_termmetawp_termmeta__term_idKEY!#!wp_termmetameta_valuelongtext##%wp_termmetameta_keyvarchar(255))#3wp_termmetaterm_idbigint(20) unsigned)#3wp_termmetameta_idbigint(20) unsigned'#7wp_usermetawp_usermeta__meta_keyKEY&#5wp_usermetawp_usermeta__user_idKEY!#!wp_usermetameta_valuelongtext##%wp_usermetameta_keyvarchar(255))#3wp_usermetauser_idbigint(20) unsigned*#3wp_usermetaumeta_idbigint(20) unsigned# 5wp_userswp_users__user_emailKEY& ;wp_userswp_users__user_nicenameKEY' =wp_userswp_users__user_login_keyKEY$ -%%wp_usersdisplay_namevarchar(250) #wp_usersuser_statusint(11)+3%wp_usersuser_activation_keyvarchar(255)#+wp_usersuser_registereddatetime %wp_usersuser_urlvarchar(100)"!%wp_usersuser_emailvarchar(100)$'#wp_usersuser_nicenamevarchar(50)!%wp_usersuser_passvarchar(255)!!#wp_usersuser_loginvarchar(60)!3wp_usersIDbigint(20) unsigned  iF${T1 _ A " d > $z7wp_postswp_posts__post_authorKEY$y7wp_postswp_posts__post_parentKEY)xAwp_postswp_posts__type_status_dateKEY"w3wp_postswp_posts__post_nameKEY#v'!wp_postscomment_countbigint(20)&u)%wp_postspost_mime_typevarchar(100) t#wp_postspost_typevarchar(20)s!wp_postsmenu_orderint(11)r%wp_postsguidvarchar(255)*q#3wp_postspost_parentbigint(20) unsigned)p7wp_postspost_content_filteredlongtext%o/wp_postspost_modified_gmtdatetime!n'wp_postspost_modifieddatetimemwp_postspingedtextlwp_poststo_pingtext!k%wp_postspost_namevarchar(200)%j'%wp_postspost_passwordvarchar(255)"i##wp_postsping_statusvarchar(20)%h)#wp_postscomment_statusvarchar(20)"g##wp_postspost_statusvarchar(20)f%wp_postspost_excerpttexte!wp_postspost_titletext d%wp_postspost_contentlongtext!c'wp_postspost_date_gmtdatetimebwp_postspost_datedatetime*a#3wp_postspost_authorbigint(20) unsigned!`3wp_postsIDbigint(20) unsigned'_#7wp_postmetawp_postmeta__meta_keyKEY  8( 33u)  ) 33 M 2023-10-06 08:11:402023-10-06 08:11:40

Who we are

Suggested text: Our website address is: http://127.0.0.1:8000.

Comments

Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

Suggested text: If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download a5 33M#  # 33 M 2023-10-06 08:11:402023-10-06 08:11:40 +%%wp_usersdisplay_namevarchar(250) #wp_usersuser_statusint(11)+3%wp_usersuser_activation_keyvarchar(255)#+wp_usersuser_registereddatetime %wp_usersuser_urlvarchar(100)"!%wp_usersuser_emailvarchar(100)$'#wp_usersuser_nicenamevarchar(50)!%wp_usersuser_passvarchar(255)!!#wp_usersuser_loginvarchar(60)!3wp_usersIDbigint(20) unsigned  iF${T1 _ A " d > $z7wp_postswp_posts__post_authorKEY$y7wp_postswp_posts__post_parentKEY)xAwp_postswp_posts__type_status_dateKEY"w3wp_postswp_posts__post_nameKEY#v'!wp_postscomment_countbigint(20)&u)%wp_postspost_mime_typevarchar(100) t#wp_postspost_typevarchar(20)s!wp_postsmenu_orderint(11)r%wp_postsguidvarchar(255)*q#3wp_postspost_parentbigint(20) unsigned)p7wp_postspost_content_filteredlongtext%o/wp_postspost_modified_gmtdatetime!n'wp_postspost_modifieddatetimemwp_postspingedtextlwp_poststo_pingtext!k%wp_postspost_namevarchar(200)%j'%wp_postspost_passwordvarchar(255)"i##wp_postsping_statusvarchar(20)%h)#wp_postscomment_statusvarchar(20)"g##wp_postspost_statusvarchar(20)f%wp_postspost_excerpttexte!wp_postspost_titletext d%wp_postspost_contentlongtext!c'wp_postspost_date_gmtdatetimebwp_postspost_datedatetime*a#3wp_postspost_authorbigint(20) unsigned!`3wp_postsIDbigint(20) unsigned'_#7wp_postmetawp_postmeta__meta_keyKEY  8( 33u)  ) 33 M 2023-10-07 08:11:422023-10-07 08:11:42

Who we are

Suggested text: Our website address is: http://127.0.0.1:8000.

Comments

Suggested text: When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.

An anonymized string created from your email address (also called a hash) may be provided to the Gravatar service to see if you are using it. The Gravatar service privacy policy is available here: https://automattic.com/privacy/. After approval of your comment, your profile picture is visible to the public in the context of your comment.

Media

Suggested text: If you upload images to the website, you should avoid uploading images with embedded location data (EXIF GPS) included. Visitors to the website can download a5 33M#  # 33 M 2023-10-07 08:11:422023-10-07 08:11:42

This is an example page. It's different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:

@@ -13706,9 +13706,9 @@ k

As a new WordPress user, you should go to your dashboard to delete this page and create new pages for your content. Have fun!

-Sample Pagepublishclosedopensample-page2023-10-06 08:11:402023-10-06 08:11:40http://127.0.0.1:8000/?page_id=2page2 33%  # 33 A 2023-10-06 08:11:402023-10-06 08:11:40 +Sample Pagepublishclosedopensample-page2023-10-07 08:11:422023-10-07 08:11:42http://127.0.0.1:8000/?page_id=2page2 33%  # 33 A 2023-10-07 08:11:422023-10-07 08:11:42

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

-Hello world!publishopenopenhello-world2023-10-06 08:11:402023-10-06 08:11:40http://127.0.0.1:8000/?p=1post } 6 @9l,7indexwp_posts__post_authorwp_posts2CREATE INDEX "wp_posts__post_author" ON "wp_posts" ("post_author")l+7indexwp_posts__post_parentwp_posts1CREATE INDEX "wp_posts__post_parent" ON "wp_posts" ("post_parent")*A[indexwp_posts__type_status_datewp_posts0CREATE INDEX "wp_posts__type_status_date" ON "wp_posts" ("post_type", "post_status", "post_date", "ID")f)3 indexwp_posts__post_namewp_posts/CREATE INDEX "wp_posts__post_name" ON "wp_posts" ("post_name")(tablewp_postswp_posts-CREATE TABLE "wp_posts" ( +Hello world!publishopenopenhello-world2023-10-07 08:11:422023-10-07 08:11:42http://127.0.0.1:8000/?p=1post } 6 @9l,7indexwp_posts__post_authorwp_posts2CREATE INDEX "wp_posts__post_author" ON "wp_posts" ("post_author")l+7indexwp_posts__post_parentwp_posts1CREATE INDEX "wp_posts__post_parent" ON "wp_posts" ("post_parent")*A[indexwp_posts__type_status_datewp_posts0CREATE INDEX "wp_posts__type_status_date" ON "wp_posts" ("post_type", "post_status", "post_date", "ID")f)3 indexwp_posts__post_namewp_posts/CREATE INDEX "wp_posts__post_name" ON "wp_posts" ("post_name")(tablewp_postswp_posts-CREATE TABLE "wp_posts" ( "ID" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "post_author" integer NOT NULL DEFAULT '0', "post_date" text NOT NULL DEFAULT '0000-00-00 00:00:00' COLLATE NOCASE, @@ -13741,14 +13741,14 @@ k "option_value" text NOT NULL COLLATE NOCASE, "autoload" text NOT NULL DEFAULT 'yes' COLLATE NOCASE)o!9indexwp_links__link_visiblewp_links$CREATE INDEX "wp_links__link_visible" ON "wp_links" ("link_visible") )privacy-policy#sample-page# hello-world -$3pagedraft2023-10-06 08:11:40&3pagepublish2023-10-06 08:11:40$3 postpublish2023-10-06 08:11:40 +$3pagedraft2023-10-07 08:11:42&3pagepublish2023-10-07 08:11:42$3 postpublish2023-10-07 08:11:42     #V0x[3Y. q W < " tYA 2 tQ, xcM-}dJ0X5kJ/nD0uO!\;;I3ipermalink_structure/index.php/%year%/%monthnum%/%day%/%postname%/yes;1Vsite_icon0yes(UKfinished_splitting_shared_terms1yesT5link_manager_enabled0yesS3default_post_format0yesR'page_on_front0yesQ)page_for_posts0yesP+ timezone_stringyesO/uninstall_pluginsa:0:{}noN!widget_rssa:0:{}yesM#widget_texta:0:{}yesL/widget_categoriesa:0:{}yesK%sticky_postsa:0:{}yesJ'comment_orderascyes#I7default_comments_pagenewestyesH/comments_per_page50yesG'page_comments0yesF7thread_comments_depth5yesE+thread_comments1yes!D;close_comments_days_old14yes%CEclose_comments_for_old_posts0yesB3 image_default_alignyesA1 image_default_sizeyes#@;image_default_link_typenoneyes?%large_size_h1024yes>%large_size_w1024yes=)avatar_defaultmysteryyes<'medium_size_h300yes;'medium_size_w300yes:)thumbnail_crop1yes9-thumbnail_size_h150yes8-thumbnail_size_w150yes7+ upload_url_pathyes6'avatar_ratingGyes5%show_avatars1yes4 tag_baseyes3'show_on_frontpostsyes27default_link_category2yes1#blog_public1yes0# upload_pathyes&/Guploads_use_yearmonth_folders1yes.!db_version56657yes-%!default_rolesubscriberyes,'use_trackback0yes+html_typetext/htmlyes*5comment_registration0yes#)!/stylesheettwentytwentythreeyes!(/templatetwentytwentythreeyes'+ recently_editedno&9default_email_category1yes%!gmt_offset0yes$/comment_max_links2yes,#!Aping_siteshttp://rpc.pingomatic.com/yes"' category_baseyes + moderation_keysno%blog_charsetUTF-8yeshack_file0yesR!)active_pluginsa:1:{i:0;s:41:"wordpress-importer/wordpress-importer.php";}yes' rewrite_rulesyes3 permalink_structureyes/moderation_notify1yes1comment_moderation0yes-?%links_updated_date_formatF j, Y g:i ayes#time_formatg:i ayes#date_formatF j, Yyes)posts_per_page10yes7default_pingback_flag1yes3default_ping_statusopenyes"9default_comment_statusopenyes-default_category1yes+mailserver_port110yes+mailserver_passpasswordyes)-/mailserver_loginlogin@example.comyes&)-mailserver_urlmail.example.comyes +rss_use_excerpt0yes 'posts_per_rss10yes +comments_notify1yes -1require_name_email1yes #use_smilies1yes+use_balanceTags0yes'start_of_week1yes&#3admin_emailadmin@localhost.comyes1users_can_register0yes+ blogdescriptionyes$5blognameMy WordPress Websiteyes!7homehttp://127.0.0.1:8000yes$7siteurlhttp://127.0.0.1:8000yes lG g@d1initial_db_version56657yes$cCwp_attachment_pages_enabled0yes*bEwp_force_deactivated_pluginsa:0:{}yes%a9auto_update_core_majorenabledyes%`9auto_update_core_minorenabledyes#_5auto_update_core_devenabledyes,^Kauto_plugin_theme_update_emailsa:0:{}no$]Ccomment_previously_approved1yes\+ disallowed_keysno&[5!admin_email_lifespan1712131899yes%ZEshow_comments_cookies_opt_in1yes#YAwp_page_for_privacy_policy3yesX3medium_large_size_h0yesW3medium_large_size_w768yesSe'wp_user_rolesa:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:61:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;s:11:"update_core";b:1;s:10:"list_users";b:1;s:12:"remove_users";b:1;s:13:"promote_users";b:1;s:18:"edit_theme_options";b:1;s:13:"delete_themes";b:1;s:6:"export";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}yesnd extract any location data from images on the website.

Cookies

Suggested text: If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Suggested text: Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

Suggested text: If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

Suggested text: If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Suggested text: Visitor comments may be checked through an automated spam detection service.

Privacy Policydraftclosedopenprivacy-policy2023-10-06 08:11:402023-10-06 08:11:40http://127.0.0.1:8000/?page_id=3page  w c n l 5Kj2  -jjGcrona:3:{i:1696579912;a:5:{s:32:"recovery_mode_clean_expired_keys";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}s:34:"wp_privacy_delete_old_export_files";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1696666312;a:1:{s:30:"wp_site_health_scheduled_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}yes*yQ _transient_wp_core_block_css_filesa:2:{s:7:"version";s:15:"6.4-beta2-56791";s:5:"files";a:124:{i:0;s:23:"archives/editor.min.css";i:1;s:22:"archives/style.min.css";i:2;s:20:"audio/editor.min.css";i:3;s:19:"audio/style.min.css";i:4;s:19:"audio/theme.min.css";i:5;s:21:"avatar/editor.min.css";i:6;s:20:"avatar/style.min.css";i:7;s:20:"block/editor.min.css";i:8;s:21:"button/editor.min.css";i:9;s:20:"button/style.min.css";i:10;s:22:"buttons/editor.min.css";i:11;s:21:"buttons/style.min.css";i:12;s:22:"calendar/style.min.css";i:13;s:25:"categories/editor88x1Iwidget_custom_htmla:1:{s:12:"_multiwidget";i:1;}yes5w+Iwidget_nav_menua:1:{s:12:"_multiwidget";i:1;}yes6v-Iwidget_tag_clouda:1:{s:12:"_multiwidget";i:1;}yes";}i:3;a:1:{s:7:"content";s:154:"

Recent Posts

";}i:4;a:1:{s:7:"content";s:227:"

Recent Comments

";}i:5;a:1:{s:7:"content";s:146:"

Archives

";}i:6;a:1:{s:7:"content";s:150:"

Categories

";}s:12:"_multiwidget";i:1;}yes99:.min.css";i:14;s:24:"categories/style.min.css";i:15;s:19:"code/editor.min.css";i:16;s:18:"code/style.min.css";i:17;s:18:"code/theme.min.css";i:18;s:22:"columns/editor.min.css";i:19;s:21:"columns/style.min.css";i:20;s:29:"comment-content/style.min.css";i:21;s:30:"comment-template/style.min.css";i:22;s:42:"comments-pagination-numbers/editor.min.css";i:23;s:34:"comments-pagination/editor.min.css";i:24;s:33:"comments-pagination/style.min.css";i:25;s:29:"comments-title/editor.min.css";i:26;s:23:"comments/editor.min.css";i:27;s:22:"comments/style.min.css";i:28;s:20:"cover/editor.min.css";i:29;s:19:"cover/style.min.css";i:30;s:22:"details/editor.min.css";i:31;s:21:"details/style.min.css";i:32;s:20:"embed/editor.min.css";i:33;s:19:"embed/style.min.css";i:34;s:19:"embed/theme.min.css";i:35;s:19:"file/editor.min.css";i:36;s:18:"file/style.min.css";i:37;s:23:"footnotes/style.min.css";i:38;s:23:"freeform/editor.min.css";i:39;s:22:"gallery/editor.min.css";i:40;s:21:"gallery/style.min.css";i:41;s:21:"gallery/theme.min.css";i:42;s:20:"group/editor.min.css";i:43;s:19:"group/style.min.css";i:44;s:19:"group/theme.min.css";i:45;s:21:"heading/style.min.css";i:46;s:19:"html/editor.min.css";i:47;s:20:"image/editor.min.css";i:48;s:19:"image/style.min.css";i:49;s:19:"image/theme.min.css";i:50;s:29:"latest-comments/style.min.css";i:51;s:27:"latest-posts/editor.min.css";i:52;s:26:"latest-posts/style.min.css";i:53;s:18:"list/style.min.css";i:54;s:25:"media-text/editor.min.css";i:55;s:24:"media-text/style.min.css";i:56;s:19:"more/editor.min.css";i:57;s:30:"navigation-link/editor.min.css";i:58;s:29:"navigation-link/style.min.css";i:59;s:33:"navigation-submenu/editor.min.css";i:60;s:25:"navigation/editor.min.css";i:61;s:24:"navigation/style.min.css";i:62;s:23:"nextpage/editor.min.css";i:63;s:24:"page-list/editor.min.css";i:64;s:23:"page-list/style.min.css";i:65;s:24:"paragraph/editor.min.css";i:66;s:23:"paragraph/style.min.css";i:67;s:25:"post-author/style.min.css";i:68;s:33:"post-comments-form/editor.min.css";i:69;s:32:"post-comments-form/style.min.css";i:70;s:23:"post-date/style.min.css";i:71;s:27:"post-excerpt/editor.min.css";i:72;s:26:"post-excerpt/style.min.css";i:73;s:34:"post-featured-image/editor.min.css";i:74;s:33:"post-featured-image/style.min.css";i:75;s:34:"post-navigation-link/style.min.css";i:76;s:28:"post-template/editor.min.css";i:77;s:27:"post-template/style.min.css";i:78;s:24:"post-terms/style.min.css";i:79;s:24:"post-title/style.min.css";i:80;s:26:"preformatted/style.min.css";i:81;s:24:"pullquote/editor.min.css";i:82;s:23:"pullquote/style.min.css";i:83;s:23:"pullquote/theme.min.css";i:84;s:39:"query-pagination-numbers/editor.min.css";i:85;s:31:"query-pagination/editor.min.css";i:86;s:30:"query-pagination/style.min.css";i:87;s:25:"query-title/style.min.css";i:88;s:20:"query/editor.min.css";i:89;s:19:"query/style.min.css";i:90;s:19:"quote/style.min.css";i:91;s:19:"quote/theme.min.css";i:92;s:23:"read-more/style.min.css";i:93;s:18:"rss/editor.min.css";i:94;s:17:"rss/style.min.css";i:95;s:21:"search/editor.min.css";i:96;s:20:"search/style.min.css";i:97;s:20:"search/theme.min.css";i:98;s:24:"separator/editor.min.css";i:99;s:23:"separator/style.min.css";i:100;s:23:"separator/theme.min.css";i:101;s:24:"shortcode/editor.min.css";i:102;s:24:"site-logo/editor.min.css";i:103;s:23:"site-logo/style.min.css";i:104;s:27:"site-tagline/editor.min.css";i:105;s:25:"site-title/editor.min.css";i:106;s:24:"site-title/style.min.css";i:107;s:26:"social-link/editor.min.css";i:108;s:27:"social-links/editor.min.css";i:109;s:26:"social-links/style.min.css";i:110;s:21:"spacer/editor.min.css";i:111;s:20:"spacer/style.min.css";i:112;s:20:"table/editor.min.css";i:113;s:19:"table/style.min.css";i:114;s:19:"table/theme.min.css";i:115;s:23:"tag-cloud/style.min.css";i:116;s:28:"template-part/editor.min.css";i:117;s:27:"template-part/theme.min.css";i:118;s:27:"text-columns/editor.min.css";i:119;s:26:"text-columns/style.min.css";i:120;s:19:"verse/style.min.css";i:121;s:20:"video/editor.min.css";i:122;s:19:"video/style.min.css";i:123;s:19:"video/theme.min.css";}}yes  +1require_name_email1yes #use_smilies1yes+use_balanceTags0yes'start_of_week1yes&#3admin_emailadmin@localhost.comyes1users_can_register0yes+ blogdescriptionyes$5blognameMy WordPress Websiteyes!7homehttp://127.0.0.1:8000yes$7siteurlhttp://127.0.0.1:8000yes lG g@d1initial_db_version56657yes$cCwp_attachment_pages_enabled0yes*bEwp_force_deactivated_pluginsa:0:{}yes%a9auto_update_core_majorenabledyes%`9auto_update_core_minorenabledyes#_5auto_update_core_devenabledyes,^Kauto_plugin_theme_update_emailsa:0:{}no$]Ccomment_previously_approved1yes\+ disallowed_keysno&[5!admin_email_lifespan1712218302yes%ZEshow_comments_cookies_opt_in1yes#YAwp_page_for_privacy_policy3yesX3medium_large_size_h0yesW3medium_large_size_w768yesSe'wp_user_rolesa:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:61:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;s:11:"update_core";b:1;s:10:"list_users";b:1;s:12:"remove_users";b:1;s:13:"promote_users";b:1;s:18:"edit_theme_options";b:1;s:13:"delete_themes";b:1;s:6:"export";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}yesnd extract any location data from images on the website.

Cookies

Suggested text: If you leave a comment on our site you may opt-in to saving your name, email address and website in cookies. These are for your convenience so that you do not have to fill in your details again when you leave another comment. These cookies will last for one year.

If you visit our login page, we will set a temporary cookie to determine if your browser accepts cookies. This cookie contains no personal data and is discarded when you close your browser.

When you log in, we will also set up several cookies to save your login information and your screen display choices. Login cookies last for two days, and screen options cookies last for a year. If you select "Remember Me", your login will persist for two weeks. If you log out of your account, the login cookies will be removed.

If you edit or publish an article, an additional cookie will be saved in your browser. This cookie includes no personal data and simply indicates the post ID of the article you just edited. It expires after 1 day.

Embedded content from other websites

Suggested text: Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other websites behaves in the exact same way as if the visitor has visited the other website.

These websites may collect data about you, use cookies, embed additional third-party tracking, and monitor your interaction with that embedded content, including tracking your interaction with the embedded content if you have an account and are logged in to that website.

Who we share your data with

Suggested text: If you request a password reset, your IP address will be included in the reset email.

How long we retain your data

Suggested text: If you leave a comment, the comment and its metadata are retained indefinitely. This is so we can recognize and approve any follow-up comments automatically instead of holding them in a moderation queue.

For users that register on our website (if any), we also store the personal information they provide in their user profile. All users can see, edit, or delete their personal information at any time (except they cannot change their username). Website administrators can also see and edit that information.

What rights you have over your data

Suggested text: If you have an account on this site, or have left comments, you can request to receive an exported file of the personal data we hold about you, including any data you have provided to us. You can also request that we erase any personal data we hold about you. This does not include any data we are obliged to keep for administrative, legal, or security purposes.

Where your data is sent

Suggested text: Visitor comments may be checked through an automated spam detection service.

Privacy Policydraftclosedopenprivacy-policy2023-10-07 08:11:422023-10-07 08:11:42http://127.0.0.1:8000/?page_id=3page  w c n l 5Kj2  +jjGcrona:3:{i:1696666314;a:5:{s:32:"recovery_mode_clean_expired_keys";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}s:34:"wp_privacy_delete_old_export_files";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"hourly";s:4:"args";a:0:{}s:8:"interval";i:3600;}}s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1696752714;a:1:{s:30:"wp_site_health_scheduled_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:6:"weekly";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}yes*yQ _transient_wp_core_block_css_filesa:2:{s:7:"version";s:15:"6.4-beta2-56797";s:5:"files";a:124:{i:0;s:23:"archives/editor.min.css";i:1;s:22:"archives/style.min.css";i:2;s:20:"audio/editor.min.css";i:3;s:19:"audio/style.min.css";i:4;s:19:"audio/theme.min.css";i:5;s:21:"avatar/editor.min.css";i:6;s:20:"avatar/style.min.css";i:7;s:20:"block/editor.min.css";i:8;s:21:"button/editor.min.css";i:9;s:20:"button/style.min.css";i:10;s:22:"buttons/editor.min.css";i:11;s:21:"buttons/style.min.css";i:12;s:22:"calendar/style.min.css";i:13;s:25:"categories/editor88x1Iwidget_custom_htmla:1:{s:12:"_multiwidget";i:1;}yes5w+Iwidget_nav_menua:1:{s:12:"_multiwidget";i:1;}yes6v-Iwidget_tag_clouda:1:{s:12:"_multiwidget";i:1;}yes";}i:3;a:1:{s:7:"content";s:154:"

Recent Posts

";}i:4;a:1:{s:7:"content";s:227:"

Recent Comments

";}i:5;a:1:{s:7:"content";s:146:"

Archives

";}i:6;a:1:{s:7:"content";s:150:"

Categories

";}s:12:"_multiwidget";i:1;}yes99:.min.css";i:14;s:24:"categories/style.min.css";i:15;s:19:"code/editor.min.css";i:16;s:18:"code/style.min.css";i:17;s:18:"code/theme.min.css";i:18;s:22:"columns/editor.min.css";i:19;s:21:"columns/style.min.css";i:20;s:29:"comment-content/style.min.css";i:21;s:30:"comment-template/style.min.css";i:22;s:42:"comments-pagination-numbers/editor.min.css";i:23;s:34:"comments-pagination/editor.min.css";i:24;s:33:"comments-pagination/style.min.css";i:25;s:29:"comments-title/editor.min.css";i:26;s:23:"comments/editor.min.css";i:27;s:22:"comments/style.min.css";i:28;s:20:"cover/editor.min.css";i:29;s:19:"cover/style.min.css";i:30;s:22:"details/editor.min.css";i:31;s:21:"details/style.min.css";i:32;s:20:"embed/editor.min.css";i:33;s:19:"embed/style.min.css";i:34;s:19:"embed/theme.min.css";i:35;s:19:"file/editor.min.css";i:36;s:18:"file/style.min.css";i:37;s:23:"footnotes/style.min.css";i:38;s:23:"freeform/editor.min.css";i:39;s:22:"gallery/editor.min.css";i:40;s:21:"gallery/style.min.css";i:41;s:21:"gallery/theme.min.css";i:42;s:20:"group/editor.min.css";i:43;s:19:"group/style.min.css";i:44;s:19:"group/theme.min.css";i:45;s:21:"heading/style.min.css";i:46;s:19:"html/editor.min.css";i:47;s:20:"image/editor.min.css";i:48;s:19:"image/style.min.css";i:49;s:19:"image/theme.min.css";i:50;s:29:"latest-comments/style.min.css";i:51;s:27:"latest-posts/editor.min.css";i:52;s:26:"latest-posts/style.min.css";i:53;s:18:"list/style.min.css";i:54;s:25:"media-text/editor.min.css";i:55;s:24:"media-text/style.min.css";i:56;s:19:"more/editor.min.css";i:57;s:30:"navigation-link/editor.min.css";i:58;s:29:"navigation-link/style.min.css";i:59;s:33:"navigation-submenu/editor.min.css";i:60;s:25:"navigation/editor.min.css";i:61;s:24:"navigation/style.min.css";i:62;s:23:"nextpage/editor.min.css";i:63;s:24:"page-list/editor.min.css";i:64;s:23:"page-list/style.min.css";i:65;s:24:"paragraph/editor.min.css";i:66;s:23:"paragraph/style.min.css";i:67;s:25:"post-author/style.min.css";i:68;s:33:"post-comments-form/editor.min.css";i:69;s:32:"post-comments-form/style.min.css";i:70;s:23:"post-date/style.min.css";i:71;s:27:"post-excerpt/editor.min.css";i:72;s:26:"post-excerpt/style.min.css";i:73;s:34:"post-featured-image/editor.min.css";i:74;s:33:"post-featured-image/style.min.css";i:75;s:34:"post-navigation-link/style.min.css";i:76;s:28:"post-template/editor.min.css";i:77;s:27:"post-template/style.min.css";i:78;s:24:"post-terms/style.min.css";i:79;s:24:"post-title/style.min.css";i:80;s:26:"preformatted/style.min.css";i:81;s:24:"pullquote/editor.min.css";i:82;s:23:"pullquote/style.min.css";i:83;s:23:"pullquote/theme.min.css";i:84;s:39:"query-pagination-numbers/editor.min.css";i:85;s:31:"query-pagination/editor.min.css";i:86;s:30:"query-pagination/style.min.css";i:87;s:25:"query-title/style.min.css";i:88;s:20:"query/editor.min.css";i:89;s:19:"query/style.min.css";i:90;s:19:"quote/style.min.css";i:91;s:19:"quote/theme.min.css";i:92;s:23:"read-more/style.min.css";i:93;s:18:"rss/editor.min.css";i:94;s:17:"rss/style.min.css";i:95;s:21:"search/editor.min.css";i:96;s:20:"search/style.min.css";i:97;s:20:"search/theme.min.css";i:98;s:24:"separator/editor.min.css";i:99;s:23:"separator/style.min.css";i:100;s:23:"separator/theme.min.css";i:101;s:24:"shortcode/editor.min.css";i:102;s:24:"site-logo/editor.min.css";i:103;s:23:"site-logo/style.min.css";i:104;s:27:"site-tagline/editor.min.css";i:105;s:25:"site-title/editor.min.css";i:106;s:24:"site-title/style.min.css";i:107;s:26:"social-link/editor.min.css";i:108;s:27:"social-links/editor.min.css";i:109;s:26:"social-links/style.min.css";i:110;s:21:"spacer/editor.min.css";i:111;s:20:"spacer/style.min.css";i:112;s:20:"table/editor.min.css";i:113;s:19:"table/style.min.css";i:114;s:19:"table/theme.min.css";i:115;s:23:"tag-cloud/style.min.css";i:116;s:28:"template-part/editor.min.css";i:117;s:27:"template-part/theme.min.css";i:118;s:27:"text-columns/editor.min.css";i:119;s:26:"text-columns/style.min.css";i:120;s:19:"verse/style.min.css";i:121;s:20:"video/editor.min.css";i:122;s:19:"video/style.min.css";i:123;s:19:"video/theme.min.css";}}yes  - m -->}7O_transient_doing_cron1696579912.2804799079895019531250yes|i?_transient_wp_theme_patterns_twentytwentythreea:2:{s:7:"version";s:3:"1.2";s:8:"patterns";a:6:{s:18:"call-to-action.php";a:6:{s:5:"title";s:14:"Call to action";s:4:"slug";s:21:"twentytwentythree/cta";s:11:"description";s:0:"";s:10:"categories";a:1:{i:0;s:8:"featured";}s:8:"keywords";a:3:{i:0;s:4:"Call";i:1;s:2:"to";i:2;s:6:"action";}s:10:"blockTypes";a:1:{i:0;s:12:"core/buttons";}}s:18:"footer-default.php";a:5:{s:5:"title";s:14:"Default Footer";s:4:"slug";s:32:"twentytwentythree/footer-default";s:11:"description";s:0:"";s:10:"categories";a:1:{i:0;s:6:"footer";}s:10:"blockTypes";a:1:{i:0;s:25:"core/template-part/footer";}}s:14:"hidden-404.php";a:4:{s:5:"title";s:10:"Hidden 404";s:4:"slug";s:28:"twentytwentythree/hidden-404";s:11:"description";s:0:"";s:8:"inserter";b:0;}s:19:"hidden-comments.php";a:4:{s:5:"title";s:15:"Hidden Comments";s:4:"slug";s:33:"twentytwentythree/hidden-comments";s:11:"description";s:0:"";s:8:"inserter";b:0;}s:21:"hidden-no-results.php";a:4:{s:5:"title";s:25:"Hidden No Results Content";s:4:"slug";s:43:"twentytwentythree/hidden-no-results-content";s:11:"description";s:0:"";s:8:"inserter";b:0;}s:13:"post-meta.php";a:6:{s:5:"title";s:9:"Post Meta";s:4:"slug";s:27:"twentytwentythree/post-meta";s:11:"description";s:0:"";s:10:"categories";a:1:{i:0;s:5:"query";}s:8:"keywords";a:2:{i:0;s:4:"post";i:1;s:4:"meta";}s:10:"blockTypes";a:1:{i:0;s:28:"core/template-part/post-meta";}}}}yesDENY FROM ALL}7O_transient_doing_cron1696666314.9777450561523437500000yes|i?_transient_wp_theme_patterns_twentytwentythreea:2:{s:7:"version";s:3:"1.2";s:8:"patterns";a:6:{s:18:"call-to-action.php";a:6:{s:5:"title";s:14:"Call to action";s:4:"slug";s:21:"twentytwentythree/cta";s:11:"description";s:0:"";s:10:"categories";a:1:{i:0;s:8:"featured";}s:8:"keywords";a:3:{i:0;s:4:"Call";i:1;s:2:"to";i:2;s:6:"action";}s:10:"blockTypes";a:1:{i:0;s:12:"core/buttons";}}s:18:"footer-default.php";a:5:{s:5:"title";s:14:"Default Footer";s:4:"slug";s:32:"twentytwentythree/footer-default";s:11:"description";s:0:"";s:10:"categories";a:1:{i:0;s:6:"footer";}s:10:"blockTypes";a:1:{i:0;s:25:"core/template-part/footer";}}s:14:"hidden-404.php";a:4:{s:5:"title";s:10:"Hidden 404";s:4:"slug";s:28:"twentytwentythree/hidden-404";s:11:"description";s:0:"";s:8:"inserter";b:0;}s:19:"hidden-comments.php";a:4:{s:5:"title";s:15:"Hidden Comments";s:4:"slug";s:33:"twentytwentythree/hidden-comments";s:11:"description";s:0:"";s:8:"inserter";b:0;}s:21:"hidden-no-results.php";a:4:{s:5:"title";s:25:"Hidden No Results Content";s:4:"slug";s:43:"twentytwentythree/hidden-no-results-content";s:11:"description";s:0:"";s:8:"inserter";b:0;}s:13:"post-meta.php";a:6:{s:5:"title";s:9:"Post Meta";s:4:"slug";s:27:"twentytwentythree/post-meta";s:11:"description";s:0:"";s:10:"categories";a:1:{i:0;s:5:"query";}s:8:"keywords";a:2:{i:0;s:4:"post";i:1;s:4:"meta";}s:10:"blockTypes";a:1:{i:0;s:28:"core/template-part/post-meta";}}}}yesDENY FROM ALLexport(); exit; } } class Export_WXZ { public $filelist = array(); public $filename; public function __construct( $args = array() ) { global $wpdb, $post; $defaults = array( 'content' => 'all', 'author' => false, 'category' => false, 'start_date' => false, 'end_date' => false, 'status' => false, ); $this->args = wp_parse_args( $args, $defaults ); $sitename = sanitize_key( get_bloginfo( 'name' ) ); if ( ! empty( $sitename ) ) { $sitename .= '.'; } $date = gmdate( 'Y-m-d' ); $wp_filename = $sitename . 'WordPress.' . $date . '.wxz'; $this->filename = apply_filters( 'export_wp_filename', $wp_filename, $sitename, $date ); } private function json_encode( $json ) { return json_encode( $json, JSON_PRETTY_PRINT ); } private function add_file( $filename, $content, $write_to_dir = false ) { require_once ABSPATH . '/wp-admin/includes/class-pclzip.php'; $this->filelist[] = array( PCLZIP_ATT_FILE_NAME => $filename, PCLZIP_ATT_FILE_CONTENT => $content, ); if ( $write_to_dir ) { $dir = dirname( $filename ); $write_to_dir = rtrim( $write_to_dir, '/' ) . '/'; if ( ! file_exists( $write_to_dir . $dir ) ) { mkdir( $write_to_dir . $dir, 0777, true ); } file_put_contents( $write_to_dir . $filename, $content ); } return $filename; } private function output_wxz() { if ( empty( $this->filelist ) ) { return new WP_Error( 'no-files', 'No files to write.' ); } require_once ABSPATH . '/wp-admin/includes/class-pclzip.php'; $zip = tempnam( '/tmp/', $this->filename . '.zip' ); $archive = new PclZip( $zip ); $archive->create( array( array( PCLZIP_ATT_FILE_NAME => 'mimetype', PCLZIP_ATT_FILE_CONTENT => 'application/vnd.wordpress.export+zip', ), ), PCLZIP_OPT_NO_COMPRESSION ); $archive->add( $this->filelist ); readfile( $zip ); unlink( $zip ); } public function export() { global $wpdb, $post; if ( 'all' !== $this->args['content'] && post_type_exists( $this->args['content'] ) ) { $ptype = get_post_type_object( $this->args['content'] ); if ( ! $ptype->can_export ) { $this->args['content'] = 'post'; } $where = $wpdb->prepare( "{$wpdb->posts}.post_type = %s", $this->args['content'] ); } else { $post_types = get_post_types( array( 'can_export' => true ) ); $esses = array_fill( 0, count( $post_types ), '%s' ); $where = $wpdb->prepare( "{$wpdb->posts}.post_type IN (" . implode( ',', $esses ) . ')', $post_types ); } if ( $this->args['status'] && ( 'post' === $this->args['content'] || 'page' === $this->args['content'] ) ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_status = %s", $this->args['status'] ); } else { $where .= " AND {$wpdb->posts}.post_status != 'auto-draft'"; } $join = ''; if ( $this->args['category'] && 'post' === $this->args['content'] ) { $term = term_exists( $this->args['category'], 'category' ); if ( $term ) { $join = "INNER JOIN {$wpdb->term_relationships} ON ({$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id)"; $where .= $wpdb->prepare( " AND {$wpdb->term_relationships}.term_taxonomy_id = %d", $term['term_taxonomy_id'] ); } } if ( in_array( $this->args['content'], array( 'post', 'page', 'attachment' ), true ) ) { if ( $this->args['author'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_author = %d", $this->args['author'] ); } if ( $this->args['start_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date >= %s", gmdate( 'Y-m-d', strtotime( $this->args['start_date'] ) ) ); } if ( $this->args['end_date'] ) { $where .= $wpdb->prepare( " AND {$wpdb->posts}.post_date < %s", gmdate( 'Y-m-d', strtotime( '+1 month', strtotime( $this->args['end_date'] ) ) ) ); } } $post_ids = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} $join WHERE $where" ); $cats = array(); $tags = array(); $terms = array(); if ( isset( $term ) && $term ) { $cat = get_term( $term['term_id'], 'category' ); $cats = array( $cat->term_id => $cat ); unset( $term, $cat ); } elseif ( 'all' === $this->args['content'] ) { $categories = (array) get_categories( array( 'get' => 'all' ) ); $tags = (array) get_tags( array( 'get' => 'all' ) ); $custom_taxonomies = get_taxonomies( array( '_builtin' => false ) ); $custom_terms = (array) get_terms( array( 'taxonomy' => $custom_taxonomies, 'get' => 'all', ) ); while ( $cat = array_shift( $categories ) ) { if ( 0 == $cat->parent || isset( $cats[ $cat->parent ] ) ) { $cats[ $cat->term_id ] = $cat; } else { $categories[] = $cat; } } while ( $t = array_shift( $custom_terms ) ) { if ( 0 == $t->parent || isset( $terms[ $t->parent ] ) ) { $terms[ $t->term_id ] = $t; } else { $custom_terms[] = $t; } } unset( $categories, $custom_taxonomies, $custom_terms ); } $this->add_file( 'site/config.json', $this->json_encode( $this->get_blog_details() ) ); $this->export_authors(); $this->export_nav_menu_terms(); foreach ( $cats as $c ) { $this->add_file( 'terms/' . intval( $c->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $c->term_id ), 'taxonomy' => $c->taxonomy, 'name' => $c->name, 'slug' => $c->slug, 'parent' => $c->parent ? $cats[ $c->parent ]->slug : '', 'description' => $c->description, 'termmeta' => $this->termmeta( $c ), ) ) ); } foreach ( $tags as $t ) { $this->add_file( 'terms/' . intval( $t->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $t->term_id ), 'taxonomy' => $t->taxonomy, 'name' => $t->name, 'slug' => $t->slug, 'description' => $t->description, 'termmeta' => $this->termmeta( $t ), ) ) ); } foreach ( $terms as $t ) { $this->add_file( 'terms/' . intval( $t->term_id ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $t->term_id ), 'taxonomy' => $t->taxonomy, 'name' => $t->name, 'slug' => $t->slug, 'parent' => $t->parent ? $terms[ $t->parent ]->slug : '', 'description' => $t->description, 'termmeta' => $this->termmeta( $t ), ) ) ); } if ( 'all' === $this->args['content'] ) { $this->export_nav_menu_terms(); } if ( $post_ids ) { global $wp_query; $wp_query->in_the_loop = true; while ( $next_posts = array_splice( $post_ids, 0, 20 ) ) { $where = 'WHERE ID IN (' . implode( ',', $next_posts ) . ')'; $posts = $wpdb->get_results( "SELECT * FROM {$wpdb->posts} $where" ); foreach ( $posts as $post ) { setup_postdata( $post ); $title = apply_filters( 'the_title_export', $post->post_title ); $content = apply_filters( 'the_content_export', $post->post_content ); $excerpt = apply_filters( 'the_excerpt_export', $post->post_excerpt ); $is_sticky = is_sticky( $post->ID ) ? 1 : 0; $data = array( 'version' => 1, 'title' => $title, 'author' => get_the_author_meta( 'login' ), 'status' => $post->post_status, 'content' => $content, 'excerpt' => $excerpt, 'type' => $post->post_type, 'parent' => $post->post_parent, 'password' => $post->post_password, 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'menu_order' => intval( $post->menu_order ), 'is_sticky' => $is_sticky, 'date_utc' => $post->post_date_gmt, 'date_modified_utc' => $post->post_modified_gmt, 'postmeta' => $this->postmeta( $post->ID ), ); if ( 'attachment' === $post->post_type ) { $data['attachment_url'] = wp_get_attachment_url( $post->ID ); } $this->add_file( 'posts/' . intval( $post->ID ) . '.json', $this->json_encode( $data ) ); } } } header( 'Content-Description: File Transfer' ); header( 'Content-Disposition: attachment; filename=' . $this->filename ); header( 'Content-Type: application/zip; charset=' . get_option( 'blog_charset' ), true ); $this->output_wxz(); } private function get_blog_details() { if ( is_multisite() ) { $base_site_url = network_home_url(); } else { $base_site_url = get_bloginfo_rss( 'url' ); } return array( 'version' => 1, 'title' => get_bloginfo_rss( 'name' ), 'link' => get_bloginfo_rss( 'url' ), 'description' => get_bloginfo_rss( 'description' ), 'date' => gmdate( 'D, d M Y H:i:s +0000' ), 'language' => get_bloginfo_rss( 'language' ), 'base_site_url' => $base_site_url, 'base_blog_url' => get_bloginfo_rss( 'url' ), ); } private function export_authors( array $post_ids = null ) { global $wpdb; if ( ! empty( $post_ids ) ) { $post_ids = array_map( 'absint', $post_ids ); $and = 'AND ID IN ( ' . implode( ', ', $post_ids ) . ')'; } else { $and = ''; } $authors = array(); $results = $wpdb->get_results( "SELECT DISTINCT post_author FROM $wpdb->posts WHERE post_status != 'auto-draft' $and" ); foreach ( (array) $results as $result ) { $authors[] = get_userdata( $result->post_author ); } $authors = array_filter( $authors ); foreach ( $authors as $author ) { $this->add_file( 'users/' . intval( $author->ID ) . '.json', $this->json_encode( array( 'version' => 1, 'id' => intval( $author->ID ), 'username' => $author->user_login, 'display_name' => $author->display_name, 'email' => $author->user_email, ) ) ); } } private function export_nav_menu_terms() { $nav_menus = wp_get_nav_menus(); if ( empty( $nav_menus ) || ! is_array( $nav_menus ) ) { return; } foreach ( $nav_menus as $menu ) { $this->add_file( 'terms/' . intval( $menu->term_id ) . '.json', $this->json_encode( array( 'taxonomy' => 'nav_menu', 'name' => $menu->name, 'slug' => $menu->slug, ) ) ); } } function export_post_taxonomy() { $post = get_post(); $taxonomies = get_object_taxonomies( $post->post_type ); if ( empty( $taxonomies ) ) { return; } $terms = wp_get_object_terms( $post->ID, $taxonomies ); foreach ( (array) $terms as $term ) { $this->add_file( 'categories/' . intval( $term->term_id ) . '.json', $this->json_encode( array( 'taxonomy' => $term->taxonomy, 'name' => $term->name, 'slug' => $term->slug, ) ) ); } } private function termmeta( $term ) { global $wpdb; $termmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->termmeta WHERE term_id = %d", $term->term_id ) ); $metadata = array(); foreach ( $termmeta as $meta ) { if ( ! apply_filters( 'wxr_export_skip_termmeta', false, $meta->meta_key, $meta ) ) { $metadata[ $meta->meta_key ] = $meta->meta_value; } } return $metadata; } private function postmeta( $id ) { global $wpdb; $postmeta = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->postmeta WHERE post_id = %d", $id ) ); $metadata = array(); foreach ( $postmeta as $meta ) { if ( apply_filters( 'wxr_export_skip_postmeta', false, $meta->meta_key, $meta ) ) { continue; } $metadata[ $meta->meta_key ] = $meta->meta_value; } return $metadata; } } _subject = $subject; $this->_matches = $matches; $this->output = $this->_map(); } public static function apply( $subject, $matches ) { $oSelf = new WP_MatchesMapRegex( $subject, $matches ); return $oSelf->output; } private function _map() { $callback = array( $this, 'callback' ); return preg_replace_callback( $this->_pattern, $callback, $this->_subject ); } public function callback( $matches ) { $index = (int) substr( $matches[0], 9, -1 ); return ( isset( $this->_matches[ $index ] ) ? urlencode( $this->_matches[ $index ] ) : '' ); } } relation = 'OR'; } else { $this->relation = 'AND'; } $this->queries = $this->sanitize_query( $meta_query ); } public function sanitize_query( $queries ) { $clean_queries = array(); if ( ! is_array( $queries ) ) { return $clean_queries; } foreach ( $queries as $key => $query ) { if ( 'relation' === $key ) { $relation = $query; } elseif ( ! is_array( $query ) ) { continue; } elseif ( $this->is_first_order_clause( $query ) ) { if ( isset( $query['value'] ) && array() === $query['value'] ) { unset( $query['value'] ); } $clean_queries[ $key ] = $query; } else { $cleaned_query = $this->sanitize_query( $query ); if ( ! empty( $cleaned_query ) ) { $clean_queries[ $key ] = $cleaned_query; } } } if ( empty( $clean_queries ) ) { return $clean_queries; } if ( isset( $relation ) && 'OR' === strtoupper( $relation ) ) { $clean_queries['relation'] = 'OR'; $this->has_or_relation = true; } elseif ( 1 === count( $clean_queries ) ) { $clean_queries['relation'] = 'OR'; } else { $clean_queries['relation'] = 'AND'; } return $clean_queries; } protected function is_first_order_clause( $query ) { return isset( $query['key'] ) || isset( $query['value'] ); } public function parse_query_vars( $qv ) { $meta_query = array(); $primary_meta_query = array(); foreach ( array( 'key', 'compare', 'type', 'compare_key', 'type_key' ) as $key ) { if ( ! empty( $qv[ "meta_$key" ] ) ) { $primary_meta_query[ $key ] = $qv[ "meta_$key" ]; } } if ( isset( $qv['meta_value'] ) && '' !== $qv['meta_value'] && ( ! is_array( $qv['meta_value'] ) || $qv['meta_value'] ) ) { $primary_meta_query['value'] = $qv['meta_value']; } $existing_meta_query = isset( $qv['meta_query'] ) && is_array( $qv['meta_query'] ) ? $qv['meta_query'] : array(); if ( ! empty( $primary_meta_query ) && ! empty( $existing_meta_query ) ) { $meta_query = array( 'relation' => 'AND', $primary_meta_query, $existing_meta_query, ); } elseif ( ! empty( $primary_meta_query ) ) { $meta_query = array( $primary_meta_query, ); } elseif ( ! empty( $existing_meta_query ) ) { $meta_query = $existing_meta_query; } $this->__construct( $meta_query ); } public function get_cast_for_type( $type = '' ) { if ( empty( $type ) ) { return 'CHAR'; } $meta_type = strtoupper( $type ); if ( ! preg_match( '/^(?:BINARY|CHAR|DATE|DATETIME|SIGNED|UNSIGNED|TIME|NUMERIC(?:\(\d+(?:,\s?\d+)?\))?|DECIMAL(?:\(\d+(?:,\s?\d+)?\))?)$/', $meta_type ) ) { return 'CHAR'; } if ( 'NUMERIC' === $meta_type ) { $meta_type = 'SIGNED'; } return $meta_type; } public function get_sql( $type, $primary_table, $primary_id_column, $context = null ) { $meta_table = _get_meta_table( $type ); if ( ! $meta_table ) { return false; } $this->table_aliases = array(); $this->meta_table = $meta_table; $this->meta_id_column = sanitize_key( $type . '_id' ); $this->primary_table = $primary_table; $this->primary_id_column = $primary_id_column; $sql = $this->get_sql_clauses(); if ( str_contains( $sql['join'], 'LEFT JOIN' ) ) { $sql['join'] = str_replace( 'INNER JOIN', 'LEFT JOIN', $sql['join'] ); } return apply_filters_ref_array( 'get_meta_sql', array( $sql, $this->queries, $type, $primary_table, $primary_id_column, $context ) ); } protected function get_sql_clauses() { $queries = $this->queries; $sql = $this->get_sql_for_query( $queries ); if ( ! empty( $sql['where'] ) ) { $sql['where'] = ' AND ' . $sql['where']; } return $sql; } protected function get_sql_for_query( &$query, $depth = 0 ) { $sql_chunks = array( 'join' => array(), 'where' => array(), ); $sql = array( 'join' => '', 'where' => '', ); $indent = ''; for ( $i = 0; $i < $depth; $i++ ) { $indent .= ' '; } foreach ( $query as $key => &$clause ) { if ( 'relation' === $key ) { $relation = $query['relation']; } elseif ( is_array( $clause ) ) { if ( $this->is_first_order_clause( $clause ) ) { $clause_sql = $this->get_sql_for_clause( $clause, $query, $key ); $where_count = count( $clause_sql['where'] ); if ( ! $where_count ) { $sql_chunks['where'][] = ''; } elseif ( 1 === $where_count ) { $sql_chunks['where'][] = $clause_sql['where'][0]; } else { $sql_chunks['where'][] = '( ' . implode( ' AND ', $clause_sql['where'] ) . ' )'; } $sql_chunks['join'] = array_merge( $sql_chunks['join'], $clause_sql['join'] ); } else { $clause_sql = $this->get_sql_for_query( $clause, $depth + 1 ); $sql_chunks['where'][] = $clause_sql['where']; $sql_chunks['join'][] = $clause_sql['join']; } } } $sql_chunks['join'] = array_filter( $sql_chunks['join'] ); $sql_chunks['where'] = array_filter( $sql_chunks['where'] ); if ( empty( $relation ) ) { $relation = 'AND'; } if ( ! empty( $sql_chunks['join'] ) ) { $sql['join'] = implode( ' ', array_unique( $sql_chunks['join'] ) ); } if ( ! empty( $sql_chunks['where'] ) ) { $sql['where'] = '( ' . "\n " . $indent . implode( ' ' . "\n " . $indent . $relation . ' ' . "\n " . $indent, $sql_chunks['where'] ) . "\n" . $indent . ')'; } return $sql; } public function get_sql_for_clause( &$clause, $parent_query, $clause_key = '' ) { global $wpdb; $sql_chunks = array( 'where' => array(), 'join' => array(), ); if ( isset( $clause['compare'] ) ) { $clause['compare'] = strtoupper( $clause['compare'] ); } else { $clause['compare'] = isset( $clause['value'] ) && is_array( $clause['value'] ) ? 'IN' : '='; } $non_numeric_operators = array( '=', '!=', 'LIKE', 'NOT LIKE', 'IN', 'NOT IN', 'EXISTS', 'NOT EXISTS', 'RLIKE', 'REGEXP', 'NOT REGEXP', ); $numeric_operators = array( '>', '>=', '<', '<=', 'BETWEEN', 'NOT BETWEEN', ); if ( ! in_array( $clause['compare'], $non_numeric_operators, true ) && ! in_array( $clause['compare'], $numeric_operators, true ) ) { $clause['compare'] = '='; } if ( isset( $clause['compare_key'] ) ) { $clause['compare_key'] = strtoupper( $clause['compare_key'] ); } else { $clause['compare_key'] = isset( $clause['key'] ) && is_array( $clause['key'] ) ? 'IN' : '='; } if ( ! in_array( $clause['compare_key'], $non_numeric_operators, true ) ) { $clause['compare_key'] = '='; } $meta_compare = $clause['compare']; $meta_compare_key = $clause['compare_key']; $join = ''; $alias = $this->find_compatible_table_alias( $clause, $parent_query ); if ( false === $alias ) { $i = count( $this->table_aliases ); $alias = $i ? 'mt' . $i : $this->meta_table; if ( 'NOT EXISTS' === $meta_compare ) { $join .= " LEFT JOIN $this->meta_table"; $join .= $i ? " AS $alias" : ''; if ( 'LIKE' === $meta_compare_key ) { $join .= $wpdb->prepare( " ON ( $this->primary_table.$this->primary_id_column = $alias.$this->meta_id_column AND $alias.meta_key LIKE %s )", '%' . $wpdb->esc_like( $clause['key'] ) . '%' ); } else { $join .= $wpdb->prepare( " ON ( $this->primary_table.$this->primary_id_column = $alias.$this->meta_id_column AND $alias.meta_key = %s )", $clause['key'] ); } } else { $join .= " INNER JOIN $this->meta_table"; $join .= $i ? " AS $alias" : ''; $join .= " ON ( $this->primary_table.$this->primary_id_column = $alias.$this->meta_id_column )"; } $this->table_aliases[] = $alias; $sql_chunks['join'][] = $join; } $clause['alias'] = $alias; $_meta_type = isset( $clause['type'] ) ? $clause['type'] : ''; $meta_type = $this->get_cast_for_type( $_meta_type ); $clause['cast'] = $meta_type; if ( is_int( $clause_key ) || ! $clause_key ) { $clause_key = $clause['alias']; } $iterator = 1; $clause_key_base = $clause_key; while ( isset( $this->clauses[ $clause_key ] ) ) { $clause_key = $clause_key_base . '-' . $iterator; ++$iterator; } $this->clauses[ $clause_key ] =& $clause; if ( array_key_exists( 'key', $clause ) ) { if ( 'NOT EXISTS' === $meta_compare ) { $sql_chunks['where'][] = $alias . '.' . $this->meta_id_column . ' IS NULL'; } else { if ( in_array( $meta_compare_key, array( '!=', 'NOT IN', 'NOT LIKE', 'NOT EXISTS', 'NOT REGEXP' ), true ) ) { $i = count( $this->table_aliases ); $subquery_alias = $i ? 'mt' . $i : $this->meta_table; $this->table_aliases[] = $subquery_alias; $meta_compare_string_start = 'NOT EXISTS ('; $meta_compare_string_start .= "SELECT 1 FROM $wpdb->postmeta $subquery_alias "; $meta_compare_string_start .= "WHERE $subquery_alias.post_ID = $alias.post_ID "; $meta_compare_string_end = 'LIMIT 1'; $meta_compare_string_end .= ')'; } switch ( $meta_compare_key ) { case '=': case 'EXISTS': $where = $wpdb->prepare( "$alias.meta_key = %s", trim( $clause['key'] ) ); break; case 'LIKE': $meta_compare_value = '%' . $wpdb->esc_like( trim( $clause['key'] ) ) . '%'; $where = $wpdb->prepare( "$alias.meta_key LIKE %s", $meta_compare_value ); break; case 'IN': $meta_compare_string = "$alias.meta_key IN (" . substr( str_repeat( ',%s', count( $clause['key'] ) ), 1 ) . ')'; $where = $wpdb->prepare( $meta_compare_string, $clause['key'] ); break; case 'RLIKE': case 'REGEXP': $operator = $meta_compare_key; if ( isset( $clause['type_key'] ) && 'BINARY' === strtoupper( $clause['type_key'] ) ) { $cast = 'BINARY'; $meta_key = "CAST($alias.meta_key AS BINARY)"; } else { $cast = ''; $meta_key = "$alias.meta_key"; } $where = $wpdb->prepare( "$meta_key $operator $cast %s", trim( $clause['key'] ) ); break; case '!=': case 'NOT EXISTS': $meta_compare_string = $meta_compare_string_start . "AND $subquery_alias.meta_key = %s " . $meta_compare_string_end; $where = $wpdb->prepare( $meta_compare_string, $clause['key'] ); break; case 'NOT LIKE': $meta_compare_string = $meta_compare_string_start . "AND $subquery_alias.meta_key LIKE %s " . $meta_compare_string_end; $meta_compare_value = '%' . $wpdb->esc_like( trim( $clause['key'] ) ) . '%'; $where = $wpdb->prepare( $meta_compare_string, $meta_compare_value ); break; case 'NOT IN': $array_subclause = '(' . substr( str_repeat( ',%s', count( $clause['key'] ) ), 1 ) . ') '; $meta_compare_string = $meta_compare_string_start . "AND $subquery_alias.meta_key IN " . $array_subclause . $meta_compare_string_end; $where = $wpdb->prepare( $meta_compare_string, $clause['key'] ); break; case 'NOT REGEXP': $operator = $meta_compare_key; if ( isset( $clause['type_key'] ) && 'BINARY' === strtoupper( $clause['type_key'] ) ) { $cast = 'BINARY'; $meta_key = "CAST($subquery_alias.meta_key AS BINARY)"; } else { $cast = ''; $meta_key = "$subquery_alias.meta_key"; } $meta_compare_string = $meta_compare_string_start . "AND $meta_key REGEXP $cast %s " . $meta_compare_string_end; $where = $wpdb->prepare( $meta_compare_string, $clause['key'] ); break; } $sql_chunks['where'][] = $where; } } if ( array_key_exists( 'value', $clause ) ) { $meta_value = $clause['value']; if ( in_array( $meta_compare, array( 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN' ), true ) ) { if ( ! is_array( $meta_value ) ) { $meta_value = preg_split( '/[,\s]+/', $meta_value ); } } elseif ( is_string( $meta_value ) ) { $meta_value = trim( $meta_value ); } switch ( $meta_compare ) { case 'IN': case 'NOT IN': $meta_compare_string = '(' . substr( str_repeat( ',%s', count( $meta_value ) ), 1 ) . ')'; $where = $wpdb->prepare( $meta_compare_string, $meta_value ); break; case 'BETWEEN': case 'NOT BETWEEN': $where = $wpdb->prepare( '%s AND %s', $meta_value[0], $meta_value[1] ); break; case 'LIKE': case 'NOT LIKE': $meta_value = '%' . $wpdb->esc_like( $meta_value ) . '%'; $where = $wpdb->prepare( '%s', $meta_value ); break; case 'EXISTS': $meta_compare = '='; $where = $wpdb->prepare( '%s', $meta_value ); break; case 'NOT EXISTS': $where = ''; break; default: $where = $wpdb->prepare( '%s', $meta_value ); break; } if ( $where ) { if ( 'CHAR' === $meta_type ) { $sql_chunks['where'][] = "$alias.meta_value {$meta_compare} {$where}"; } else { $sql_chunks['where'][] = "CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$where}"; } } } if ( 1 < count( $sql_chunks['where'] ) ) { $sql_chunks['where'] = array( '( ' . implode( ' AND ', $sql_chunks['where'] ) . ' )' ); } return $sql_chunks; } public function get_clauses() { return $this->clauses; } protected function find_compatible_table_alias( $clause, $parent_query ) { $alias = false; foreach ( $parent_query as $sibling ) { if ( empty( $sibling['alias'] ) ) { continue; } if ( ! is_array( $sibling ) || ! $this->is_first_order_clause( $sibling ) ) { continue; } $compatible_compares = array(); if ( 'OR' === $parent_query['relation'] ) { $compatible_compares = array( '=', 'IN', 'BETWEEN', 'LIKE', 'REGEXP', 'RLIKE', '>', '>=', '<', '<=' ); } elseif ( isset( $sibling['key'] ) && isset( $clause['key'] ) && $sibling['key'] === $clause['key'] ) { $compatible_compares = array( '!=', 'NOT IN', 'NOT LIKE' ); } $clause_compare = strtoupper( $clause['compare'] ); $sibling_compare = strtoupper( $sibling['compare'] ); if ( in_array( $clause_compare, $compatible_compares, true ) && in_array( $sibling_compare, $compatible_compares, true ) ) { $alias = preg_replace( '/\W/', '_', $sibling['alias'] ); break; } } return apply_filters( 'meta_query_find_compatible_table_alias', $alias, $clause, $parent_query, $this ); } public function has_or_relation() { return $this->has_or_relation; } } settings = array( 'term' => array( 'filter' => 'get_term_metadata', 'callback' => array( $this, 'lazyload_meta_callback' ), ), 'comment' => array( 'filter' => 'get_comment_metadata', 'callback' => array( $this, 'lazyload_meta_callback' ), ), 'blog' => array( 'filter' => 'get_blog_metadata', 'callback' => array( $this, 'lazyload_meta_callback' ), ), ); } public function queue_objects( $object_type, $object_ids ) { if ( ! isset( $this->settings[ $object_type ] ) ) { return new WP_Error( 'invalid_object_type', __( 'Invalid object type.' ) ); } $type_settings = $this->settings[ $object_type ]; if ( ! isset( $this->pending_objects[ $object_type ] ) ) { $this->pending_objects[ $object_type ] = array(); } foreach ( $object_ids as $object_id ) { if ( ! isset( $this->pending_objects[ $object_type ][ $object_id ] ) ) { $this->pending_objects[ $object_type ][ $object_id ] = 1; } } add_filter( $type_settings['filter'], $type_settings['callback'], 10, 5 ); do_action( 'metadata_lazyloader_queued_objects', $object_ids, $object_type, $this ); } public function reset_queue( $object_type ) { if ( ! isset( $this->settings[ $object_type ] ) ) { return new WP_Error( 'invalid_object_type', __( 'Invalid object type.' ) ); } $type_settings = $this->settings[ $object_type ]; $this->pending_objects[ $object_type ] = array(); remove_filter( $type_settings['filter'], $type_settings['callback'] ); } public function lazyload_term_meta( $check ) { _deprecated_function( __METHOD__, '6.3.0', 'WP_Metadata_Lazyloader::lazyload_meta_callback' ); return $this->lazyload_meta_callback( $check, 0, '', false, 'term' ); } public function lazyload_comment_meta( $check ) { _deprecated_function( __METHOD__, '6.3.0', 'WP_Metadata_Lazyloader::lazyload_meta_callback' ); return $this->lazyload_meta_callback( $check, 0, '', false, 'comment' ); } public function lazyload_meta_callback( $check, $object_id, $meta_key, $single, $meta_type ) { if ( empty( $this->pending_objects[ $meta_type ] ) ) { return $check; } $object_ids = array_keys( $this->pending_objects[ $meta_type ] ); if ( $object_id && ! in_array( $object_id, $object_ids, true ) ) { $object_ids[] = $object_id; } update_meta_cache( $meta_type, $object_ids ); $this->reset_queue( $meta_type ); return $check; } } 'wp_navigation', 'no_found_rows' => true, 'update_post_meta_cache' => false, 'update_post_term_cache' => false, 'order' => 'DESC', 'orderby' => 'date', 'post_status' => 'publish', 'posts_per_page' => 1, ); $navigation_post = new WP_Query( $parsed_args ); if ( count( $navigation_post->posts ) > 0 ) { return $navigation_post->posts[0]; } return null; } private static function create_classic_menu_fallback() { $classic_nav_menu = static::get_fallback_classic_menu(); if ( ! $classic_nav_menu ) { return new WP_Error( 'no_classic_menus', __( 'No Classic Menus found.' ) ); } $classic_nav_menu_blocks = WP_Classic_To_Block_Menu_Converter::convert( $classic_nav_menu ); if ( is_wp_error( $classic_nav_menu_blocks ) ) { return $classic_nav_menu_blocks; } if ( empty( $classic_nav_menu_blocks ) ) { return new WP_Error( 'cannot_convert_classic_menu', __( 'Unable to convert Classic Menu to blocks.' ) ); } $classic_menu_fallback = wp_insert_post( array( 'post_content' => $classic_nav_menu_blocks, 'post_title' => $classic_nav_menu->name, 'post_name' => $classic_nav_menu->slug, 'post_status' => 'publish', 'post_type' => 'wp_navigation', ), true ); return $classic_menu_fallback; } private static function get_fallback_classic_menu() { $classic_nav_menus = wp_get_nav_menus(); if ( ! $classic_nav_menus || is_wp_error( $classic_nav_menus ) ) { return null; } $nav_menu = static::get_nav_menu_at_primary_location(); if ( $nav_menu ) { return $nav_menu; } $nav_menu = static::get_nav_menu_with_primary_slug( $classic_nav_menus ); if ( $nav_menu ) { return $nav_menu; } return static::get_most_recently_created_nav_menu( $classic_nav_menus ); } private static function get_most_recently_created_nav_menu( $classic_nav_menus ) { usort( $classic_nav_menus, static function ( $a, $b ) { return $b->term_id - $a->term_id; } ); return $classic_nav_menus[0]; } private static function get_nav_menu_with_primary_slug( $classic_nav_menus ) { foreach ( $classic_nav_menus as $classic_nav_menu ) { if ( 'primary' === $classic_nav_menu->slug ) { return $classic_nav_menu; } } return null; } private static function get_nav_menu_at_primary_location() { $locations = get_nav_menu_locations(); if ( isset( $locations['primary'] ) ) { $primary_menu = wp_get_nav_menu_object( $locations['primary'] ); if ( $primary_menu ) { return $primary_menu; } } return null; } private static function create_default_fallback() { $default_blocks = static::get_default_fallback_blocks(); $default_fallback = wp_insert_post( array( 'post_content' => $default_blocks, 'post_title' => _x( 'Navigation', 'Title of a Navigation menu' ), 'post_name' => 'navigation', 'post_status' => 'publish', 'post_type' => 'wp_navigation', ), true ); return $default_fallback; } private static function get_default_fallback_blocks() { $registry = WP_Block_Type_Registry::get_instance(); return $registry->is_registered( 'core/page-list' ) ? '' : ''; } } 'wp_navigation', 'no_found_rows' => true, 'update_post_meta_cache' => false, 'update_post_term_cache' => false, 'order' => 'DESC', 'orderby' => 'date', 'post_status' => 'publish', 'posts_per_page' => 1, ); $navigation_post = new WP_Query( $parsed_args ); if ( count( $navigation_post->posts ) > 0 ) { return $navigation_post->posts[0]; } return null; } private static function create_classic_menu_fallback() { $classic_nav_menu = static::get_fallback_classic_menu(); if ( ! $classic_nav_menu ) { return new WP_Error( 'no_classic_menus', __( 'No Classic Menus found.' ) ); } $classic_nav_menu_blocks = WP_Classic_To_Block_Menu_Converter::convert( $classic_nav_menu ); if ( is_wp_error( $classic_nav_menu_blocks ) ) { return $classic_nav_menu_blocks; } if ( empty( $classic_nav_menu_blocks ) ) { return new WP_Error( 'cannot_convert_classic_menu', __( 'Unable to convert Classic Menu to blocks.' ) ); } $classic_menu_fallback = wp_insert_post( array( 'post_content' => $classic_nav_menu_blocks, 'post_title' => $classic_nav_menu->name, 'post_name' => $classic_nav_menu->slug, 'post_status' => 'publish', 'post_type' => 'wp_navigation', ), true ); return $classic_menu_fallback; } private static function get_fallback_classic_menu() { $classic_nav_menus = wp_get_nav_menus(); if ( ! $classic_nav_menus || is_wp_error( $classic_nav_menus ) ) { return null; } $nav_menu = static::get_nav_menu_at_primary_location(); if ( $nav_menu ) { return $nav_menu; } $nav_menu = static::get_nav_menu_with_primary_slug( $classic_nav_menus ); if ( $nav_menu ) { return $nav_menu; } return static::get_most_recently_created_nav_menu( $classic_nav_menus ); } private static function get_most_recently_created_nav_menu( $classic_nav_menus ) { usort( $classic_nav_menus, static function ( $a, $b ) { return $b->term_id - $a->term_id; } ); return $classic_nav_menus[0]; } private static function get_nav_menu_with_primary_slug( $classic_nav_menus ) { foreach ( $classic_nav_menus as $classic_nav_menu ) { if ( 'primary' === $classic_nav_menu->slug ) { return $classic_nav_menu; } } return null; } private static function get_nav_menu_at_primary_location() { $locations = get_nav_menu_locations(); if ( isset( $locations['primary'] ) ) { $primary_menu = wp_get_nav_menu_object( $locations['primary'] ); if ( $primary_menu ) { return $primary_menu; } } return null; } private static function create_default_fallback() { $default_blocks = static::get_default_fallback_blocks(); $default_fallback = wp_insert_post( array( 'post_content' => $default_blocks, 'post_title' => _x( 'Navigation', 'Title of a Navigation menu' ), 'post_name' => 'navigation', 'post_status' => 'publish', 'post_type' => 'wp_navigation', ), true ); return $default_fallback; } private static function get_default_fallback_blocks() { $registry = WP_Block_Type_Registry::get_instance(); return $registry->is_registered( 'core/page-list' ) ? '' : ''; } } '', 'from' => '', 'where' => array(), 'groupby' => '', 'orderby' => '', 'limits' => '', ); public $query_vars; public $query_var_defaults; public $networks; public $found_networks = 0; public $max_num_pages = 0; public function __construct( $query = '' ) { $this->query_var_defaults = array( 'network__in' => '', 'network__not_in' => '', 'count' => false, 'fields' => '', 'number' => '', 'offset' => '', 'no_found_rows' => true, 'orderby' => 'id', 'order' => 'ASC', 'domain' => '', 'domain__in' => '', 'domain__not_in' => '', 'path' => '', 'path__in' => '', 'path__not_in' => '', 'search' => '', 'update_network_cache' => true, ); if ( ! empty( $query ) ) { $this->query( $query ); } } public function parse_query( $query = '' ) { if ( empty( $query ) ) { $query = $this->query_vars; } $this->query_vars = wp_parse_args( $query, $this->query_var_defaults ); do_action_ref_array( 'parse_network_query', array( &$this ) ); } public function query( $query ) { $this->query_vars = wp_parse_args( $query ); return $this->get_networks(); } public function get_networks() { $this->parse_query(); do_action_ref_array( 'pre_get_networks', array( &$this ) ); $network_data = null; $network_data = apply_filters_ref_array( 'networks_pre_query', array( $network_data, &$this ) ); if ( null !== $network_data ) { if ( is_array( $network_data ) && ! $this->query_vars['count'] ) { $this->networks = $network_data; } return $network_data; } $_args = wp_array_slice_assoc( $this->query_vars, array_keys( $this->query_var_defaults ) ); unset( $_args['fields'], $_args['update_network_cache'] ); $key = md5( serialize( $_args ) ); $last_changed = wp_cache_get_last_changed( 'networks' ); $cache_key = "get_network_ids:$key:$last_changed"; $cache_value = wp_cache_get( $cache_key, 'network-queries' ); if ( false === $cache_value ) { $network_ids = $this->get_network_ids(); if ( $network_ids ) { $this->set_found_networks(); } $cache_value = array( 'network_ids' => $network_ids, 'found_networks' => $this->found_networks, ); wp_cache_add( $cache_key, $cache_value, 'network-queries' ); } else { $network_ids = $cache_value['network_ids']; $this->found_networks = $cache_value['found_networks']; } if ( $this->found_networks && $this->query_vars['number'] ) { $this->max_num_pages = ceil( $this->found_networks / $this->query_vars['number'] ); } if ( $this->query_vars['count'] ) { return (int) $network_ids; } $network_ids = array_map( 'intval', $network_ids ); if ( 'ids' === $this->query_vars['fields'] ) { $this->networks = $network_ids; return $this->networks; } if ( $this->query_vars['update_network_cache'] ) { _prime_network_caches( $network_ids ); } $_networks = array(); foreach ( $network_ids as $network_id ) { $_network = get_network( $network_id ); if ( $_network ) { $_networks[] = $_network; } } $_networks = apply_filters_ref_array( 'the_networks', array( $_networks, &$this ) ); $this->networks = array_map( 'get_network', $_networks ); return $this->networks; } protected function get_network_ids() { global $wpdb; $order = $this->parse_order( $this->query_vars['order'] ); if ( in_array( $this->query_vars['orderby'], array( 'none', array(), false ), true ) ) { $orderby = ''; } elseif ( ! empty( $this->query_vars['orderby'] ) ) { $ordersby = is_array( $this->query_vars['orderby'] ) ? $this->query_vars['orderby'] : preg_split( '/[,\s]/', $this->query_vars['orderby'] ); $orderby_array = array(); foreach ( $ordersby as $_key => $_value ) { if ( ! $_value ) { continue; } if ( is_int( $_key ) ) { $_orderby = $_value; $_order = $order; } else { $_orderby = $_key; $_order = $_value; } $parsed = $this->parse_orderby( $_orderby ); if ( ! $parsed ) { continue; } if ( 'network__in' === $_orderby ) { $orderby_array[] = $parsed; continue; } $orderby_array[] = $parsed . ' ' . $this->parse_order( $_order ); } $orderby = implode( ', ', $orderby_array ); } else { $orderby = "$wpdb->site.id $order"; } $number = absint( $this->query_vars['number'] ); $offset = absint( $this->query_vars['offset'] ); $limits = ''; if ( ! empty( $number ) ) { if ( $offset ) { $limits = 'LIMIT ' . $offset . ',' . $number; } else { $limits = 'LIMIT ' . $number; } } if ( $this->query_vars['count'] ) { $fields = 'COUNT(*)'; } else { $fields = "$wpdb->site.id"; } if ( ! empty( $this->query_vars['network__in'] ) ) { $this->sql_clauses['where']['network__in'] = "$wpdb->site.id IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['network__in'] ) ) . ' )'; } if ( ! empty( $this->query_vars['network__not_in'] ) ) { $this->sql_clauses['where']['network__not_in'] = "$wpdb->site.id NOT IN ( " . implode( ',', wp_parse_id_list( $this->query_vars['network__not_in'] ) ) . ' )'; } if ( ! empty( $this->query_vars['domain'] ) ) { $this->sql_clauses['where']['domain'] = $wpdb->prepare( "$wpdb->site.domain = %s", $this->query_vars['domain'] ); } if ( is_array( $this->query_vars['domain__in'] ) ) { $this->sql_clauses['where']['domain__in'] = "$wpdb->site.domain IN ( '" . implode( "', '", $wpdb->_escape( $this->query_vars['domain__in'] ) ) . "' )"; } if ( is_array( $this->query_vars['domain__not_in'] ) ) { $this->sql_clauses['where']['domain__not_in'] = "$wpdb->site.domain NOT IN ( '" . implode( "', '", $wpdb->_escape( $this->query_vars['domain__not_in'] ) ) . "' )"; } if ( ! empty( $this->query_vars['path'] ) ) { $this->sql_clauses['where']['path'] = $wpdb->prepare( "$wpdb->site.path = %s", $this->query_vars['path'] ); } if ( is_array( $this->query_vars['path__in'] ) ) { $this->sql_clauses['where']['path__in'] = "$wpdb->site.path IN ( '" . implode( "', '", $wpdb->_escape( $this->query_vars['path__in'] ) ) . "' )"; } if ( is_array( $this->query_vars['path__not_in'] ) ) { $this->sql_clauses['where']['path__not_in'] = "$wpdb->site.path NOT IN ( '" . implode( "', '", $wpdb->_escape( $this->query_vars['path__not_in'] ) ) . "' )"; } if ( strlen( $this->query_vars['search'] ) ) { $this->sql_clauses['where']['search'] = $this->get_search_sql( $this->query_vars['search'], array( "$wpdb->site.domain", "$wpdb->site.path" ) ); } $join = ''; $where = implode( ' AND ', $this->sql_clauses['where'] ); $groupby = ''; $pieces = array( 'fields', 'join', 'where', 'orderby', 'limits', 'groupby' ); $clauses = apply_filters_ref_array( 'networks_clauses', array( compact( $pieces ), &$this ) ); $fields = isset( $clauses['fields'] ) ? $clauses['fields'] : ''; $join = isset( $clauses['join'] ) ? $clauses['join'] : ''; $where = isset( $clauses['where'] ) ? $clauses['where'] : ''; $orderby = isset( $clauses['orderby'] ) ? $clauses['orderby'] : ''; $limits = isset( $clauses['limits'] ) ? $clauses['limits'] : ''; $groupby = isset( $clauses['groupby'] ) ? $clauses['groupby'] : ''; if ( $where ) { $where = 'WHERE ' . $where; } if ( $groupby ) { $groupby = 'GROUP BY ' . $groupby; } if ( $orderby ) { $orderby = "ORDER BY $orderby"; } $found_rows = ''; if ( ! $this->query_vars['no_found_rows'] ) { $found_rows = 'SQL_CALC_FOUND_ROWS'; } $this->sql_clauses['select'] = "SELECT $found_rows $fields"; $this->sql_clauses['from'] = "FROM $wpdb->site $join"; $this->sql_clauses['groupby'] = $groupby; $this->sql_clauses['orderby'] = $orderby; $this->sql_clauses['limits'] = $limits; $this->request = " {$this->sql_clauses['select']} {$this->sql_clauses['from']} @@ -36735,7 +36735,7 @@ if ( $display ) { wp_print_inline_script_tag( $output, array( 'id' => "{$handle} class WP_Widget_Form_Customize_Control extends WP_Customize_Control { public $type = 'widget_form'; public $widget_id; public $widget_id_base; public $sidebar_id; public $is_new = false; public $width; public $height; public $is_wide = false; public function to_json() { global $wp_registered_widgets; parent::to_json(); $exported_properties = array( 'widget_id', 'widget_id_base', 'sidebar_id', 'width', 'height', 'is_wide' ); foreach ( $exported_properties as $key ) { $this->json[ $key ] = $this->$key; } require_once ABSPATH . 'wp-admin/includes/widgets.php'; $widget = $wp_registered_widgets[ $this->widget_id ]; if ( ! isset( $widget['params'][0] ) ) { $widget['params'][0] = array(); } $args = array( 'widget_id' => $widget['id'], 'widget_name' => $widget['name'], ); $args = wp_list_widget_controls_dynamic_sidebar( array( 0 => $args, 1 => $widget['params'][0], ) ); $widget_control_parts = $this->manager->widgets->get_widget_control_parts( $args ); $this->json['widget_control'] = $widget_control_parts['control']; $this->json['widget_content'] = $widget_control_parts['content']; } public function render_content() {} public function active_callback() { return $this->manager->widgets->is_widget_rendered( $this->widget_id ); } } 268435456 ) { define( 'WP_MAX_MEMORY_LIMIT', $current_limit ); } else { define( 'WP_MAX_MEMORY_LIMIT', '256M' ); } } $wp_limit_int = wp_convert_hr_to_bytes( WP_MEMORY_LIMIT ); if ( -1 !== $current_limit_int && ( -1 === $wp_limit_int || $wp_limit_int > $current_limit_int ) ) { ini_set( 'memory_limit', WP_MEMORY_LIMIT ); } if ( ! isset( $blog_id ) ) { $blog_id = 1; } if ( ! defined( 'WP_CONTENT_DIR' ) ) { define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); } if ( ! defined( 'WP_DEVELOPMENT_MODE' ) ) { define( 'WP_DEVELOPMENT_MODE', '' ); } if ( ! defined( 'WP_DEBUG' ) ) { if ( wp_get_development_mode() || 'development' === wp_get_environment_type() ) { define( 'WP_DEBUG', true ); } else { define( 'WP_DEBUG', false ); } } if ( ! defined( 'WP_DEBUG_DISPLAY' ) ) { define( 'WP_DEBUG_DISPLAY', true ); } if ( ! defined( 'WP_DEBUG_LOG' ) ) { define( 'WP_DEBUG_LOG', false ); } if ( ! defined( 'WP_CACHE' ) ) { define( 'WP_CACHE', false ); } if ( ! defined( 'SCRIPT_DEBUG' ) ) { if ( ! empty( $wp_version ) ) { $develop_src = str_contains( $wp_version, '-src' ); } else { $develop_src = false; } define( 'SCRIPT_DEBUG', $develop_src ); } if ( ! defined( 'MEDIA_TRASH' ) ) { define( 'MEDIA_TRASH', false ); } if ( ! defined( 'SHORTINIT' ) ) { define( 'SHORTINIT', false ); } define( 'WP_FEATURE_BETTER_PASSWORDS', true ); define( 'MINUTE_IN_SECONDS', 60 ); define( 'HOUR_IN_SECONDS', 60 * MINUTE_IN_SECONDS ); define( 'DAY_IN_SECONDS', 24 * HOUR_IN_SECONDS ); define( 'WEEK_IN_SECONDS', 7 * DAY_IN_SECONDS ); define( 'MONTH_IN_SECONDS', 30 * DAY_IN_SECONDS ); define( 'YEAR_IN_SECONDS', 365 * DAY_IN_SECONDS ); } function wp_plugin_directory_constants() { if ( ! defined( 'WP_CONTENT_URL' ) ) { define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' ); } if ( ! defined( 'WP_PLUGIN_DIR' ) ) { define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' ); } if ( ! defined( 'WP_PLUGIN_URL' ) ) { define( 'WP_PLUGIN_URL', WP_CONTENT_URL . '/plugins' ); } if ( ! defined( 'PLUGINDIR' ) ) { define( 'PLUGINDIR', 'wp-content/plugins' ); } if ( ! defined( 'WPMU_PLUGIN_DIR' ) ) { define( 'WPMU_PLUGIN_DIR', WP_CONTENT_DIR . '/mu-plugins' ); } if ( ! defined( 'WPMU_PLUGIN_URL' ) ) { define( 'WPMU_PLUGIN_URL', WP_CONTENT_URL . '/mu-plugins' ); } if ( ! defined( 'MUPLUGINDIR' ) ) { define( 'MUPLUGINDIR', 'wp-content/mu-plugins' ); } } function wp_cookie_constants() { if ( ! defined( 'COOKIEHASH' ) ) { $siteurl = get_site_option( 'siteurl' ); if ( $siteurl ) { define( 'COOKIEHASH', md5( $siteurl ) ); } else { define( 'COOKIEHASH', '' ); } } if ( ! defined( 'USER_COOKIE' ) ) { define( 'USER_COOKIE', 'wordpressuser_' . COOKIEHASH ); } if ( ! defined( 'PASS_COOKIE' ) ) { define( 'PASS_COOKIE', 'wordpresspass_' . COOKIEHASH ); } if ( ! defined( 'AUTH_COOKIE' ) ) { define( 'AUTH_COOKIE', 'wordpress_' . COOKIEHASH ); } if ( ! defined( 'SECURE_AUTH_COOKIE' ) ) { define( 'SECURE_AUTH_COOKIE', 'wordpress_sec_' . COOKIEHASH ); } if ( ! defined( 'LOGGED_IN_COOKIE' ) ) { define( 'LOGGED_IN_COOKIE', 'wordpress_logged_in_' . COOKIEHASH ); } if ( ! defined( 'TEST_COOKIE' ) ) { define( 'TEST_COOKIE', 'wordpress_test_cookie' ); } if ( ! defined( 'COOKIEPATH' ) ) { define( 'COOKIEPATH', preg_replace( '|https?://[^/]+|i', '', get_option( 'home' ) . '/' ) ); } if ( ! defined( 'SITECOOKIEPATH' ) ) { define( 'SITECOOKIEPATH', preg_replace( '|https?://[^/]+|i', '', get_option( 'siteurl' ) . '/' ) ); } if ( ! defined( 'ADMIN_COOKIE_PATH' ) ) { define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' ); } if ( ! defined( 'PLUGINS_COOKIE_PATH' ) ) { define( 'PLUGINS_COOKIE_PATH', preg_replace( '|https?://[^/]+|i', '', WP_PLUGIN_URL ) ); } if ( ! defined( 'COOKIE_DOMAIN' ) ) { define( 'COOKIE_DOMAIN', false ); } if ( ! defined( 'RECOVERY_MODE_COOKIE' ) ) { define( 'RECOVERY_MODE_COOKIE', 'wordpress_rec_' . COOKIEHASH ); } } function wp_ssl_constants() { if ( ! defined( 'FORCE_SSL_ADMIN' ) ) { if ( 'https' === parse_url( get_option( 'siteurl' ), PHP_URL_SCHEME ) ) { define( 'FORCE_SSL_ADMIN', true ); } else { define( 'FORCE_SSL_ADMIN', false ); } } force_ssl_admin( FORCE_SSL_ADMIN ); if ( defined( 'FORCE_SSL_LOGIN' ) && FORCE_SSL_LOGIN ) { force_ssl_admin( true ); } } function wp_functionality_constants() { if ( ! defined( 'AUTOSAVE_INTERVAL' ) ) { define( 'AUTOSAVE_INTERVAL', MINUTE_IN_SECONDS ); } if ( ! defined( 'EMPTY_TRASH_DAYS' ) ) { define( 'EMPTY_TRASH_DAYS', 30 ); } if ( ! defined( 'WP_POST_REVISIONS' ) ) { define( 'WP_POST_REVISIONS', true ); } if ( ! defined( 'WP_CRON_LOCK_TIMEOUT' ) ) { define( 'WP_CRON_LOCK_TIMEOUT', MINUTE_IN_SECONDS ); } } function wp_templating_constants() { define( 'TEMPLATEPATH', get_template_directory() ); define( 'STYLESHEETPATH', get_stylesheet_directory() ); if ( ! defined( 'WP_DEFAULT_THEME' ) ) { define( 'WP_DEFAULT_THEME', 'twentytwentyfour' ); } } $post->ID, 'Author_ID' => $post->post_author, 'Date' => $post->post_date, 'Content' => $post->post_content, 'Excerpt' => $post->post_excerpt, 'Title' => $post->post_title, 'Category' => $post->post_category, 'post_status' => $post->post_status, 'comment_status' => $post->comment_status, 'ping_status' => $post->ping_status, 'post_password' => $post->post_password, 'to_ping' => $post->to_ping, 'pinged' => $post->pinged, 'post_type' => $post->post_type, 'post_name' => $post->post_name ); return $postdata; } function start_wp() { global $wp_query; _deprecated_function( __FUNCTION__, '1.5.0', __('new WordPress Loop') ); $wp_query->next_post(); setup_postdata( get_post() ); } function the_category_ID($display = true) { _deprecated_function( __FUNCTION__, '0.71', 'get_the_category()' ); $categories = get_the_category(); $cat = $categories[0]->term_id; if ( $display ) echo $cat; return $cat; } function the_category_head( $before = '', $after = '' ) { global $currentcat, $previouscat; _deprecated_function( __FUNCTION__, '0.71', 'get_the_category_by_ID()' ); $categories = get_the_category(); $currentcat = $categories[0]->category_id; if ( $currentcat != $previouscat ) { echo $before; echo get_the_category_by_ID($currentcat); echo $after; $previouscat = $currentcat; } } function previous_post($format='%', $previous='previous post: ', $title='yes', $in_same_cat='no', $limitprev=1, $excluded_categories='') { _deprecated_function( __FUNCTION__, '2.0.0', 'previous_post_link()' ); if ( empty($in_same_cat) || 'no' == $in_same_cat ) $in_same_cat = false; else $in_same_cat = true; $post = get_previous_post($in_same_cat, $excluded_categories); if ( !$post ) return; $string = ''.$previous; if ( 'yes' == $title ) $string .= apply_filters('the_title', $post->post_title, $post->ID); $string .= ''; $format = str_replace('%', $string, $format); echo $format; } function next_post($format='%', $next='next post: ', $title='yes', $in_same_cat='no', $limitnext=1, $excluded_categories='') { _deprecated_function( __FUNCTION__, '2.0.0', 'next_post_link()' ); if ( empty($in_same_cat) || 'no' == $in_same_cat ) $in_same_cat = false; else $in_same_cat = true; $post = get_next_post($in_same_cat, $excluded_categories); if ( !$post ) return; $string = ''.$next; if ( 'yes' == $title ) $string .= apply_filters('the_title', $post->post_title, $post->ID); $string .= ''; $format = str_replace('%', $string, $format); echo $format; } function user_can_create_post($user_id, $blog_id = 1, $category_id = 'None') { _deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' ); $author_data = get_userdata($user_id); return ($author_data->user_level > 1); } function user_can_create_draft($user_id, $blog_id = 1, $category_id = 'None') { _deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' ); $author_data = get_userdata($user_id); return ($author_data->user_level >= 1); } function user_can_edit_post($user_id, $post_id, $blog_id = 1) { _deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' ); $author_data = get_userdata($user_id); $post = get_post($post_id); $post_author_data = get_userdata($post->post_author); if ( (($user_id == $post_author_data->ID) && !($post->post_status == 'publish' && $author_data->user_level < 2)) || ($author_data->user_level > $post_author_data->user_level) || ($author_data->user_level >= 10) ) { return true; } else { return false; } } function user_can_delete_post($user_id, $post_id, $blog_id = 1) { _deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' ); return user_can_edit_post($user_id, $post_id, $blog_id); } function user_can_set_post_date($user_id, $blog_id = 1, $category_id = 'None') { _deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' ); $author_data = get_userdata($user_id); return (($author_data->user_level > 4) && user_can_create_post($user_id, $blog_id, $category_id)); } function user_can_edit_post_date($user_id, $post_id, $blog_id = 1) { _deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' ); $author_data = get_userdata($user_id); return (($author_data->user_level > 4) && user_can_edit_post($user_id, $post_id, $blog_id)); } function user_can_edit_post_comments($user_id, $post_id, $blog_id = 1) { _deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' ); return user_can_edit_post($user_id, $post_id, $blog_id); } function user_can_delete_post_comments($user_id, $post_id, $blog_id = 1) { _deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' ); return user_can_edit_post_comments($user_id, $post_id, $blog_id); } function user_can_edit_user($user_id, $other_user) { _deprecated_function( __FUNCTION__, '2.0.0', 'current_user_can()' ); $user = get_userdata($user_id); $other = get_userdata($other_user); if ( $user->user_level > $other->user_level || $user->user_level > 8 || $user->ID == $other->ID ) return true; else return false; } function get_linksbyname($cat_name = "noname", $before = '', $after = '
', $between = " ", $show_images = true, $orderby = 'id', $show_description = true, $show_rating = false, $limit = -1, $show_updated = 0) { _deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmarks()' ); $cat_id = -1; $cat = get_term_by('name', $cat_name, 'link_category'); if ( $cat ) $cat_id = $cat->term_id; get_links($cat_id, $before, $after, $between, $show_images, $orderby, $show_description, $show_rating, $limit, $show_updated); } function wp_get_linksbyname($category, $args = '') { _deprecated_function(__FUNCTION__, '2.1.0', 'wp_list_bookmarks()'); $defaults = array( 'after' => '
', 'before' => '', 'categorize' => 0, 'category_after' => '', 'category_before' => '', 'category_name' => $category, 'show_description' => 1, 'title_li' => '', ); $parsed_args = wp_parse_args( $args, $defaults ); return wp_list_bookmarks($parsed_args); } function get_linkobjectsbyname($cat_name = "noname" , $orderby = 'name', $limit = -1) { _deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmarks()' ); $cat_id = -1; $cat = get_term_by('name', $cat_name, 'link_category'); if ( $cat ) $cat_id = $cat->term_id; return get_linkobjects($cat_id, $orderby, $limit); } function get_linkobjects($category = 0, $orderby = 'name', $limit = 0) { _deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmarks()' ); $links = get_bookmarks( array( 'category' => $category, 'orderby' => $orderby, 'limit' => $limit ) ) ; $links_array = array(); foreach ($links as $link) $links_array[] = $link; return $links_array; } function get_linksbyname_withrating($cat_name = "noname", $before = '', $after = '
', $between = " ", $show_images = true, $orderby = 'id', $show_description = true, $limit = -1, $show_updated = 0) { _deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmarks()' ); get_linksbyname($cat_name, $before, $after, $between, $show_images, $orderby, $show_description, true, $limit, $show_updated); } function get_links_withrating($category = -1, $before = '', $after = '
', $between = " ", $show_images = true, $orderby = 'id', $show_description = true, $limit = -1, $show_updated = 0) { _deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmarks()' ); get_links($category, $before, $after, $between, $show_images, $orderby, $show_description, true, $limit, $show_updated); } function get_autotoggle($id = 0) { _deprecated_function( __FUNCTION__, '2.1.0' ); return 0; } function list_cats($optionall = 1, $all = 'All', $sort_column = 'ID', $sort_order = 'asc', $file = '', $list = true, $optiondates = 0, $optioncount = 0, $hide_empty = 1, $use_desc_for_title = 1, $children=false, $child_of=0, $categories=0, $recurse=0, $feed = '', $feed_image = '', $exclude = '', $hierarchical=false) { _deprecated_function( __FUNCTION__, '2.1.0', 'wp_list_categories()' ); $query = compact('optionall', 'all', 'sort_column', 'sort_order', 'file', 'list', 'optiondates', 'optioncount', 'hide_empty', 'use_desc_for_title', 'children', 'child_of', 'categories', 'recurse', 'feed', 'feed_image', 'exclude', 'hierarchical'); return wp_list_cats($query); } function wp_list_cats($args = '') { _deprecated_function( __FUNCTION__, '2.1.0', 'wp_list_categories()' ); $parsed_args = wp_parse_args( $args ); if ( isset($parsed_args['optionall']) && isset($parsed_args['all'])) $parsed_args['show_option_all'] = $parsed_args['all']; if ( isset($parsed_args['sort_column']) ) $parsed_args['orderby'] = $parsed_args['sort_column']; if ( isset($parsed_args['sort_order']) ) $parsed_args['order'] = $parsed_args['sort_order']; if ( isset($parsed_args['optiondates']) ) $parsed_args['show_last_update'] = $parsed_args['optiondates']; if ( isset($parsed_args['optioncount']) ) $parsed_args['show_count'] = $parsed_args['optioncount']; if ( isset($parsed_args['list']) ) $parsed_args['style'] = $parsed_args['list'] ? 'list' : 'break'; $parsed_args['title_li'] = ''; return wp_list_categories($parsed_args); } function dropdown_cats($optionall = 1, $all = 'All', $orderby = 'ID', $order = 'asc', $show_last_update = 0, $show_count = 0, $hide_empty = 1, $optionnone = false, $selected = 0, $exclude = 0) { _deprecated_function( __FUNCTION__, '2.1.0', 'wp_dropdown_categories()' ); $show_option_all = ''; if ( $optionall ) $show_option_all = $all; $show_option_none = ''; if ( $optionnone ) $show_option_none = __('None'); $vars = compact('show_option_all', 'show_option_none', 'orderby', 'order', 'show_last_update', 'show_count', 'hide_empty', 'selected', 'exclude'); $query = add_query_arg($vars, ''); return wp_dropdown_categories($query); } function list_authors($optioncount = false, $exclude_admin = true, $show_fullname = false, $hide_empty = true, $feed = '', $feed_image = '') { _deprecated_function( __FUNCTION__, '2.1.0', 'wp_list_authors()' ); $args = compact('optioncount', 'exclude_admin', 'show_fullname', 'hide_empty', 'feed', 'feed_image'); return wp_list_authors($args); } function wp_get_post_cats($blogid = '1', $post_id = 0) { _deprecated_function( __FUNCTION__, '2.1.0', 'wp_get_post_categories()' ); return wp_get_post_categories($post_id); } function wp_set_post_cats($blogid = '1', $post_id = 0, $post_categories = array()) { _deprecated_function( __FUNCTION__, '2.1.0', 'wp_set_post_categories()' ); return wp_set_post_categories($post_id, $post_categories); } function get_archives($type='', $limit='', $format='html', $before = '', $after = '', $show_post_count = false) { _deprecated_function( __FUNCTION__, '2.1.0', 'wp_get_archives()' ); $args = compact('type', 'limit', 'format', 'before', 'after', 'show_post_count'); return wp_get_archives($args); } function get_author_link($display, $author_id, $author_nicename = '') { _deprecated_function( __FUNCTION__, '2.1.0', 'get_author_posts_url()' ); $link = get_author_posts_url($author_id, $author_nicename); if ( $display ) echo $link; return $link; } function link_pages($before='
', $after='
', $next_or_number='number', $nextpagelink='next page', $previouspagelink='previous page', $pagelink='%', $more_file='') { _deprecated_function( __FUNCTION__, '2.1.0', 'wp_link_pages()' ); $args = compact('before', 'after', 'next_or_number', 'nextpagelink', 'previouspagelink', 'pagelink', 'more_file'); return wp_link_pages($args); } function get_settings($option) { _deprecated_function( __FUNCTION__, '2.1.0', 'get_option()' ); return get_option($option); } function permalink_link() { _deprecated_function( __FUNCTION__, '1.2.0', 'the_permalink()' ); the_permalink(); } function permalink_single_rss($deprecated = '') { _deprecated_function( __FUNCTION__, '2.3.0', 'the_permalink_rss()' ); the_permalink_rss(); } function wp_get_links($args = '') { _deprecated_function( __FUNCTION__, '2.1.0', 'wp_list_bookmarks()' ); if ( ! str_contains( $args, '=' ) ) { $cat_id = $args; $args = add_query_arg( 'category', $cat_id, $args ); } $defaults = array( 'after' => '
', 'before' => '', 'between' => ' ', 'categorize' => 0, 'category' => '', 'echo' => true, 'limit' => -1, 'orderby' => 'name', 'show_description' => true, 'show_images' => true, 'show_rating' => false, 'show_updated' => true, 'title_li' => '', ); $parsed_args = wp_parse_args( $args, $defaults ); return wp_list_bookmarks($parsed_args); } function get_links($category = -1, $before = '', $after = '
', $between = ' ', $show_images = true, $orderby = 'name', $show_description = true, $show_rating = false, $limit = -1, $show_updated = 1, $display = true) { _deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmarks()' ); $order = 'ASC'; if ( str_starts_with($orderby, '_') ) { $order = 'DESC'; $orderby = substr($orderby, 1); } if ( $category == -1 ) $category = ''; $results = get_bookmarks(array('category' => $category, 'orderby' => $orderby, 'order' => $order, 'show_updated' => $show_updated, 'limit' => $limit)); if ( !$results ) return; $output = ''; foreach ( (array) $results as $row ) { if ( !isset($row->recently_updated) ) $row->recently_updated = false; $output .= $before; if ( $show_updated && $row->recently_updated ) $output .= get_option('links_recently_updated_prepend'); $the_link = '#'; if ( !empty($row->link_url) ) $the_link = esc_url($row->link_url); $rel = $row->link_rel; if ( '' != $rel ) $rel = ' rel="' . $rel . '"'; $desc = esc_attr(sanitize_bookmark_field('link_description', $row->link_description, $row->link_id, 'display')); $name = esc_attr(sanitize_bookmark_field('link_name', $row->link_name, $row->link_id, 'display')); $title = $desc; if ( $show_updated ) if ( !str_starts_with($row->link_updated_f, '00') ) $title .= ' ('.__('Last updated') . ' ' . gmdate(get_option('links_updated_date_format'), $row->link_updated_f + (get_option('gmt_offset') * HOUR_IN_SECONDS)) . ')'; if ( '' != $title ) $title = ' title="' . $title . '"'; $alt = ' alt="' . $name . '"'; $target = $row->link_target; if ( '' != $target ) $target = ' target="' . $target . '"'; $output .= ''; if ( $row->link_image != null && $show_images ) { if ( str_contains( $row->link_image, 'http' ) ) $output .= "link_image\" $alt $title />"; else $output .= "link_image\" $alt $title />"; } else { $output .= $name; } $output .= ''; if ( $show_updated && $row->recently_updated ) $output .= get_option('links_recently_updated_append'); if ( $show_description && '' != $desc ) $output .= $between . $desc; if ($show_rating) { $output .= $between . get_linkrating($row); } $output .= "$after\n"; } if ( !$display ) return $output; echo $output; } function get_links_list($order = 'name') { _deprecated_function( __FUNCTION__, '2.1.0', 'wp_list_bookmarks()' ); $order = strtolower($order); $direction = 'ASC'; if ( str_starts_with( $order, '_' ) ) { $direction = 'DESC'; $order = substr($order,1); } if ( !isset($direction) ) $direction = ''; $cats = get_categories(array('type' => 'link', 'orderby' => $order, 'order' => $direction, 'hierarchical' => 0)); if ( $cats ) { foreach ( (array) $cats as $cat ) { echo '
  • ' . apply_filters('link_category', $cat->name ) . "

    \n\t
      \n"; get_links($cat->term_id, '
    • ', "
    • ", "\n", true, 'name', false); echo "\n\t
    \n
  • \n"; } } } function links_popup_script($text = 'Links', $width=400, $height=400, $file='links.all.php', $count = true) { _deprecated_function( __FUNCTION__, '2.1.0' ); } function get_linkrating( $link ) { _deprecated_function( __FUNCTION__, '2.1.0', 'sanitize_bookmark_field()' ); return sanitize_bookmark_field('link_rating', $link->link_rating, $link->link_id, 'display'); } function get_linkcatname($id = 0) { _deprecated_function( __FUNCTION__, '2.1.0', 'get_category()' ); $id = (int) $id; if ( empty($id) ) return ''; $cats = wp_get_link_cats($id); if ( empty($cats) || ! is_array($cats) ) return ''; $cat_id = (int) $cats[0]; $cat = get_category($cat_id); return $cat->name; } function comments_rss_link($link_text = 'Comments RSS') { _deprecated_function( __FUNCTION__, '2.5.0', 'post_comments_feed_link()' ); post_comments_feed_link($link_text); } function get_category_rss_link($display = false, $cat_id = 1) { _deprecated_function( __FUNCTION__, '2.5.0', 'get_category_feed_link()' ); $link = get_category_feed_link($cat_id, 'rss2'); if ( $display ) echo $link; return $link; } function get_author_rss_link($display = false, $author_id = 1) { _deprecated_function( __FUNCTION__, '2.5.0', 'get_author_feed_link()' ); $link = get_author_feed_link($author_id); if ( $display ) echo $link; return $link; } function comments_rss() { _deprecated_function( __FUNCTION__, '2.2.0', 'get_post_comments_feed_link()' ); return esc_url( get_post_comments_feed_link() ); } function create_user($username, $password, $email) { _deprecated_function( __FUNCTION__, '2.0.0', 'wp_create_user()' ); return wp_create_user($username, $password, $email); } function gzip_compression() { _deprecated_function( __FUNCTION__, '2.5.0' ); return false; } function get_commentdata( $comment_id, $no_cache = 0, $include_unapproved = false ) { _deprecated_function( __FUNCTION__, '2.7.0', 'get_comment()' ); return get_comment($comment_id, ARRAY_A); } function get_catname( $cat_id ) { _deprecated_function( __FUNCTION__, '2.8.0', 'get_cat_name()' ); return get_cat_name( $cat_id ); } function get_category_children( $id, $before = '/', $after = '', $visited = array() ) { _deprecated_function( __FUNCTION__, '2.8.0', 'get_term_children()' ); if ( 0 == $id ) return ''; $chain = ''; $cat_ids = get_all_category_ids(); foreach ( (array) $cat_ids as $cat_id ) { if ( $cat_id == $id ) continue; $category = get_category( $cat_id ); if ( is_wp_error( $category ) ) return $category; if ( $category->parent == $id && !in_array( $category->term_id, $visited ) ) { $visited[] = $category->term_id; $chain .= $before.$category->term_id.$after; $chain .= get_category_children( $category->term_id, $before, $after ); } } return $chain; } function get_all_category_ids() { _deprecated_function( __FUNCTION__, '4.0.0', 'get_terms()' ); $cat_ids = get_terms( array( 'taxonomy' => 'category', 'fields' => 'ids', 'get' => 'all', ) ); return $cat_ids; } function get_the_author_description() { _deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'description\')' ); return get_the_author_meta('description'); } function the_author_description() { _deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'description\')' ); the_author_meta('description'); } function get_the_author_login() { _deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'login\')' ); return get_the_author_meta('login'); } function the_author_login() { _deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'login\')' ); the_author_meta('login'); } function get_the_author_firstname() { _deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'first_name\')' ); return get_the_author_meta('first_name'); } function the_author_firstname() { _deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'first_name\')' ); the_author_meta('first_name'); } function get_the_author_lastname() { _deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'last_name\')' ); return get_the_author_meta('last_name'); } function the_author_lastname() { _deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'last_name\')' ); the_author_meta('last_name'); } function get_the_author_nickname() { _deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'nickname\')' ); return get_the_author_meta('nickname'); } function the_author_nickname() { _deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'nickname\')' ); the_author_meta('nickname'); } function get_the_author_email() { _deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'email\')' ); return get_the_author_meta('email'); } function the_author_email() { _deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'email\')' ); the_author_meta('email'); } function get_the_author_icq() { _deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'icq\')' ); return get_the_author_meta('icq'); } function the_author_icq() { _deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'icq\')' ); the_author_meta('icq'); } function get_the_author_yim() { _deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'yim\')' ); return get_the_author_meta('yim'); } function the_author_yim() { _deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'yim\')' ); the_author_meta('yim'); } function get_the_author_msn() { _deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'msn\')' ); return get_the_author_meta('msn'); } function the_author_msn() { _deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'msn\')' ); the_author_meta('msn'); } function get_the_author_aim() { _deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'aim\')' ); return get_the_author_meta('aim'); } function the_author_aim() { _deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'aim\')' ); the_author_meta('aim'); } function get_author_name( $auth_id = false ) { _deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'display_name\')' ); return get_the_author_meta('display_name', $auth_id); } function get_the_author_url() { _deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'url\')' ); return get_the_author_meta('url'); } function the_author_url() { _deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'url\')' ); the_author_meta('url'); } function get_the_author_ID() { _deprecated_function( __FUNCTION__, '2.8.0', 'get_the_author_meta(\'ID\')' ); return get_the_author_meta('ID'); } function the_author_ID() { _deprecated_function( __FUNCTION__, '2.8.0', 'the_author_meta(\'ID\')' ); the_author_meta('ID'); } function the_content_rss($more_link_text='(more...)', $stripteaser=0, $more_file='', $cut = 0, $encode_html = 0) { _deprecated_function( __FUNCTION__, '2.9.0', 'the_content_feed()' ); $content = get_the_content($more_link_text, $stripteaser); $content = apply_filters('the_content_rss', $content); if ( $cut && !$encode_html ) $encode_html = 2; if ( 1== $encode_html ) { $content = esc_html($content); $cut = 0; } elseif ( 0 == $encode_html ) { $content = make_url_footnote($content); } elseif ( 2 == $encode_html ) { $content = strip_tags($content); } if ( $cut ) { $blah = explode(' ', $content); if ( count($blah) > $cut ) { $k = $cut; $use_dotdotdot = 1; } else { $k = count($blah); $use_dotdotdot = 0; } for ( $i=0; $i<$k; $i++ ) $excerpt .= $blah[$i].' '; $excerpt .= ($use_dotdotdot) ? '...' : ''; $content = $excerpt; } $content = str_replace(']]>', ']]>', $content); echo $content; } function make_url_footnote( $content ) { _deprecated_function( __FUNCTION__, '2.9.0', '' ); preg_match_all( '/(.+?)<\/a>/', $content, $matches ); $links_summary = "\n"; for ( $i = 0, $c = count( $matches[0] ); $i < $c; $i++ ) { $link_match = $matches[0][$i]; $link_number = '['.($i+1).']'; $link_url = $matches[2][$i]; $link_text = $matches[4][$i]; $content = str_replace( $link_match, $link_text . ' ' . $link_number, $content ); $link_url = ( ( strtolower( substr( $link_url, 0, 7 ) ) !== 'http://' ) && ( strtolower( substr( $link_url, 0, 8 ) ) !== 'https://' ) ) ? get_option( 'home' ) . $link_url : $link_url; $links_summary .= "\n" . $link_number . ' ' . $link_url; } $content = strip_tags( $content ); $content .= $links_summary; return $content; } function _c( $text, $domain = 'default' ) { _deprecated_function( __FUNCTION__, '2.9.0', '_x()' ); return before_last_bar( translate( $text, $domain ) ); } function translate_with_context( $text, $domain = 'default' ) { _deprecated_function( __FUNCTION__, '2.9.0', '_x()' ); return before_last_bar( translate( $text, $domain ) ); } function _nc( $single, $plural, $number, $domain = 'default' ) { _deprecated_function( __FUNCTION__, '2.9.0', '_nx()' ); return before_last_bar( _n( $single, $plural, $number, $domain ) ); } function __ngettext( ...$args ) { _deprecated_function( __FUNCTION__, '2.8.0', '_n()' ); return _n( ...$args ); } function __ngettext_noop( ...$args ) { _deprecated_function( __FUNCTION__, '2.8.0', '_n_noop()' ); return _n_noop( ...$args ); } function get_alloptions() { _deprecated_function( __FUNCTION__, '3.0.0', 'wp_load_alloptions()' ); return wp_load_alloptions(); } function get_the_attachment_link($id = 0, $fullsize = false, $max_dims = false, $permalink = false) { _deprecated_function( __FUNCTION__, '2.5.0', 'wp_get_attachment_link()' ); $id = (int) $id; $_post = get_post($id); if ( ('attachment' != $_post->post_type) || !$url = wp_get_attachment_url($_post->ID) ) return __('Missing Attachment'); if ( $permalink ) $url = get_attachment_link($_post->ID); $post_title = esc_attr($_post->post_title); $innerHTML = get_attachment_innerHTML($_post->ID, $fullsize, $max_dims); return "$innerHTML"; } function get_attachment_icon_src( $id = 0, $fullsize = false ) { _deprecated_function( __FUNCTION__, '2.5.0', 'wp_get_attachment_image_src()' ); $id = (int) $id; if ( !$post = get_post($id) ) return false; $file = get_attached_file( $post->ID ); if ( !$fullsize && $src = wp_get_attachment_thumb_url( $post->ID ) ) { $src_file = wp_basename($src); } elseif ( wp_attachment_is_image( $post->ID ) ) { $src = wp_get_attachment_url( $post->ID ); $src_file = & $file; } elseif ( $src = wp_mime_type_icon( $post->ID ) ) { $icon_dir = apply_filters( 'icon_dir', get_template_directory() . '/images' ); $src_file = $icon_dir . '/' . wp_basename($src); } if ( !isset($src) || !$src ) return false; return array($src, $src_file); } function get_attachment_icon( $id = 0, $fullsize = false, $max_dims = false ) { _deprecated_function( __FUNCTION__, '2.5.0', 'wp_get_attachment_image()' ); $id = (int) $id; if ( !$post = get_post($id) ) return false; if ( !$src = get_attachment_icon_src( $post->ID, $fullsize ) ) return false; list($src, $src_file) = $src; if ( ($max_dims = apply_filters('attachment_max_dims', $max_dims)) && file_exists($src_file) ) { $imagesize = wp_getimagesize($src_file); if (($imagesize[0] > $max_dims[0]) || $imagesize[1] > $max_dims[1] ) { $actual_aspect = $imagesize[0] / $imagesize[1]; $desired_aspect = $max_dims[0] / $max_dims[1]; if ( $actual_aspect >= $desired_aspect ) { $height = $actual_aspect * $max_dims[0]; $constraint = "width='{$max_dims[0]}' "; $post->iconsize = array($max_dims[0], $height); } else { $width = $max_dims[1] / $actual_aspect; $constraint = "height='{$max_dims[1]}' "; $post->iconsize = array($width, $max_dims[1]); } } else { $post->iconsize = array($imagesize[0], $imagesize[1]); $constraint = ''; } } else { $constraint = ''; } $post_title = esc_attr($post->post_title); $icon = "$post_title"; return apply_filters( 'attachment_icon', $icon, $post->ID ); } function get_attachment_innerHTML($id = 0, $fullsize = false, $max_dims = false) { _deprecated_function( __FUNCTION__, '2.5.0', 'wp_get_attachment_image()' ); $id = (int) $id; if ( !$post = get_post($id) ) return false; if ( $innerHTML = get_attachment_icon($post->ID, $fullsize, $max_dims)) return $innerHTML; $innerHTML = esc_attr($post->post_title); return apply_filters('attachment_innerHTML', $innerHTML, $post->ID); } function get_link( $bookmark_id, $output = OBJECT, $filter = 'raw' ) { _deprecated_function( __FUNCTION__, '2.1.0', 'get_bookmark()' ); return get_bookmark($bookmark_id, $output, $filter); } function clean_url( $url, $protocols = null, $context = 'display' ) { if ( $context == 'db' ) _deprecated_function( 'clean_url( $context = \'db\' )', '3.0.0', 'sanitize_url()' ); else _deprecated_function( __FUNCTION__, '3.0.0', 'esc_url()' ); return esc_url( $url, $protocols, $context ); } function js_escape( $text ) { _deprecated_function( __FUNCTION__, '2.8.0', 'esc_js()' ); return esc_js( $text ); } function wp_specialchars( $text, $quote_style = ENT_NOQUOTES, $charset = false, $double_encode = false ) { _deprecated_function( __FUNCTION__, '2.8.0', 'esc_html()' ); if ( func_num_args() > 1 ) { return _wp_specialchars( $text, $quote_style, $charset, $double_encode ); } else { return esc_html( $text ); } } function attribute_escape( $text ) { _deprecated_function( __FUNCTION__, '2.8.0', 'esc_attr()' ); return esc_attr( $text ); } function register_sidebar_widget($name, $output_callback, $classname = '', ...$params) { _deprecated_function( __FUNCTION__, '2.8.0', 'wp_register_sidebar_widget()' ); if ( is_array( $name ) ) { if ( count( $name ) === 3 ) { $name = sprintf( $name[0], $name[2] ); } else { $name = $name[0]; } } $id = sanitize_title( $name ); $options = array(); if ( ! empty( $classname ) && is_string( $classname ) ) { $options['classname'] = $classname; } wp_register_sidebar_widget( $id, $name, $output_callback, $options, ...$params ); } function unregister_sidebar_widget($id) { _deprecated_function( __FUNCTION__, '2.8.0', 'wp_unregister_sidebar_widget()' ); return wp_unregister_sidebar_widget($id); } function register_widget_control($name, $control_callback, $width = '', $height = '', ...$params) { _deprecated_function( __FUNCTION__, '2.8.0', 'wp_register_widget_control()' ); if ( is_array( $name ) ) { if ( count( $name ) === 3 ) { $name = sprintf( $name[0], $name[2] ); } else { $name = $name[0]; } } $id = sanitize_title( $name ); $options = array(); if ( ! empty( $width ) ) { $options['width'] = $width; } if ( ! empty( $height ) ) { $options['height'] = $height; } wp_register_widget_control( $id, $name, $control_callback, $options, ...$params ); } function unregister_widget_control($id) { _deprecated_function( __FUNCTION__, '2.8.0', 'wp_unregister_widget_control()' ); return wp_unregister_widget_control($id); } function delete_usermeta( $user_id, $meta_key, $meta_value = '' ) { _deprecated_function( __FUNCTION__, '3.0.0', 'delete_user_meta()' ); global $wpdb; if ( !is_numeric( $user_id ) ) return false; $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key); if ( is_array($meta_value) || is_object($meta_value) ) $meta_value = serialize($meta_value); $meta_value = trim( $meta_value ); $cur = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key) ); if ( $cur && $cur->umeta_id ) do_action( 'delete_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value ); if ( ! empty($meta_value) ) $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s AND meta_value = %s", $user_id, $meta_key, $meta_value) ); else $wpdb->query( $wpdb->prepare("DELETE FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key) ); clean_user_cache( $user_id ); wp_cache_delete( $user_id, 'user_meta' ); if ( $cur && $cur->umeta_id ) do_action( 'deleted_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value ); return true; } function get_usermeta( $user_id, $meta_key = '' ) { _deprecated_function( __FUNCTION__, '3.0.0', 'get_user_meta()' ); global $wpdb; $user_id = (int) $user_id; if ( !$user_id ) return false; if ( !empty($meta_key) ) { $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key); $user = wp_cache_get($user_id, 'users'); if ( false !== $user && isset($user->$meta_key) ) $metas = array($user->$meta_key); else $metas = $wpdb->get_col( $wpdb->prepare("SELECT meta_value FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key) ); } else { $metas = $wpdb->get_col( $wpdb->prepare("SELECT meta_value FROM $wpdb->usermeta WHERE user_id = %d", $user_id) ); } if ( empty($metas) ) { if ( empty($meta_key) ) return array(); else return ''; } $metas = array_map('maybe_unserialize', $metas); if ( count($metas) === 1 ) return $metas[0]; else return $metas; } function update_usermeta( $user_id, $meta_key, $meta_value ) { _deprecated_function( __FUNCTION__, '3.0.0', 'update_user_meta()' ); global $wpdb; if ( !is_numeric( $user_id ) ) return false; $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key); if ( is_string($meta_value) ) $meta_value = stripslashes($meta_value); $meta_value = maybe_serialize($meta_value); if (empty($meta_value)) { return delete_usermeta($user_id, $meta_key); } $cur = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key) ); if ( $cur ) do_action( 'update_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value ); if ( !$cur ) $wpdb->insert($wpdb->usermeta, compact('user_id', 'meta_key', 'meta_value') ); elseif ( $cur->meta_value != $meta_value ) $wpdb->update($wpdb->usermeta, compact('meta_value'), compact('user_id', 'meta_key') ); else return false; clean_user_cache( $user_id ); wp_cache_delete( $user_id, 'user_meta' ); if ( !$cur ) do_action( 'added_usermeta', $wpdb->insert_id, $user_id, $meta_key, $meta_value ); else do_action( 'updated_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value ); return true; } function get_users_of_blog( $id = '' ) { _deprecated_function( __FUNCTION__, '3.1.0', 'get_users()' ); global $wpdb; if ( empty( $id ) ) { $id = get_current_blog_id(); } $blog_prefix = $wpdb->get_blog_prefix($id); $users = $wpdb->get_results( "SELECT user_id, user_id AS ID, user_login, display_name, user_email, meta_value FROM $wpdb->users, $wpdb->usermeta WHERE {$wpdb->users}.ID = {$wpdb->usermeta}.user_id AND meta_key = '{$blog_prefix}capabilities' ORDER BY {$wpdb->usermeta}.user_id" ); return $users; } function automatic_feed_links( $add = true ) { _deprecated_function( __FUNCTION__, '3.0.0', "add_theme_support( 'automatic-feed-links' )" ); if ( $add ) add_theme_support( 'automatic-feed-links' ); else remove_action( 'wp_head', 'feed_links_extra', 3 ); } function get_profile( $field, $user = false ) { _deprecated_function( __FUNCTION__, '3.0.0', 'get_the_author_meta()' ); if ( $user ) { $user = get_user_by( 'login', $user ); $user = $user->ID; } return get_the_author_meta( $field, $user ); } function get_usernumposts( $userid ) { _deprecated_function( __FUNCTION__, '3.0.0', 'count_user_posts()' ); return count_user_posts( $userid ); } function funky_javascript_callback($matches) { return "&#".base_convert($matches[1],16,10).";"; } function funky_javascript_fix($text) { _deprecated_function( __FUNCTION__, '3.0.0' ); global $is_macIE, $is_winIE; if ( $is_winIE || $is_macIE ) $text = preg_replace_callback("/\%u([0-9A-F]{4,4})/", "funky_javascript_callback", $text); return $text; } function is_taxonomy( $taxonomy ) { _deprecated_function( __FUNCTION__, '3.0.0', 'taxonomy_exists()' ); return taxonomy_exists( $taxonomy ); } function is_term( $term, $taxonomy = '', $parent = 0 ) { _deprecated_function( __FUNCTION__, '3.0.0', 'term_exists()' ); return term_exists( $term, $taxonomy, $parent ); } function is_plugin_page() { _deprecated_function( __FUNCTION__, '3.1.0' ); global $plugin_page; if ( isset($plugin_page) ) return true; return false; } function update_category_cache() { _deprecated_function( __FUNCTION__, '3.1.0' ); return true; } function wp_timezone_supported() { _deprecated_function( __FUNCTION__, '3.2.0' ); return true; } function the_editor($content, $id = 'content', $prev_id = 'title', $media_buttons = true, $tab_index = 2, $extended = true) { _deprecated_function( __FUNCTION__, '3.3.0', 'wp_editor()' ); wp_editor( $content, $id, array( 'media_buttons' => $media_buttons ) ); } function get_user_metavalues($ids) { _deprecated_function( __FUNCTION__, '3.3.0' ); $objects = array(); $ids = array_map('intval', $ids); foreach ( $ids as $id ) $objects[$id] = array(); $metas = update_meta_cache('user', $ids); foreach ( $metas as $id => $meta ) { foreach ( $meta as $key => $metavalues ) { foreach ( $metavalues as $value ) { $objects[$id][] = (object)array( 'user_id' => $id, 'meta_key' => $key, 'meta_value' => $value); } } } return $objects; } function sanitize_user_object($user, $context = 'display') { _deprecated_function( __FUNCTION__, '3.3.0' ); if ( is_object($user) ) { if ( !isset($user->ID) ) $user->ID = 0; if ( ! ( $user instanceof WP_User ) ) { $vars = get_object_vars($user); foreach ( array_keys($vars) as $field ) { if ( is_string($user->$field) || is_numeric($user->$field) ) $user->$field = sanitize_user_field($field, $user->$field, $user->ID, $context); } } $user->filter = $context; } else { if ( !isset($user['ID']) ) $user['ID'] = 0; foreach ( array_keys($user) as $field ) $user[$field] = sanitize_user_field($field, $user[$field], $user['ID'], $context); $user['filter'] = $context; } return $user; } function get_boundary_post_rel_link($title = '%title', $in_same_cat = false, $excluded_categories = '', $start = true) { _deprecated_function( __FUNCTION__, '3.3.0' ); $posts = get_boundary_post($in_same_cat, $excluded_categories, $start); if ( empty($posts) ) return; $post = $posts[0]; if ( empty($post->post_title) ) $post->post_title = $start ? __('First Post') : __('Last Post'); $date = mysql2date(get_option('date_format'), $post->post_date); $title = str_replace('%title', $post->post_title, $title); $title = str_replace('%date', $date, $title); $title = apply_filters('the_title', $title, $post->ID); $link = $start ? "\n"; $boundary = $start ? 'start' : 'end'; return apply_filters( "{$boundary}_post_rel_link", $link ); } function start_post_rel_link($title = '%title', $in_same_cat = false, $excluded_categories = '') { _deprecated_function( __FUNCTION__, '3.3.0' ); echo get_boundary_post_rel_link($title, $in_same_cat, $excluded_categories, true); } function get_index_rel_link() { _deprecated_function( __FUNCTION__, '3.3.0' ); $link = "\n"; return apply_filters( "index_rel_link", $link ); } function index_rel_link() { _deprecated_function( __FUNCTION__, '3.3.0' ); echo get_index_rel_link(); } function get_parent_post_rel_link( $title = '%title' ) { _deprecated_function( __FUNCTION__, '3.3.0' ); if ( ! empty( $GLOBALS['post'] ) && ! empty( $GLOBALS['post']->post_parent ) ) $post = get_post($GLOBALS['post']->post_parent); if ( empty($post) ) return; $date = mysql2date(get_option('date_format'), $post->post_date); $title = str_replace('%title', $post->post_title, $title); $title = str_replace('%date', $date, $title); $title = apply_filters('the_title', $title, $post->ID); $link = "\n"; return apply_filters( "parent_post_rel_link", $link ); } function parent_post_rel_link( $title = '%title' ) { _deprecated_function( __FUNCTION__, '3.3.0' ); echo get_parent_post_rel_link($title); } function wp_admin_bar_dashboard_view_site_menu( $wp_admin_bar ) { _deprecated_function( __FUNCTION__, '3.3.0' ); $user_id = get_current_user_id(); if ( 0 != $user_id ) { if ( is_admin() ) $wp_admin_bar->add_menu( array( 'id' => 'view-site', 'title' => __( 'Visit Site' ), 'href' => home_url() ) ); elseif ( is_multisite() ) $wp_admin_bar->add_menu( array( 'id' => 'dashboard', 'title' => __( 'Dashboard' ), 'href' => get_dashboard_url( $user_id ) ) ); else $wp_admin_bar->add_menu( array( 'id' => 'dashboard', 'title' => __( 'Dashboard' ), 'href' => admin_url() ) ); } } function is_blog_user( $blog_id = 0 ) { _deprecated_function( __FUNCTION__, '3.3.0', 'is_user_member_of_blog()' ); return is_user_member_of_blog( get_current_user_id(), $blog_id ); } function debug_fopen( $filename, $mode ) { _deprecated_function( __FUNCTION__, '3.4.0', 'error_log()' ); return false; } function debug_fwrite( $fp, $message ) { _deprecated_function( __FUNCTION__, '3.4.0', 'error_log()' ); if ( ! empty( $GLOBALS['debug'] ) ) error_log( $message ); } function debug_fclose( $fp ) { _deprecated_function( __FUNCTION__, '3.4.0', 'error_log()' ); } function get_themes() { _deprecated_function( __FUNCTION__, '3.4.0', 'wp_get_themes()' ); global $wp_themes; if ( isset( $wp_themes ) ) return $wp_themes; $themes = wp_get_themes(); $wp_themes = array(); foreach ( $themes as $theme ) { $name = $theme->get('Name'); if ( isset( $wp_themes[ $name ] ) ) $wp_themes[ $name . '/' . $theme->get_stylesheet() ] = $theme; else $wp_themes[ $name ] = $theme; } return $wp_themes; } function get_theme( $theme ) { _deprecated_function( __FUNCTION__, '3.4.0', 'wp_get_theme( $stylesheet )' ); $themes = get_themes(); if ( is_array( $themes ) && array_key_exists( $theme, $themes ) ) return $themes[ $theme ]; return null; } function get_current_theme() { _deprecated_function( __FUNCTION__, '3.4.0', 'wp_get_theme()' ); if ( $theme = get_option( 'current_theme' ) ) return $theme; return wp_get_theme()->get('Name'); } function clean_pre($matches) { _deprecated_function( __FUNCTION__, '3.4.0' ); if ( is_array($matches) ) $text = $matches[1] . $matches[2] . ""; else $text = $matches; $text = str_replace(array('
    ', '
    ', '
    '), array('', '', ''), $text); $text = str_replace('

    ', "\n", $text); $text = str_replace('

    ', '', $text); return $text; } function add_custom_image_header( $wp_head_callback, $admin_head_callback, $admin_preview_callback = '' ) { _deprecated_function( __FUNCTION__, '3.4.0', 'add_theme_support( \'custom-header\', $args )' ); $args = array( 'wp-head-callback' => $wp_head_callback, 'admin-head-callback' => $admin_head_callback, ); if ( $admin_preview_callback ) $args['admin-preview-callback'] = $admin_preview_callback; return add_theme_support( 'custom-header', $args ); } function remove_custom_image_header() { _deprecated_function( __FUNCTION__, '3.4.0', 'remove_theme_support( \'custom-header\' )' ); return remove_theme_support( 'custom-header' ); } function add_custom_background( $wp_head_callback = '', $admin_head_callback = '', $admin_preview_callback = '' ) { _deprecated_function( __FUNCTION__, '3.4.0', 'add_theme_support( \'custom-background\', $args )' ); $args = array(); if ( $wp_head_callback ) $args['wp-head-callback'] = $wp_head_callback; if ( $admin_head_callback ) $args['admin-head-callback'] = $admin_head_callback; if ( $admin_preview_callback ) $args['admin-preview-callback'] = $admin_preview_callback; return add_theme_support( 'custom-background', $args ); } function remove_custom_background() { _deprecated_function( __FUNCTION__, '3.4.0', 'remove_theme_support( \'custom-background\' )' ); return remove_theme_support( 'custom-background' ); } function get_theme_data( $theme_file ) { _deprecated_function( __FUNCTION__, '3.4.0', 'wp_get_theme()' ); $theme = new WP_Theme( wp_basename( dirname( $theme_file ) ), dirname( dirname( $theme_file ) ) ); $theme_data = array( 'Name' => $theme->get('Name'), 'URI' => $theme->display('ThemeURI', true, false), 'Description' => $theme->display('Description', true, false), 'Author' => $theme->display('Author', true, false), 'AuthorURI' => $theme->display('AuthorURI', true, false), 'Version' => $theme->get('Version'), 'Template' => $theme->get('Template'), 'Status' => $theme->get('Status'), 'Tags' => $theme->get('Tags'), 'Title' => $theme->get('Name'), 'AuthorName' => $theme->get('Author'), ); foreach ( apply_filters( 'extra_theme_headers', array() ) as $extra_header ) { if ( ! isset( $theme_data[ $extra_header ] ) ) $theme_data[ $extra_header ] = $theme->get( $extra_header ); } return $theme_data; } function update_page_cache( &$pages ) { _deprecated_function( __FUNCTION__, '3.4.0', 'update_post_cache()' ); update_post_cache( $pages ); } function clean_page_cache( $id ) { _deprecated_function( __FUNCTION__, '3.4.0', 'clean_post_cache()' ); clean_post_cache( $id ); } function wp_explain_nonce( $action ) { _deprecated_function( __FUNCTION__, '3.4.1', 'wp_nonce_ays()' ); return __( 'Are you sure you want to do this?' ); } function sticky_class( $post_id = null ) { _deprecated_function( __FUNCTION__, '3.5.0', 'post_class()' ); if ( is_sticky( $post_id ) ) echo ' sticky'; } function _get_post_ancestors( &$post ) { _deprecated_function( __FUNCTION__, '3.5.0' ); } function wp_load_image( $file ) { _deprecated_function( __FUNCTION__, '3.5.0', 'wp_get_image_editor()' ); if ( is_numeric( $file ) ) $file = get_attached_file( $file ); if ( ! is_file( $file ) ) { return sprintf( __( 'File “%s” does not exist?' ), $file ); } if ( ! function_exists('imagecreatefromstring') ) return __('The GD image library is not installed.'); wp_raise_memory_limit( 'image' ); $image = imagecreatefromstring( file_get_contents( $file ) ); if ( ! is_gd_image( $image ) ) { return sprintf( __( 'File “%s” is not an image.' ), $file ); } return $image; } function image_resize( $file, $max_w, $max_h, $crop = false, $suffix = null, $dest_path = null, $jpeg_quality = 90 ) { _deprecated_function( __FUNCTION__, '3.5.0', 'wp_get_image_editor()' ); $editor = wp_get_image_editor( $file ); if ( is_wp_error( $editor ) ) return $editor; $editor->set_quality( $jpeg_quality ); $resized = $editor->resize( $max_w, $max_h, $crop ); if ( is_wp_error( $resized ) ) return $resized; $dest_file = $editor->generate_filename( $suffix, $dest_path ); $saved = $editor->save( $dest_file ); if ( is_wp_error( $saved ) ) return $saved; return $dest_file; } function wp_get_single_post( $postid = 0, $mode = OBJECT ) { _deprecated_function( __FUNCTION__, '3.5.0', 'get_post()' ); return get_post( $postid, $mode ); } function user_pass_ok($user_login, $user_pass) { _deprecated_function( __FUNCTION__, '3.5.0', 'wp_authenticate()' ); $user = wp_authenticate( $user_login, $user_pass ); if ( is_wp_error( $user ) ) return false; return true; } function _save_post_hook() {} function gd_edit_image_support($mime_type) { _deprecated_function( __FUNCTION__, '3.5.0', 'wp_image_editor_supports()' ); if ( function_exists('imagetypes') ) { switch( $mime_type ) { case 'image/jpeg': return (imagetypes() & IMG_JPG) != 0; case 'image/png': return (imagetypes() & IMG_PNG) != 0; case 'image/gif': return (imagetypes() & IMG_GIF) != 0; case 'image/webp': return (imagetypes() & IMG_WEBP) != 0; } } else { switch( $mime_type ) { case 'image/jpeg': return function_exists('imagecreatefromjpeg'); case 'image/png': return function_exists('imagecreatefrompng'); case 'image/gif': return function_exists('imagecreatefromgif'); case 'image/webp': return function_exists('imagecreatefromwebp'); } } return false; } function wp_convert_bytes_to_hr( $bytes ) { _deprecated_function( __FUNCTION__, '3.6.0', 'size_format()' ); $units = array( 0 => 'B', 1 => 'KB', 2 => 'MB', 3 => 'GB', 4 => 'TB' ); $log = log( $bytes, KB_IN_BYTES ); $power = (int) $log; $size = KB_IN_BYTES ** ( $log - $power ); if ( ! is_nan( $size ) && array_key_exists( $power, $units ) ) { $unit = $units[ $power ]; } else { $size = $bytes; $unit = $units[0]; } return $size . $unit; } function _search_terms_tidy( $t ) { _deprecated_function( __FUNCTION__, '3.7.0' ); return trim( $t, "\"'\n\r " ); } function rich_edit_exists() { global $wp_rich_edit_exists; _deprecated_function( __FUNCTION__, '3.9.0' ); if ( ! isset( $wp_rich_edit_exists ) ) $wp_rich_edit_exists = file_exists( ABSPATH . WPINC . '/js/tinymce/tinymce.js' ); return $wp_rich_edit_exists; } function default_topic_count_text( $count ) { return $count; } function format_to_post( $content ) { _deprecated_function( __FUNCTION__, '3.9.0' ); return $content; } function like_escape($text) { _deprecated_function( __FUNCTION__, '4.0.0', 'wpdb::esc_like()' ); return str_replace( array( "%", "_" ), array( "\\%", "\\_" ), $text ); } function url_is_accessable_via_ssl( $url ) { _deprecated_function( __FUNCTION__, '4.0.0' ); $response = wp_remote_get( set_url_scheme( $url, 'https' ) ); if ( !is_wp_error( $response ) ) { $status = wp_remote_retrieve_response_code( $response ); if ( 200 == $status || 401 == $status ) { return true; } } return false; } function preview_theme() { _deprecated_function( __FUNCTION__, '4.3.0' ); } function _preview_theme_template_filter() { _deprecated_function( __FUNCTION__, '4.3.0' ); return ''; } function _preview_theme_stylesheet_filter() { _deprecated_function( __FUNCTION__, '4.3.0' ); return ''; } function preview_theme_ob_filter( $content ) { _deprecated_function( __FUNCTION__, '4.3.0' ); return $content; } function preview_theme_ob_filter_callback( $matches ) { _deprecated_function( __FUNCTION__, '4.3.0' ); return ''; } function wp_richedit_pre($text) { _deprecated_function( __FUNCTION__, '4.3.0', 'format_for_editor()' ); if ( empty( $text ) ) { return apply_filters( 'richedit_pre', '' ); } $output = convert_chars($text); $output = wpautop($output); $output = htmlspecialchars($output, ENT_NOQUOTES, get_option( 'blog_charset' ) ); return apply_filters( 'richedit_pre', $output ); } function wp_htmledit_pre($output) { _deprecated_function( __FUNCTION__, '4.3.0', 'format_for_editor()' ); if ( !empty($output) ) $output = htmlspecialchars($output, ENT_NOQUOTES, get_option( 'blog_charset' ) ); return apply_filters( 'htmledit_pre', $output ); } function post_permalink( $post = 0 ) { _deprecated_function( __FUNCTION__, '4.4.0', 'get_permalink()' ); return get_permalink( $post ); } function wp_get_http( $url, $file_path = false, $red = 1 ) { _deprecated_function( __FUNCTION__, '4.4.0', 'WP_Http' ); if ( function_exists( 'set_time_limit' ) ) { ; } if ( $red > 5 ) return false; $options = array(); $options['redirection'] = 5; if ( false == $file_path ) $options['method'] = 'HEAD'; else $options['method'] = 'GET'; $response = wp_safe_remote_request( $url, $options ); if ( is_wp_error( $response ) ) return false; $headers = wp_remote_retrieve_headers( $response ); $headers['response'] = wp_remote_retrieve_response_code( $response ); if ( 'HEAD' == $options['method'] && in_array($headers['response'], array(301, 302)) && isset( $headers['location'] ) ) { return wp_get_http( $headers['location'], $file_path, ++$red ); } if ( false == $file_path ) return $headers; $out_fp = fopen($file_path, 'w'); if ( !$out_fp ) return $headers; fwrite( $out_fp, wp_remote_retrieve_body( $response ) ); fclose($out_fp); clearstatcache(); return $headers; } function force_ssl_login( $force = null ) { _deprecated_function( __FUNCTION__, '4.4.0', 'force_ssl_admin()' ); return force_ssl_admin( $force ); } function get_comments_popup_template() { _deprecated_function( __FUNCTION__, '4.5.0' ); return ''; } function is_comments_popup() { _deprecated_function( __FUNCTION__, '4.5.0' ); return false; } function comments_popup_script() { _deprecated_function( __FUNCTION__, '4.5.0' ); } function popuplinks( $text ) { _deprecated_function( __FUNCTION__, '4.5.0' ); $text = preg_replace('//i', "", $text); return $text; } function wp_embed_handler_googlevideo( $matches, $attr, $url, $rawattr ) { _deprecated_function( __FUNCTION__, '4.6.0' ); return ''; } function get_paged_template() { _deprecated_function( __FUNCTION__, '4.7.0' ); return get_query_template( 'paged' ); } function wp_kses_js_entities( $content ) { _deprecated_function( __FUNCTION__, '4.7.0' ); return preg_replace( '%&\s*\{[^}]*(\}\s*;?|$)%', '', $content ); } function _usort_terms_by_ID( $a, $b ) { _deprecated_function( __FUNCTION__, '4.7.0', 'wp_list_sort()' ); if ( $a->term_id > $b->term_id ) return 1; elseif ( $a->term_id < $b->term_id ) return -1; else return 0; } function _usort_terms_by_name( $a, $b ) { _deprecated_function( __FUNCTION__, '4.7.0', 'wp_list_sort()' ); return strcmp( $a->name, $b->name ); } function _sort_nav_menu_items( $a, $b ) { global $_menu_item_sort_prop; _deprecated_function( __FUNCTION__, '4.7.0', 'wp_list_sort()' ); if ( empty( $_menu_item_sort_prop ) ) return 0; if ( ! isset( $a->$_menu_item_sort_prop ) || ! isset( $b->$_menu_item_sort_prop ) ) return 0; $_a = (int) $a->$_menu_item_sort_prop; $_b = (int) $b->$_menu_item_sort_prop; if ( $a->$_menu_item_sort_prop == $b->$_menu_item_sort_prop ) return 0; elseif ( $_a == $a->$_menu_item_sort_prop && $_b == $b->$_menu_item_sort_prop ) return $_a < $_b ? -1 : 1; else return strcmp( $a->$_menu_item_sort_prop, $b->$_menu_item_sort_prop ); } function get_shortcut_link() { _deprecated_function( __FUNCTION__, '4.9.0' ); $link = ''; return apply_filters( 'shortcut_link', $link ); } function wp_ajax_press_this_save_post() { _deprecated_function( __FUNCTION__, '4.9.0' ); if ( is_plugin_active( 'press-this/press-this-plugin.php' ) ) { include WP_PLUGIN_DIR . '/press-this/class-wp-press-this-plugin.php'; $wp_press_this = new WP_Press_This_Plugin(); $wp_press_this->save_post(); } else { wp_send_json_error( array( 'errorMessage' => __( 'The Press This plugin is required.' ) ) ); } } function wp_ajax_press_this_add_category() { _deprecated_function( __FUNCTION__, '4.9.0' ); if ( is_plugin_active( 'press-this/press-this-plugin.php' ) ) { include WP_PLUGIN_DIR . '/press-this/class-wp-press-this-plugin.php'; $wp_press_this = new WP_Press_This_Plugin(); $wp_press_this->add_category(); } else { wp_send_json_error( array( 'errorMessage' => __( 'The Press This plugin is required.' ) ) ); } } function wp_get_user_request_data( $request_id ) { _deprecated_function( __FUNCTION__, '5.4.0', 'wp_get_user_request()' ); return wp_get_user_request( $request_id ); } function wp_make_content_images_responsive( $content ) { _deprecated_function( __FUNCTION__, '5.5.0', 'wp_filter_content_tags()' ); return wp_filter_content_tags( $content ); } function wp_unregister_GLOBALS() { _deprecated_function( __FUNCTION__, '5.5.0' ); } function wp_blacklist_check( $author, $email, $url, $comment, $user_ip, $user_agent ) { _deprecated_function( __FUNCTION__, '5.5.0', 'wp_check_comment_disallowed_list()' ); return wp_check_comment_disallowed_list( $author, $email, $url, $comment, $user_ip, $user_agent ); } function _wp_register_meta_args_whitelist( $args, $default_args ) { _deprecated_function( __FUNCTION__, '5.5.0', '_wp_register_meta_args_allowed_list()' ); return _wp_register_meta_args_allowed_list( $args, $default_args ); } function add_option_whitelist( $new_options, $options = '' ) { _deprecated_function( __FUNCTION__, '5.5.0', 'add_allowed_options()' ); return add_allowed_options( $new_options, $options ); } function remove_option_whitelist( $del_options, $options = '' ) { _deprecated_function( __FUNCTION__, '5.5.0', 'remove_allowed_options()' ); return remove_allowed_options( $del_options, $options ); } function wp_slash_strings_only( $value ) { return map_deep( $value, 'addslashes_strings_only' ); } function addslashes_strings_only( $value ) { return is_string( $value ) ? addslashes( $value ) : $value; } function noindex() { _deprecated_function( __FUNCTION__, '5.7.0', 'wp_robots_noindex()' ); if ( '0' == get_option( 'blog_public' ) ) { wp_no_robots(); } } function wp_no_robots() { _deprecated_function( __FUNCTION__, '5.7.0', 'wp_robots_no_robots()' ); if ( get_option( 'blog_public' ) ) { echo "\n"; return; } echo "\n"; } function wp_sensitive_page_meta() { _deprecated_function( __FUNCTION__, '5.7.0', 'wp_robots_sensitive_page()' ); ?> @@ -39042,8 +39042,7 @@ All at ###SITENAME### function wp_insert_site( array $data ) { global $wpdb; $now = current_time( 'mysql', true ); $defaults = array( 'domain' => '', 'path' => '/', 'network_id' => get_current_network_id(), 'registered' => $now, 'last_updated' => $now, 'public' => 1, 'archived' => 0, 'mature' => 0, 'spam' => 0, 'deleted' => 0, 'lang_id' => 0, ); $prepared_data = wp_prepare_site_data( $data, $defaults ); if ( is_wp_error( $prepared_data ) ) { return $prepared_data; } if ( false === $wpdb->insert( $wpdb->blogs, $prepared_data ) ) { return new WP_Error( 'db_insert_error', __( 'Could not insert site into the database.' ), $wpdb->last_error ); } $site_id = (int) $wpdb->insert_id; clean_blog_cache( $site_id ); $new_site = get_site( $site_id ); if ( ! $new_site ) { return new WP_Error( 'get_site_error', __( 'Could not retrieve site data.' ) ); } do_action( 'wp_insert_site', $new_site ); $args = array_diff_key( $data, $defaults ); if ( isset( $args['site_id'] ) ) { unset( $args['site_id'] ); } do_action( 'wp_initialize_site', $new_site, $args ); if ( has_action( 'wpmu_new_blog' ) ) { $user_id = ! empty( $args['user_id'] ) ? $args['user_id'] : 0; $meta = ! empty( $args['options'] ) ? $args['options'] : array(); if ( ! array_key_exists( 'WPLANG', $meta ) ) { $meta['WPLANG'] = get_network_option( $new_site->network_id, 'WPLANG' ); } $allowed_data_fields = array( 'public', 'archived', 'mature', 'spam', 'deleted', 'lang_id' ); $meta = array_merge( array_intersect_key( $data, array_flip( $allowed_data_fields ) ), $meta ); do_action_deprecated( 'wpmu_new_blog', array( $new_site->id, $user_id, $new_site->domain, $new_site->path, $new_site->network_id, $meta ), '5.1.0', 'wp_initialize_site' ); } return (int) $new_site->id; } function wp_update_site( $site_id, array $data ) { global $wpdb; if ( empty( $site_id ) ) { return new WP_Error( 'site_empty_id', __( 'Site ID must not be empty.' ) ); } $old_site = get_site( $site_id ); if ( ! $old_site ) { return new WP_Error( 'site_not_exist', __( 'Site does not exist.' ) ); } $defaults = $old_site->to_array(); $defaults['network_id'] = (int) $defaults['site_id']; $defaults['last_updated'] = current_time( 'mysql', true ); unset( $defaults['blog_id'], $defaults['site_id'] ); $data = wp_prepare_site_data( $data, $defaults, $old_site ); if ( is_wp_error( $data ) ) { return $data; } if ( false === $wpdb->update( $wpdb->blogs, $data, array( 'blog_id' => $old_site->id ) ) ) { return new WP_Error( 'db_update_error', __( 'Could not update site in the database.' ), $wpdb->last_error ); } clean_blog_cache( $old_site ); $new_site = get_site( $old_site->id ); do_action( 'wp_update_site', $new_site, $old_site ); return (int) $new_site->id; } function wp_delete_site( $site_id ) { global $wpdb; if ( empty( $site_id ) ) { return new WP_Error( 'site_empty_id', __( 'Site ID must not be empty.' ) ); } $old_site = get_site( $site_id ); if ( ! $old_site ) { return new WP_Error( 'site_not_exist', __( 'Site does not exist.' ) ); } $errors = new WP_Error(); do_action( 'wp_validate_site_deletion', $errors, $old_site ); if ( ! empty( $errors->errors ) ) { return $errors; } do_action_deprecated( 'delete_blog', array( $old_site->id, true ), '5.1.0' ); do_action( 'wp_uninitialize_site', $old_site ); if ( is_site_meta_supported() ) { $blog_meta_ids = $wpdb->get_col( $wpdb->prepare( "SELECT meta_id FROM $wpdb->blogmeta WHERE blog_id = %d ", $old_site->id ) ); foreach ( $blog_meta_ids as $mid ) { delete_metadata_by_mid( 'blog', $mid ); } } if ( false === $wpdb->delete( $wpdb->blogs, array( 'blog_id' => $old_site->id ) ) ) { return new WP_Error( 'db_delete_error', __( 'Could not delete site from the database.' ), $wpdb->last_error ); } clean_blog_cache( $old_site ); do_action( 'wp_delete_site', $old_site ); do_action_deprecated( 'deleted_blog', array( $old_site->id, true ), '5.1.0' ); return $old_site; } function get_site( $site = null ) { if ( empty( $site ) ) { $site = get_current_blog_id(); } if ( $site instanceof WP_Site ) { $_site = $site; } elseif ( is_object( $site ) ) { $_site = new WP_Site( $site ); } else { $_site = WP_Site::get_instance( $site ); } if ( ! $_site ) { return null; } $_site = apply_filters( 'get_site', $_site ); return $_site; } function _prime_site_caches( $ids, $update_meta_cache = true ) { global $wpdb; $non_cached_ids = _get_non_cached_ids( $ids, 'sites' ); if ( ! empty( $non_cached_ids ) ) { $fresh_sites = $wpdb->get_results( sprintf( "SELECT * FROM $wpdb->blogs WHERE blog_id IN (%s)", implode( ',', array_map( 'intval', $non_cached_ids ) ) ) ); update_site_cache( $fresh_sites, false ); } if ( $update_meta_cache ) { wp_lazyload_site_meta( $ids ); } } function wp_lazyload_site_meta( array $site_ids ) { if ( empty( $site_ids ) ) { return; } $lazyloader = wp_metadata_lazyloader(); $lazyloader->queue_objects( 'blog', $site_ids ); } function update_site_cache( $sites, $update_meta_cache = true ) { if ( ! $sites ) { return; } $site_ids = array(); $site_data = array(); $blog_details_data = array(); foreach ( $sites as $site ) { $site_ids[] = $site->blog_id; $site_data[ $site->blog_id ] = $site; $blog_details_data[ $site->blog_id . 'short' ] = $site; } wp_cache_add_multiple( $site_data, 'sites' ); wp_cache_add_multiple( $blog_details_data, 'blog-details' ); if ( $update_meta_cache ) { update_sitemeta_cache( $site_ids ); } } function update_sitemeta_cache( $site_ids ) { if ( ! has_filter( 'update_blog_metadata_cache', 'wp_check_site_meta_support_prefilter' ) ) { add_filter( 'update_blog_metadata_cache', 'wp_check_site_meta_support_prefilter' ); } return update_meta_cache( 'blog', $site_ids ); } function get_sites( $args = array() ) { $query = new WP_Site_Query(); return $query->query( $args ); } function wp_prepare_site_data( $data, $defaults, $old_site = null ) { if ( isset( $data['site_id'] ) ) { if ( ! empty( $data['site_id'] ) && empty( $data['network_id'] ) ) { $data['network_id'] = $data['site_id']; } unset( $data['site_id'] ); } $data = apply_filters( 'wp_normalize_site_data', $data ); $allowed_data_fields = array( 'domain', 'path', 'network_id', 'registered', 'last_updated', 'public', 'archived', 'mature', 'spam', 'deleted', 'lang_id' ); $data = array_intersect_key( wp_parse_args( $data, $defaults ), array_flip( $allowed_data_fields ) ); $errors = new WP_Error(); do_action( 'wp_validate_site_data', $errors, $data, $old_site ); if ( ! empty( $errors->errors ) ) { return $errors; } $data['site_id'] = $data['network_id']; unset( $data['network_id'] ); return $data; } function wp_normalize_site_data( $data ) { if ( array_key_exists( 'domain', $data ) ) { $data['domain'] = trim( $data['domain'] ); $data['domain'] = preg_replace( '/\s+/', '', sanitize_user( $data['domain'], true ) ); if ( is_subdomain_install() ) { $data['domain'] = str_replace( '@', '', $data['domain'] ); } } if ( array_key_exists( 'path', $data ) ) { $data['path'] = trailingslashit( '/' . trim( $data['path'], '/' ) ); } if ( array_key_exists( 'network_id', $data ) ) { $data['network_id'] = (int) $data['network_id']; } $status_fields = array( 'public', 'archived', 'mature', 'spam', 'deleted' ); foreach ( $status_fields as $status_field ) { if ( array_key_exists( $status_field, $data ) ) { $data[ $status_field ] = (int) $data[ $status_field ]; } } $date_fields = array( 'registered', 'last_updated' ); foreach ( $date_fields as $date_field ) { if ( ! array_key_exists( $date_field, $data ) ) { continue; } if ( empty( $data[ $date_field ] ) || '0000-00-00 00:00:00' === $data[ $date_field ] ) { unset( $data[ $date_field ] ); } } return $data; } function wp_validate_site_data( $errors, $data, $old_site = null ) { if ( empty( $data['domain'] ) ) { $errors->add( 'site_empty_domain', __( 'Site domain must not be empty.' ) ); } if ( empty( $data['path'] ) ) { $errors->add( 'site_empty_path', __( 'Site path must not be empty.' ) ); } if ( empty( $data['network_id'] ) ) { $errors->add( 'site_empty_network_id', __( 'Site network ID must be provided.' ) ); } $date_fields = array( 'registered', 'last_updated' ); foreach ( $date_fields as $date_field ) { if ( empty( $data[ $date_field ] ) ) { $errors->add( 'site_empty_' . $date_field, __( 'Both registration and last updated dates must be provided.' ) ); break; } if ( '0000-00-00 00:00:00' !== $data[ $date_field ] ) { $month = substr( $data[ $date_field ], 5, 2 ); $day = substr( $data[ $date_field ], 8, 2 ); $year = substr( $data[ $date_field ], 0, 4 ); $valid_date = wp_checkdate( $month, $day, $year, $data[ $date_field ] ); if ( ! $valid_date ) { $errors->add( 'site_invalid_' . $date_field, __( 'Both registration and last updated dates must be valid dates.' ) ); break; } } } if ( ! empty( $errors->errors ) ) { return; } if ( ! $old_site || $data['domain'] !== $old_site->domain || $data['path'] !== $old_site->path || $data['network_id'] !== $old_site->network_id ) { if ( domain_exists( $data['domain'], $data['path'], $data['network_id'] ) ) { $errors->add( 'site_taken', __( 'Sorry, that site already exists!' ) ); } } } function wp_initialize_site( $site_id, array $args = array() ) { global $wpdb, $wp_roles; if ( empty( $site_id ) ) { return new WP_Error( 'site_empty_id', __( 'Site ID must not be empty.' ) ); } $site = get_site( $site_id ); if ( ! $site ) { return new WP_Error( 'site_invalid_id', __( 'Site with the ID does not exist.' ) ); } if ( wp_is_site_initialized( $site ) ) { return new WP_Error( 'site_already_initialized', __( 'The site appears to be already initialized.' ) ); } $network = get_network( $site->network_id ); if ( ! $network ) { $network = get_network(); } $args = wp_parse_args( $args, array( 'user_id' => 0, 'title' => sprintf( __( 'Site %d' ), $site->id ), 'options' => array(), 'meta' => array(), ) ); $args = apply_filters( 'wp_initialize_site_args', $args, $site, $network ); $orig_installing = wp_installing(); if ( ! $orig_installing ) { wp_installing( true ); } $switch = false; if ( get_current_blog_id() !== $site->id ) { $switch = true; switch_to_blog( $site->id ); } require_once ABSPATH . 'wp-admin/includes/upgrade.php'; make_db_current_silent( 'blog' ); $home_scheme = 'http'; $siteurl_scheme = 'http'; if ( ! is_subdomain_install() ) { if ( 'https' === parse_url( get_home_url( $network->site_id ), PHP_URL_SCHEME ) ) { $home_scheme = 'https'; } if ( 'https' === parse_url( get_network_option( $network->id, 'siteurl' ), PHP_URL_SCHEME ) ) { $siteurl_scheme = 'https'; } } populate_options( array_merge( array( 'home' => untrailingslashit( $home_scheme . '://' . $site->domain . $site->path ), 'siteurl' => untrailingslashit( $siteurl_scheme . '://' . $site->domain . $site->path ), 'blogname' => wp_unslash( $args['title'] ), 'admin_email' => '', 'upload_path' => get_network_option( $network->id, 'ms_files_rewriting' ) ? UPLOADBLOGSDIR . "/{$site->id}/files" : get_blog_option( $network->site_id, 'upload_path' ), 'blog_public' => (int) $site->public, 'WPLANG' => get_network_option( $network->id, 'WPLANG' ), ), $args['options'] ) ); clean_blog_cache( $site ); populate_roles(); $wp_roles = new WP_Roles(); populate_site_meta( $site->id, $args['meta'] ); $table_prefix = $wpdb->get_blog_prefix(); delete_metadata( 'user', 0, $table_prefix . 'user_level', null, true ); delete_metadata( 'user', 0, $table_prefix . 'capabilities', null, true ); wp_install_defaults( $args['user_id'] ); add_user_to_blog( $site->id, $args['user_id'], 'administrator' ); if ( ! user_can( $args['user_id'], 'manage_network' ) && ! get_user_meta( $args['user_id'], 'primary_blog', true ) ) { update_user_meta( $args['user_id'], 'primary_blog', $site->id ); } if ( $switch ) { restore_current_blog(); } wp_installing( $orig_installing ); return true; } function wp_uninitialize_site( $site_id ) { global $wpdb; if ( empty( $site_id ) ) { return new WP_Error( 'site_empty_id', __( 'Site ID must not be empty.' ) ); } $site = get_site( $site_id ); if ( ! $site ) { return new WP_Error( 'site_invalid_id', __( 'Site with the ID does not exist.' ) ); } if ( ! wp_is_site_initialized( $site ) ) { return new WP_Error( 'site_already_uninitialized', __( 'The site appears to be already uninitialized.' ) ); } $users = get_users( array( 'blog_id' => $site->id, 'fields' => 'ids', ) ); if ( ! empty( $users ) ) { foreach ( $users as $user_id ) { remove_user_from_blog( $user_id, $site->id ); } } $switch = false; if ( get_current_blog_id() !== $site->id ) { $switch = true; switch_to_blog( $site->id ); } $uploads = wp_get_upload_dir(); $tables = $wpdb->tables( 'blog' ); $drop_tables = apply_filters( 'wpmu_drop_tables', $tables, $site->id ); foreach ( (array) $drop_tables as $table ) { $wpdb->query( "DROP TABLE IF EXISTS `$table`" ); } $dir = apply_filters( 'wpmu_delete_blog_upload_dir', $uploads['basedir'], $site->id ); $dir = rtrim( $dir, DIRECTORY_SEPARATOR ); $top_dir = $dir; $stack = array( $dir ); $index = 0; while ( $index < count( $stack ) ) { $dir = $stack[ $index ]; $dh = @opendir( $dir ); if ( $dh ) { $file = @readdir( $dh ); while ( false !== $file ) { if ( '.' === $file || '..' === $file ) { $file = @readdir( $dh ); continue; } if ( @is_dir( $dir . DIRECTORY_SEPARATOR . $file ) ) { $stack[] = $dir . DIRECTORY_SEPARATOR . $file; } elseif ( @is_file( $dir . DIRECTORY_SEPARATOR . $file ) ) { @unlink( $dir . DIRECTORY_SEPARATOR . $file ); } $file = @readdir( $dh ); } @closedir( $dh ); } ++$index; } $stack = array_reverse( $stack ); foreach ( (array) $stack as $dir ) { if ( $dir !== $top_dir ) { @rmdir( $dir ); } } if ( $switch ) { restore_current_blog(); } return true; } function wp_is_site_initialized( $site_id ) { global $wpdb; if ( is_object( $site_id ) ) { $site_id = $site_id->blog_id; } $site_id = (int) $site_id; $pre = apply_filters( 'pre_wp_is_site_initialized', null, $site_id ); if ( null !== $pre ) { return (bool) $pre; } $switch = false; if ( get_current_blog_id() !== $site_id ) { $switch = true; remove_action( 'switch_blog', 'wp_switch_roles_and_user', 1 ); switch_to_blog( $site_id ); } $suppress = $wpdb->suppress_errors(); $result = (bool) $wpdb->get_results( "DESCRIBE {$wpdb->posts}" ); $wpdb->suppress_errors( $suppress ); if ( $switch ) { restore_current_blog(); add_action( 'switch_blog', 'wp_switch_roles_and_user', 1, 2 ); } return $result; } function clean_blog_cache( $blog ) { global $_wp_suspend_cache_invalidation; if ( ! empty( $_wp_suspend_cache_invalidation ) ) { return; } if ( empty( $blog ) ) { return; } $blog_id = $blog; $blog = get_site( $blog_id ); if ( ! $blog ) { if ( ! is_numeric( $blog_id ) ) { return; } $blog = new WP_Site( (object) array( 'blog_id' => $blog_id, 'domain' => null, 'path' => null, ) ); } $blog_id = $blog->blog_id; $domain_path_key = md5( $blog->domain . $blog->path ); wp_cache_delete( $blog_id, 'sites' ); wp_cache_delete( $blog_id, 'site-details' ); wp_cache_delete( $blog_id, 'blog-details' ); wp_cache_delete( $blog_id . 'short', 'blog-details' ); wp_cache_delete( $domain_path_key, 'blog-lookup' ); wp_cache_delete( $domain_path_key, 'blog-id-cache' ); wp_cache_delete( $blog_id, 'blog_meta' ); do_action( 'clean_site_cache', $blog_id, $blog, $domain_path_key ); wp_cache_set_sites_last_changed(); do_action_deprecated( 'refresh_blog_details', array( $blog_id ), '4.9.0', 'clean_site_cache' ); } function add_site_meta( $site_id, $meta_key, $meta_value, $unique = false ) { return add_metadata( 'blog', $site_id, $meta_key, $meta_value, $unique ); } function delete_site_meta( $site_id, $meta_key, $meta_value = '' ) { return delete_metadata( 'blog', $site_id, $meta_key, $meta_value ); } function get_site_meta( $site_id, $key = '', $single = false ) { return get_metadata( 'blog', $site_id, $key, $single ); } function update_site_meta( $site_id, $meta_key, $meta_value, $prev_value = '' ) { return update_metadata( 'blog', $site_id, $meta_key, $meta_value, $prev_value ); } function delete_site_meta_by_key( $meta_key ) { return delete_metadata( 'blog', null, $meta_key, '', true ); } function wp_maybe_update_network_site_counts_on_update( $new_site, $old_site = null ) { if ( null === $old_site ) { wp_maybe_update_network_site_counts( $new_site->network_id ); return; } if ( $new_site->network_id !== $old_site->network_id ) { wp_maybe_update_network_site_counts( $new_site->network_id ); wp_maybe_update_network_site_counts( $old_site->network_id ); } } function wp_maybe_transition_site_statuses_on_update( $new_site, $old_site = null ) { $site_id = $new_site->id; if ( ! $old_site ) { $old_site = new WP_Site( new stdClass() ); } if ( $new_site->spam !== $old_site->spam ) { if ( '1' === $new_site->spam ) { do_action( 'make_spam_blog', $site_id ); } else { do_action( 'make_ham_blog', $site_id ); } } if ( $new_site->mature !== $old_site->mature ) { if ( '1' === $new_site->mature ) { do_action( 'mature_blog', $site_id ); } else { do_action( 'unmature_blog', $site_id ); } } if ( $new_site->archived !== $old_site->archived ) { if ( '1' === $new_site->archived ) { do_action( 'archive_blog', $site_id ); } else { do_action( 'unarchive_blog', $site_id ); } } if ( $new_site->deleted !== $old_site->deleted ) { if ( '1' === $new_site->deleted ) { do_action( 'make_delete_blog', $site_id ); } else { do_action( 'make_undelete_blog', $site_id ); } } if ( $new_site->public !== $old_site->public ) { do_action( 'update_blog_public', $site_id, $new_site->public ); } } function wp_maybe_clean_new_site_cache_on_update( $new_site, $old_site ) { if ( $old_site->domain !== $new_site->domain || $old_site->path !== $new_site->path ) { clean_blog_cache( $new_site ); } } function wp_update_blog_public_option_on_site_update( $site_id, $is_public ) { if ( ! wp_is_site_initialized( $site_id ) ) { return; } update_blog_option( $site_id, 'blog_public', $is_public ); } function wp_cache_set_sites_last_changed() { wp_cache_set_last_changed( 'sites' ); } function wp_check_site_meta_support_prefilter( $check ) { if ( ! is_site_meta_supported() ) { _doing_it_wrong( __FUNCTION__, sprintf( __( 'The %s table is not installed. Please run the network database upgrade.' ), $GLOBALS['wpdb']->blogmeta ), '5.1.0' ); return false; } return $check; } '', 'container' => 'div', 'container_class' => '', 'container_id' => '', 'container_aria_label' => '', 'menu_class' => 'menu', 'menu_id' => '', 'echo' => true, 'fallback_cb' => 'wp_page_menu', 'before' => '', 'after' => '', 'link_before' => '', 'link_after' => '', 'items_wrap' => '
      %3$s
    ', 'item_spacing' => 'preserve', 'depth' => 0, 'walker' => '', 'theme_location' => '', ); $args = wp_parse_args( $args, $defaults ); if ( ! in_array( $args['item_spacing'], array( 'preserve', 'discard' ), true ) ) { $args['item_spacing'] = $defaults['item_spacing']; } $args = apply_filters( 'wp_nav_menu_args', $args ); $args = (object) $args; $nav_menu = apply_filters( 'pre_wp_nav_menu', null, $args ); if ( null !== $nav_menu ) { if ( $args->echo ) { echo $nav_menu; return; } return $nav_menu; } $menu = wp_get_nav_menu_object( $args->menu ); $locations = get_nav_menu_locations(); if ( ! $menu && $args->theme_location && $locations && isset( $locations[ $args->theme_location ] ) ) { $menu = wp_get_nav_menu_object( $locations[ $args->theme_location ] ); } if ( ! $menu && ! $args->theme_location ) { $menus = wp_get_nav_menus(); foreach ( $menus as $menu_maybe ) { $menu_items = wp_get_nav_menu_items( $menu_maybe->term_id, array( 'update_post_term_cache' => false ) ); if ( $menu_items ) { $menu = $menu_maybe; break; } } } if ( empty( $args->menu ) ) { $args->menu = $menu; } if ( $menu && ! is_wp_error( $menu ) && ! isset( $menu_items ) ) { $menu_items = wp_get_nav_menu_items( $menu->term_id, array( 'update_post_term_cache' => false ) ); } if ( ( ! $menu || is_wp_error( $menu ) || ( isset( $menu_items ) && empty( $menu_items ) && ! $args->theme_location ) ) && isset( $args->fallback_cb ) && $args->fallback_cb && is_callable( $args->fallback_cb ) ) { return call_user_func( $args->fallback_cb, (array) $args ); } if ( ! $menu || is_wp_error( $menu ) ) { return false; } $nav_menu = ''; $items = ''; $show_container = false; if ( $args->container ) { $allowed_tags = apply_filters( 'wp_nav_menu_container_allowedtags', array( 'div', 'nav' ) ); if ( is_string( $args->container ) && in_array( $args->container, $allowed_tags, true ) ) { $show_container = true; $class = $args->container_class ? ' class="' . esc_attr( $args->container_class ) . '"' : ' class="menu-' . $menu->slug . '-container"'; $id = $args->container_id ? ' id="' . esc_attr( $args->container_id ) . '"' : ''; $aria_label = ( 'nav' === $args->container && $args->container_aria_label ) ? ' aria-label="' . esc_attr( $args->container_aria_label ) . '"' : ''; $nav_menu .= '<' . $args->container . $id . $class . $aria_label . '>'; } } _wp_menu_item_classes_by_context( $menu_items ); $sorted_menu_items = array(); $menu_items_with_children = array(); foreach ( (array) $menu_items as $menu_item ) { if ( (string) $menu_item->ID === (string) $menu_item->menu_item_parent ) { $menu_item->menu_item_parent = 0; } $sorted_menu_items[ $menu_item->menu_order ] = $menu_item; if ( $menu_item->menu_item_parent ) { $menu_items_with_children[ $menu_item->menu_item_parent ] = true; } } if ( $menu_items_with_children ) { foreach ( $sorted_menu_items as &$menu_item ) { if ( isset( $menu_items_with_children[ $menu_item->ID ] ) ) { $menu_item->classes[] = 'menu-item-has-children'; } } } unset( $menu_items, $menu_item ); $sorted_menu_items = apply_filters( 'wp_nav_menu_objects', $sorted_menu_items, $args ); $items .= walk_nav_menu_tree( $sorted_menu_items, $args->depth, $args ); unset( $sorted_menu_items ); if ( ! empty( $args->menu_id ) ) { $wrap_id = $args->menu_id; } else { $wrap_id = 'menu-' . $menu->slug; while ( in_array( $wrap_id, $menu_id_slugs, true ) ) { if ( preg_match( '#-(\d+)$#', $wrap_id, $matches ) ) { $wrap_id = preg_replace( '#-(\d+)$#', '-' . ++$matches[1], $wrap_id ); } else { $wrap_id = $wrap_id . '-1'; } } } $menu_id_slugs[] = $wrap_id; $wrap_class = $args->menu_class ? $args->menu_class : ''; $items = apply_filters( 'wp_nav_menu_items', $items, $args ); $items = apply_filters( "wp_nav_menu_{$menu->slug}_items", $items, $args ); if ( empty( $items ) ) { return false; } $nav_menu .= sprintf( $args->items_wrap, esc_attr( $wrap_id ), esc_attr( $wrap_class ), $items ); unset( $items ); if ( $show_container ) { $nav_menu .= 'container . '>'; } $nav_menu = apply_filters( 'wp_nav_menu', $nav_menu, $args ); if ( $args->echo ) { echo $nav_menu; } else { return $nav_menu; } } function _wp_menu_item_classes_by_context( &$menu_items ) { global $wp_query, $wp_rewrite; $queried_object = $wp_query->get_queried_object(); $queried_object_id = (int) $wp_query->queried_object_id; $active_object = ''; $active_ancestor_item_ids = array(); $active_parent_item_ids = array(); $active_parent_object_ids = array(); $possible_taxonomy_ancestors = array(); $possible_object_parents = array(); $home_page_id = (int) get_option( 'page_for_posts' ); if ( $wp_query->is_singular && ! empty( $queried_object->post_type ) && ! is_post_type_hierarchical( $queried_object->post_type ) ) { foreach ( (array) get_object_taxonomies( $queried_object->post_type ) as $taxonomy ) { if ( is_taxonomy_hierarchical( $taxonomy ) ) { $term_hierarchy = _get_term_hierarchy( $taxonomy ); $terms = wp_get_object_terms( $queried_object_id, $taxonomy, array( 'fields' => 'ids' ) ); if ( is_array( $terms ) ) { $possible_object_parents = array_merge( $possible_object_parents, $terms ); $term_to_ancestor = array(); foreach ( (array) $term_hierarchy as $anc => $descs ) { foreach ( (array) $descs as $desc ) { $term_to_ancestor[ $desc ] = $anc; } } foreach ( $terms as $desc ) { do { $possible_taxonomy_ancestors[ $taxonomy ][] = $desc; if ( isset( $term_to_ancestor[ $desc ] ) ) { $_desc = $term_to_ancestor[ $desc ]; unset( $term_to_ancestor[ $desc ] ); $desc = $_desc; } else { $desc = 0; } } while ( ! empty( $desc ) ); } } } } } elseif ( ! empty( $queried_object->taxonomy ) && is_taxonomy_hierarchical( $queried_object->taxonomy ) ) { $term_hierarchy = _get_term_hierarchy( $queried_object->taxonomy ); $term_to_ancestor = array(); foreach ( (array) $term_hierarchy as $anc => $descs ) { foreach ( (array) $descs as $desc ) { $term_to_ancestor[ $desc ] = $anc; } } $desc = $queried_object->term_id; do { $possible_taxonomy_ancestors[ $queried_object->taxonomy ][] = $desc; if ( isset( $term_to_ancestor[ $desc ] ) ) { $_desc = $term_to_ancestor[ $desc ]; unset( $term_to_ancestor[ $desc ] ); $desc = $_desc; } else { $desc = 0; } } while ( ! empty( $desc ) ); } $possible_object_parents = array_filter( $possible_object_parents ); $front_page_url = home_url(); $front_page_id = (int) get_option( 'page_on_front' ); $privacy_policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' ); foreach ( (array) $menu_items as $key => $menu_item ) { $menu_items[ $key ]->current = false; $classes = (array) $menu_item->classes; $classes[] = 'menu-item'; $classes[] = 'menu-item-type-' . $menu_item->type; $classes[] = 'menu-item-object-' . $menu_item->object; if ( 'post_type' === $menu_item->type && $front_page_id === (int) $menu_item->object_id ) { $classes[] = 'menu-item-home'; } if ( 'post_type' === $menu_item->type && $privacy_policy_page_id === (int) $menu_item->object_id ) { $classes[] = 'menu-item-privacy-policy'; } if ( $wp_query->is_singular && 'taxonomy' === $menu_item->type && in_array( (int) $menu_item->object_id, $possible_object_parents, true ) ) { $active_parent_object_ids[] = (int) $menu_item->object_id; $active_parent_item_ids[] = (int) $menu_item->db_id; $active_object = $queried_object->post_type; } elseif ( $menu_item->object_id == $queried_object_id && ( ( ! empty( $home_page_id ) && 'post_type' === $menu_item->type && $wp_query->is_home && $home_page_id == $menu_item->object_id ) || ( 'post_type' === $menu_item->type && $wp_query->is_singular ) || ( 'taxonomy' === $menu_item->type && ( $wp_query->is_category || $wp_query->is_tag || $wp_query->is_tax ) && $queried_object->taxonomy == $menu_item->object ) ) ) { $classes[] = 'current-menu-item'; $menu_items[ $key ]->current = true; $_anc_id = (int) $menu_item->db_id; while ( ( $_anc_id = (int) get_post_meta( $_anc_id, '_menu_item_menu_item_parent', true ) ) && ! in_array( $_anc_id, $active_ancestor_item_ids, true ) ) { $active_ancestor_item_ids[] = $_anc_id; } if ( 'post_type' === $menu_item->type && 'page' === $menu_item->object ) { $classes[] = 'page_item'; $classes[] = 'page-item-' . $menu_item->object_id; $classes[] = 'current_page_item'; } $active_parent_item_ids[] = (int) $menu_item->menu_item_parent; $active_parent_object_ids[] = (int) $menu_item->post_parent; $active_object = $menu_item->object; } elseif ( 'post_type_archive' === $menu_item->type && is_post_type_archive( array( $menu_item->object ) ) ) { $classes[] = 'current-menu-item'; $menu_items[ $key ]->current = true; $_anc_id = (int) $menu_item->db_id; while ( ( $_anc_id = (int) get_post_meta( $_anc_id, '_menu_item_menu_item_parent', true ) ) && ! in_array( $_anc_id, $active_ancestor_item_ids, true ) ) { $active_ancestor_item_ids[] = $_anc_id; } $active_parent_item_ids[] = (int) $menu_item->menu_item_parent; } elseif ( 'custom' === $menu_item->object && isset( $_SERVER['HTTP_HOST'] ) ) { $_root_relative_current = untrailingslashit( $_SERVER['REQUEST_URI'] ); if ( is_customize_preview() ) { $_root_relative_current = strtok( untrailingslashit( $_SERVER['REQUEST_URI'] ), '?' ); } $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_root_relative_current ); $raw_item_url = strpos( $menu_item->url, '#' ) ? substr( $menu_item->url, 0, strpos( $menu_item->url, '#' ) ) : $menu_item->url; $item_url = set_url_scheme( untrailingslashit( $raw_item_url ) ); $_indexless_current = untrailingslashit( preg_replace( '/' . preg_quote( $wp_rewrite->index, '/' ) . '$/', '', $current_url ) ); $matches = array( $current_url, urldecode( $current_url ), $_indexless_current, urldecode( $_indexless_current ), $_root_relative_current, urldecode( $_root_relative_current ), ); if ( $raw_item_url && in_array( $item_url, $matches, true ) ) { $classes[] = 'current-menu-item'; $menu_items[ $key ]->current = true; $_anc_id = (int) $menu_item->db_id; while ( ( $_anc_id = (int) get_post_meta( $_anc_id, '_menu_item_menu_item_parent', true ) ) && ! in_array( $_anc_id, $active_ancestor_item_ids, true ) ) { $active_ancestor_item_ids[] = $_anc_id; } if ( in_array( home_url(), array( untrailingslashit( $current_url ), untrailingslashit( $_indexless_current ) ), true ) ) { $classes[] = 'current_page_item'; } $active_parent_item_ids[] = (int) $menu_item->menu_item_parent; $active_parent_object_ids[] = (int) $menu_item->post_parent; $active_object = $menu_item->object; } elseif ( $item_url == $front_page_url && is_front_page() ) { $classes[] = 'current-menu-item'; } if ( untrailingslashit( $item_url ) == home_url() ) { $classes[] = 'menu-item-home'; } } if ( ! empty( $home_page_id ) && 'post_type' === $menu_item->type && empty( $wp_query->is_page ) && $home_page_id == $menu_item->object_id ) { $classes[] = 'current_page_parent'; } $menu_items[ $key ]->classes = array_unique( $classes ); } $active_ancestor_item_ids = array_filter( array_unique( $active_ancestor_item_ids ) ); $active_parent_item_ids = array_filter( array_unique( $active_parent_item_ids ) ); $active_parent_object_ids = array_filter( array_unique( $active_parent_object_ids ) ); foreach ( (array) $menu_items as $key => $parent_item ) { $classes = (array) $parent_item->classes; $menu_items[ $key ]->current_item_ancestor = false; $menu_items[ $key ]->current_item_parent = false; if ( isset( $parent_item->type ) && ( ( 'post_type' === $parent_item->type && ! empty( $queried_object->post_type ) && is_post_type_hierarchical( $queried_object->post_type ) && in_array( (int) $parent_item->object_id, $queried_object->ancestors, true ) && $parent_item->object != $queried_object->ID ) || ( 'taxonomy' === $parent_item->type && isset( $possible_taxonomy_ancestors[ $parent_item->object ] ) && in_array( (int) $parent_item->object_id, $possible_taxonomy_ancestors[ $parent_item->object ], true ) && ( ! isset( $queried_object->term_id ) || $parent_item->object_id != $queried_object->term_id ) ) ) ) { if ( ! empty( $queried_object->taxonomy ) ) { $classes[] = 'current-' . $queried_object->taxonomy . '-ancestor'; } else { $classes[] = 'current-' . $queried_object->post_type . '-ancestor'; } } if ( in_array( (int) $parent_item->db_id, $active_ancestor_item_ids, true ) ) { $classes[] = 'current-menu-ancestor'; $menu_items[ $key ]->current_item_ancestor = true; } if ( in_array( (int) $parent_item->db_id, $active_parent_item_ids, true ) ) { $classes[] = 'current-menu-parent'; $menu_items[ $key ]->current_item_parent = true; } if ( in_array( (int) $parent_item->object_id, $active_parent_object_ids, true ) ) { $classes[] = 'current-' . $active_object . '-parent'; } if ( 'post_type' === $parent_item->type && 'page' === $parent_item->object ) { if ( in_array( 'current-menu-parent', $classes, true ) ) { $classes[] = 'current_page_parent'; } if ( in_array( 'current-menu-ancestor', $classes, true ) ) { $classes[] = 'current_page_ancestor'; } } $menu_items[ $key ]->classes = array_unique( $classes ); } } function walk_nav_menu_tree( $items, $depth, $args ) { $walker = ( empty( $args->walker ) ) ? new Walker_Nav_Menu() : $args->walker; return $walker->walk( $items, $depth, $args ); } function _nav_menu_item_id_use_once( $id, $item ) { static $_used_ids = array(); if ( in_array( $item->ID, $_used_ids, true ) ) { return ''; } $_used_ids[] = $item->ID; return $id; } function wp_nav_menu_remove_menu_item_has_children_class( $classes, $menu_item, $args = false, $depth = false ) { if ( false === $depth || false === $args ) { return $classes; } $max_depth = isset( $args->depth ) ? (int) $args->depth : 0; $depth = $depth + 1; if ( 0 === $max_depth ) { return $classes; } if ( -1 === $max_depth || $depth >= $max_depth ) { $classes = array_diff( $classes, array( 'menu-item-has-children' ) ); } return $classes; } taxonomy ) && 'nav_menu' === $menu_obj->taxonomy ) { return true; } return false; } function register_nav_menus( $locations = array() ) { global $_wp_registered_nav_menus; add_theme_support( 'menus' ); foreach ( $locations as $key => $value ) { if ( is_int( $key ) ) { _doing_it_wrong( __FUNCTION__, __( 'Nav menu locations must be strings.' ), '5.3.0' ); break; } } $_wp_registered_nav_menus = array_merge( (array) $_wp_registered_nav_menus, $locations ); } function unregister_nav_menu( $location ) { global $_wp_registered_nav_menus; if ( is_array( $_wp_registered_nav_menus ) && isset( $_wp_registered_nav_menus[ $location ] ) ) { unset( $_wp_registered_nav_menus[ $location ] ); if ( empty( $_wp_registered_nav_menus ) ) { _remove_theme_support( 'menus' ); } return true; } return false; } function register_nav_menu( $location, $description ) { register_nav_menus( array( $location => $description ) ); } function get_registered_nav_menus() { global $_wp_registered_nav_menus; if ( isset( $_wp_registered_nav_menus ) ) { return $_wp_registered_nav_menus; } return array(); } function get_nav_menu_locations() { $locations = get_theme_mod( 'nav_menu_locations' ); return ( is_array( $locations ) ) ? $locations : array(); } function has_nav_menu( $location ) { $has_nav_menu = false; $registered_nav_menus = get_registered_nav_menus(); if ( isset( $registered_nav_menus[ $location ] ) ) { $locations = get_nav_menu_locations(); $has_nav_menu = ! empty( $locations[ $location ] ); } return apply_filters( 'has_nav_menu', $has_nav_menu, $location ); } function wp_get_nav_menu_name( $location ) { $menu_name = ''; $locations = get_nav_menu_locations(); if ( isset( $locations[ $location ] ) ) { $menu = wp_get_nav_menu_object( $locations[ $location ] ); if ( $menu && $menu->name ) { $menu_name = $menu->name; } } return apply_filters( 'wp_get_nav_menu_name', $menu_name, $location ); } function is_nav_menu_item( $menu_item_id = 0 ) { return ( ! is_wp_error( $menu_item_id ) && ( 'nav_menu_item' === get_post_type( $menu_item_id ) ) ); } function wp_create_nav_menu( $menu_name ) { return wp_update_nav_menu_object( 0, array( 'menu-name' => $menu_name ) ); } function wp_delete_nav_menu( $menu ) { $menu = wp_get_nav_menu_object( $menu ); if ( ! $menu ) { return false; } $menu_objects = get_objects_in_term( $menu->term_id, 'nav_menu' ); if ( ! empty( $menu_objects ) ) { foreach ( $menu_objects as $item ) { wp_delete_post( $item ); } } $result = wp_delete_term( $menu->term_id, 'nav_menu' ); $locations = get_nav_menu_locations(); foreach ( $locations as $location => $menu_id ) { if ( $menu_id == $menu->term_id ) { $locations[ $location ] = 0; } } set_theme_mod( 'nav_menu_locations', $locations ); if ( $result && ! is_wp_error( $result ) ) { do_action( 'wp_delete_nav_menu', $menu->term_id ); } return $result; } function wp_update_nav_menu_object( $menu_id = 0, $menu_data = array() ) { $menu_id = (int) $menu_id; $_menu = wp_get_nav_menu_object( $menu_id ); $args = array( 'description' => ( isset( $menu_data['description'] ) ? $menu_data['description'] : '' ), 'name' => ( isset( $menu_data['menu-name'] ) ? $menu_data['menu-name'] : '' ), 'parent' => ( isset( $menu_data['parent'] ) ? (int) $menu_data['parent'] : 0 ), 'slug' => null, ); $_possible_existing = get_term_by( 'name', $menu_data['menu-name'], 'nav_menu' ); if ( $_possible_existing && ! is_wp_error( $_possible_existing ) && isset( $_possible_existing->term_id ) && $_possible_existing->term_id != $menu_id ) { return new WP_Error( 'menu_exists', sprintf( __( 'The menu name %s conflicts with another menu name. Please try another.' ), '' . esc_html( $menu_data['menu-name'] ) . '' ) ); } if ( ! $_menu || is_wp_error( $_menu ) ) { $menu_exists = get_term_by( 'name', $menu_data['menu-name'], 'nav_menu' ); if ( $menu_exists ) { return new WP_Error( 'menu_exists', sprintf( __( 'The menu name %s conflicts with another menu name. Please try another.' ), '' . esc_html( $menu_data['menu-name'] ) . '' ) ); } $_menu = wp_insert_term( $menu_data['menu-name'], 'nav_menu', $args ); if ( is_wp_error( $_menu ) ) { return $_menu; } do_action( 'wp_create_nav_menu', $_menu['term_id'], $menu_data ); return (int) $_menu['term_id']; } if ( ! $_menu || ! isset( $_menu->term_id ) ) { return 0; } $menu_id = (int) $_menu->term_id; $update_response = wp_update_term( $menu_id, 'nav_menu', $args ); if ( is_wp_error( $update_response ) ) { return $update_response; } $menu_id = (int) $update_response['term_id']; do_action( 'wp_update_nav_menu', $menu_id, $menu_data ); return $menu_id; } function wp_update_nav_menu_item( $menu_id = 0, $menu_item_db_id = 0, $menu_item_data = array(), $fire_after_hooks = true ) { $menu_id = (int) $menu_id; $menu_item_db_id = (int) $menu_item_db_id; if ( ! empty( $menu_item_db_id ) && ! is_nav_menu_item( $menu_item_db_id ) ) { return new WP_Error( 'update_nav_menu_item_failed', __( 'The given object ID is not that of a menu item.' ) ); } $menu = wp_get_nav_menu_object( $menu_id ); if ( ! $menu && 0 !== $menu_id ) { return new WP_Error( 'invalid_menu_id', __( 'Invalid menu ID.' ) ); } if ( is_wp_error( $menu ) ) { return $menu; } $defaults = array( 'menu-item-db-id' => $menu_item_db_id, 'menu-item-object-id' => 0, 'menu-item-object' => '', 'menu-item-parent-id' => 0, 'menu-item-position' => 0, 'menu-item-type' => 'custom', 'menu-item-title' => '', 'menu-item-url' => '', 'menu-item-description' => '', 'menu-item-attr-title' => '', 'menu-item-target' => '', 'menu-item-classes' => '', 'menu-item-xfn' => '', 'menu-item-status' => '', 'menu-item-post-date' => '', 'menu-item-post-date-gmt' => '', ); $args = wp_parse_args( $menu_item_data, $defaults ); if ( 0 == $menu_id ) { $args['menu-item-position'] = 1; } elseif ( 0 == (int) $args['menu-item-position'] ) { $menu_items = 0 == $menu_id ? array() : (array) wp_get_nav_menu_items( $menu_id, array( 'post_status' => 'publish,draft' ) ); $last_item = array_pop( $menu_items ); $args['menu-item-position'] = ( $last_item && isset( $last_item->menu_order ) ) ? 1 + $last_item->menu_order : count( $menu_items ); } $original_parent = 0 < $menu_item_db_id ? get_post_field( 'post_parent', $menu_item_db_id ) : 0; if ( 'custom' === $args['menu-item-type'] ) { $args['menu-item-url'] = trim( $args['menu-item-url'] ); } else { $args['menu-item-url'] = ''; $original_title = ''; if ( 'taxonomy' === $args['menu-item-type'] ) { $original_parent = get_term_field( 'parent', $args['menu-item-object-id'], $args['menu-item-object'], 'raw' ); $original_title = get_term_field( 'name', $args['menu-item-object-id'], $args['menu-item-object'], 'raw' ); } elseif ( 'post_type' === $args['menu-item-type'] ) { $original_object = get_post( $args['menu-item-object-id'] ); $original_parent = (int) $original_object->post_parent; $original_title = $original_object->post_title; } elseif ( 'post_type_archive' === $args['menu-item-type'] ) { $original_object = get_post_type_object( $args['menu-item-object'] ); if ( $original_object ) { $original_title = $original_object->labels->archives; } } if ( wp_unslash( $args['menu-item-title'] ) === wp_specialchars_decode( $original_title ) ) { $args['menu-item-title'] = ''; } if ( '' === $args['menu-item-title'] && '' === $args['menu-item-description'] ) { $args['menu-item-description'] = ' '; } } $post = array( 'menu_order' => $args['menu-item-position'], 'ping_status' => 0, 'post_content' => $args['menu-item-description'], 'post_excerpt' => $args['menu-item-attr-title'], 'post_parent' => $original_parent, 'post_title' => $args['menu-item-title'], 'post_type' => 'nav_menu_item', ); $post_date = wp_resolve_post_date( $args['menu-item-post-date'], $args['menu-item-post-date-gmt'] ); if ( $post_date ) { $post['post_date'] = $post_date; } $update = 0 != $menu_item_db_id; if ( ! $update ) { $post['ID'] = 0; $post['post_status'] = 'publish' === $args['menu-item-status'] ? 'publish' : 'draft'; $menu_item_db_id = wp_insert_post( $post, true, $fire_after_hooks ); if ( ! $menu_item_db_id || is_wp_error( $menu_item_db_id ) ) { return $menu_item_db_id; } do_action( 'wp_add_nav_menu_item', $menu_id, $menu_item_db_id, $args ); } if ( $menu_id && ( ! $update || ! is_object_in_term( $menu_item_db_id, 'nav_menu', (int) $menu->term_id ) ) ) { $update_terms = wp_set_object_terms( $menu_item_db_id, array( $menu->term_id ), 'nav_menu' ); if ( is_wp_error( $update_terms ) ) { return $update_terms; } } if ( 'custom' === $args['menu-item-type'] ) { $args['menu-item-object-id'] = $menu_item_db_id; $args['menu-item-object'] = 'custom'; } $menu_item_db_id = (int) $menu_item_db_id; if ( (int) $args['menu-item-parent-id'] === $menu_item_db_id ) { $args['menu-item-parent-id'] = 0; } update_post_meta( $menu_item_db_id, '_menu_item_type', sanitize_key( $args['menu-item-type'] ) ); update_post_meta( $menu_item_db_id, '_menu_item_menu_item_parent', (string) ( (int) $args['menu-item-parent-id'] ) ); update_post_meta( $menu_item_db_id, '_menu_item_object_id', (string) ( (int) $args['menu-item-object-id'] ) ); update_post_meta( $menu_item_db_id, '_menu_item_object', sanitize_key( $args['menu-item-object'] ) ); update_post_meta( $menu_item_db_id, '_menu_item_target', sanitize_key( $args['menu-item-target'] ) ); $args['menu-item-classes'] = array_map( 'sanitize_html_class', explode( ' ', $args['menu-item-classes'] ) ); $args['menu-item-xfn'] = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $args['menu-item-xfn'] ) ) ); update_post_meta( $menu_item_db_id, '_menu_item_classes', $args['menu-item-classes'] ); update_post_meta( $menu_item_db_id, '_menu_item_xfn', $args['menu-item-xfn'] ); update_post_meta( $menu_item_db_id, '_menu_item_url', sanitize_url( $args['menu-item-url'] ) ); if ( 0 == $menu_id ) { update_post_meta( $menu_item_db_id, '_menu_item_orphaned', (string) time() ); } elseif ( get_post_meta( $menu_item_db_id, '_menu_item_orphaned' ) ) { delete_post_meta( $menu_item_db_id, '_menu_item_orphaned' ); } if ( $update ) { $post['ID'] = $menu_item_db_id; $post['post_status'] = ( 'draft' === $args['menu-item-status'] ) ? 'draft' : 'publish'; $update_post = wp_update_post( $post, true ); if ( is_wp_error( $update_post ) ) { return $update_post; } } do_action( 'wp_update_nav_menu_item', $menu_id, $menu_item_db_id, $args ); return $menu_item_db_id; } function wp_get_nav_menus( $args = array() ) { $defaults = array( 'taxonomy' => 'nav_menu', 'hide_empty' => false, 'orderby' => 'name', ); $args = wp_parse_args( $args, $defaults ); return apply_filters( 'wp_get_nav_menus', get_terms( $args ), $args ); } function _is_valid_nav_menu_item( $item ) { return empty( $item->_invalid ); } function wp_get_nav_menu_items( $menu, $args = array() ) { $menu = wp_get_nav_menu_object( $menu ); if ( ! $menu ) { return false; } if ( ! taxonomy_exists( 'nav_menu' ) ) { return false; } $defaults = array( 'order' => 'ASC', 'orderby' => 'menu_order', 'post_type' => 'nav_menu_item', 'post_status' => 'publish', 'output' => ARRAY_A, 'output_key' => 'menu_order', 'nopaging' => true, 'update_menu_item_cache' => true, 'tax_query' => array( array( 'taxonomy' => 'nav_menu', 'field' => 'term_taxonomy_id', 'terms' => $menu->term_taxonomy_id, ), ), ); $args = wp_parse_args( $args, $defaults ); if ( $menu->count > 0 ) { $items = get_posts( $args ); } else { $items = array(); } $items = array_map( 'wp_setup_nav_menu_item', $items ); if ( ! is_admin() ) { $items = array_filter( $items, '_is_valid_nav_menu_item' ); } if ( ARRAY_A === $args['output'] ) { $items = wp_list_sort( $items, array( $args['output_key'] => 'ASC', ) ); $i = 1; foreach ( $items as $k => $item ) { $items[ $k ]->{$args['output_key']} = $i++; } } return apply_filters( 'wp_get_nav_menu_items', $items, $menu, $args ); } function update_menu_item_cache( $menu_items ) { $post_ids = array(); $term_ids = array(); foreach ( $menu_items as $menu_item ) { if ( 'nav_menu_item' !== $menu_item->post_type ) { continue; } $object_id = get_post_meta( $menu_item->ID, '_menu_item_object_id', true ); $type = get_post_meta( $menu_item->ID, '_menu_item_type', true ); if ( 'post_type' === $type ) { $post_ids[] = (int) $object_id; } elseif ( 'taxonomy' === $type ) { $term_ids[] = (int) $object_id; } } if ( ! empty( $post_ids ) ) { _prime_post_caches( $post_ids, false ); } if ( ! empty( $term_ids ) ) { _prime_term_caches( $term_ids ); } } function wp_setup_nav_menu_item( $menu_item ) { $pre_menu_item = apply_filters( 'pre_wp_setup_nav_menu_item', null, $menu_item ); if ( null !== $pre_menu_item ) { return $pre_menu_item; } if ( isset( $menu_item->post_type ) ) { if ( 'nav_menu_item' === $menu_item->post_type ) { $menu_item->db_id = (int) $menu_item->ID; $menu_item->menu_item_parent = ! isset( $menu_item->menu_item_parent ) ? get_post_meta( $menu_item->ID, '_menu_item_menu_item_parent', true ) : $menu_item->menu_item_parent; $menu_item->object_id = ! isset( $menu_item->object_id ) ? get_post_meta( $menu_item->ID, '_menu_item_object_id', true ) : $menu_item->object_id; $menu_item->object = ! isset( $menu_item->object ) ? get_post_meta( $menu_item->ID, '_menu_item_object', true ) : $menu_item->object; $menu_item->type = ! isset( $menu_item->type ) ? get_post_meta( $menu_item->ID, '_menu_item_type', true ) : $menu_item->type; if ( 'post_type' === $menu_item->type ) { $object = get_post_type_object( $menu_item->object ); if ( $object ) { $menu_item->type_label = $object->labels->singular_name; if ( function_exists( 'get_post_states' ) ) { $menu_post = get_post( $menu_item->object_id ); $post_states = get_post_states( $menu_post ); if ( $post_states ) { $menu_item->type_label = wp_strip_all_tags( implode( ', ', $post_states ) ); } } } else { $menu_item->type_label = $menu_item->object; $menu_item->_invalid = true; } if ( 'trash' === get_post_status( $menu_item->object_id ) ) { $menu_item->_invalid = true; } $original_object = get_post( $menu_item->object_id ); if ( $original_object ) { $menu_item->url = get_permalink( $original_object->ID ); $original_title = apply_filters( 'the_title', $original_object->post_title, $original_object->ID ); } else { $menu_item->url = ''; $original_title = ''; $menu_item->_invalid = true; } if ( '' === $original_title ) { $original_title = sprintf( __( '#%d (no title)' ), $menu_item->object_id ); } $menu_item->title = ( '' === $menu_item->post_title ) ? $original_title : $menu_item->post_title; } elseif ( 'post_type_archive' === $menu_item->type ) { $object = get_post_type_object( $menu_item->object ); if ( $object ) { $menu_item->title = ( '' === $menu_item->post_title ) ? $object->labels->archives : $menu_item->post_title; $post_type_description = $object->description; } else { $post_type_description = ''; $menu_item->_invalid = true; } $menu_item->type_label = __( 'Post Type Archive' ); $post_content = wp_trim_words( $menu_item->post_content, 200 ); $post_type_description = ( '' === $post_content ) ? $post_type_description : $post_content; $menu_item->url = get_post_type_archive_link( $menu_item->object ); } elseif ( 'taxonomy' === $menu_item->type ) { $object = get_taxonomy( $menu_item->object ); if ( $object ) { $menu_item->type_label = $object->labels->singular_name; } else { $menu_item->type_label = $menu_item->object; $menu_item->_invalid = true; } $original_object = get_term( (int) $menu_item->object_id, $menu_item->object ); if ( $original_object && ! is_wp_error( $original_object ) ) { $menu_item->url = get_term_link( (int) $menu_item->object_id, $menu_item->object ); $original_title = $original_object->name; } else { $menu_item->url = ''; $original_title = ''; $menu_item->_invalid = true; } if ( '' === $original_title ) { $original_title = sprintf( __( '#%d (no title)' ), $menu_item->object_id ); } $menu_item->title = ( '' === $menu_item->post_title ) ? $original_title : $menu_item->post_title; } else { $menu_item->type_label = __( 'Custom Link' ); $menu_item->title = $menu_item->post_title; $menu_item->url = ! isset( $menu_item->url ) ? get_post_meta( $menu_item->ID, '_menu_item_url', true ) : $menu_item->url; } $menu_item->target = ! isset( $menu_item->target ) ? get_post_meta( $menu_item->ID, '_menu_item_target', true ) : $menu_item->target; $menu_item->attr_title = ! isset( $menu_item->attr_title ) ? apply_filters( 'nav_menu_attr_title', $menu_item->post_excerpt ) : $menu_item->attr_title; if ( ! isset( $menu_item->description ) ) { $menu_item->description = apply_filters( 'nav_menu_description', wp_trim_words( $menu_item->post_content, 200 ) ); } $menu_item->classes = ! isset( $menu_item->classes ) ? (array) get_post_meta( $menu_item->ID, '_menu_item_classes', true ) : $menu_item->classes; $menu_item->xfn = ! isset( $menu_item->xfn ) ? get_post_meta( $menu_item->ID, '_menu_item_xfn', true ) : $menu_item->xfn; } else { $menu_item->db_id = 0; $menu_item->menu_item_parent = 0; $menu_item->object_id = (int) $menu_item->ID; $menu_item->type = 'post_type'; $object = get_post_type_object( $menu_item->post_type ); $menu_item->object = $object->name; $menu_item->type_label = $object->labels->singular_name; if ( '' === $menu_item->post_title ) { $menu_item->post_title = sprintf( __( '#%d (no title)' ), $menu_item->ID ); } $menu_item->title = $menu_item->post_title; $menu_item->url = get_permalink( $menu_item->ID ); $menu_item->target = ''; $menu_item->attr_title = apply_filters( 'nav_menu_attr_title', '' ); $menu_item->description = apply_filters( 'nav_menu_description', '' ); $menu_item->classes = array(); $menu_item->xfn = ''; } } elseif ( isset( $menu_item->taxonomy ) ) { $menu_item->ID = $menu_item->term_id; $menu_item->db_id = 0; $menu_item->menu_item_parent = 0; $menu_item->object_id = (int) $menu_item->term_id; $menu_item->post_parent = (int) $menu_item->parent; $menu_item->type = 'taxonomy'; $object = get_taxonomy( $menu_item->taxonomy ); $menu_item->object = $object->name; $menu_item->type_label = $object->labels->singular_name; $menu_item->title = $menu_item->name; $menu_item->url = get_term_link( $menu_item, $menu_item->taxonomy ); $menu_item->target = ''; $menu_item->attr_title = ''; $menu_item->description = get_term_field( 'description', $menu_item->term_id, $menu_item->taxonomy ); $menu_item->classes = array(); $menu_item->xfn = ''; } return apply_filters( 'wp_setup_nav_menu_item', $menu_item ); } function wp_get_associated_nav_menu_items( $object_id = 0, $object_type = 'post_type', $taxonomy = '' ) { $object_id = (int) $object_id; $menu_item_ids = array(); $query = new WP_Query(); $menu_items = $query->query( array( 'meta_key' => '_menu_item_object_id', 'meta_value' => $object_id, 'post_status' => 'any', 'post_type' => 'nav_menu_item', 'posts_per_page' => -1, ) ); foreach ( (array) $menu_items as $menu_item ) { if ( isset( $menu_item->ID ) && is_nav_menu_item( $menu_item->ID ) ) { $menu_item_type = get_post_meta( $menu_item->ID, '_menu_item_type', true ); if ( 'post_type' === $object_type && 'post_type' === $menu_item_type ) { $menu_item_ids[] = (int) $menu_item->ID; } elseif ( 'taxonomy' === $object_type && 'taxonomy' === $menu_item_type && get_post_meta( $menu_item->ID, '_menu_item_object', true ) == $taxonomy ) { $menu_item_ids[] = (int) $menu_item->ID; } } } return array_unique( $menu_item_ids ); } function _wp_delete_post_menu_item( $object_id ) { $object_id = (int) $object_id; $menu_item_ids = wp_get_associated_nav_menu_items( $object_id, 'post_type' ); foreach ( (array) $menu_item_ids as $menu_item_id ) { wp_delete_post( $menu_item_id, true ); } } function _wp_delete_tax_menu_item( $object_id, $tt_id, $taxonomy ) { $object_id = (int) $object_id; $menu_item_ids = wp_get_associated_nav_menu_items( $object_id, 'taxonomy', $taxonomy ); foreach ( (array) $menu_item_ids as $menu_item_id ) { wp_delete_post( $menu_item_id, true ); } } function _wp_auto_add_pages_to_menu( $new_status, $old_status, $post ) { if ( 'publish' !== $new_status || 'publish' === $old_status || 'page' !== $post->post_type ) { return; } if ( ! empty( $post->post_parent ) ) { return; } $auto_add = get_option( 'nav_menu_options' ); if ( empty( $auto_add ) || ! is_array( $auto_add ) || ! isset( $auto_add['auto_add'] ) ) { return; } $auto_add = $auto_add['auto_add']; if ( empty( $auto_add ) || ! is_array( $auto_add ) ) { return; } $args = array( 'menu-item-object-id' => $post->ID, 'menu-item-object' => $post->post_type, 'menu-item-type' => 'post_type', 'menu-item-status' => 'publish', ); foreach ( $auto_add as $menu_id ) { $items = wp_get_nav_menu_items( $menu_id, array( 'post_status' => 'publish,draft' ) ); if ( ! is_array( $items ) ) { continue; } foreach ( $items as $item ) { if ( $post->ID == $item->object_id ) { continue 2; } } wp_update_nav_menu_item( $menu_id, 0, $args ); } } function _wp_delete_customize_changeset_dependent_auto_drafts( $post_id ) { $post = get_post( $post_id ); if ( ! $post || 'customize_changeset' !== $post->post_type ) { return; } $data = json_decode( $post->post_content, true ); if ( empty( $data['nav_menus_created_posts']['value'] ) ) { return; } remove_action( 'delete_post', '_wp_delete_customize_changeset_dependent_auto_drafts' ); foreach ( $data['nav_menus_created_posts']['value'] as $stub_post_id ) { if ( empty( $stub_post_id ) ) { continue; } if ( 'auto-draft' === get_post_status( $stub_post_id ) ) { wp_delete_post( $stub_post_id, true ); } elseif ( 'draft' === get_post_status( $stub_post_id ) ) { wp_trash_post( $stub_post_id ); delete_post_meta( $stub_post_id, '_customize_changeset_uuid' ); } } add_action( 'delete_post', '_wp_delete_customize_changeset_dependent_auto_drafts' ); } function _wp_menus_changed() { $old_nav_menu_locations = get_option( 'theme_switch_menu_locations', array() ); $new_nav_menu_locations = get_nav_menu_locations(); $mapped_nav_menu_locations = wp_map_nav_menu_locations( $new_nav_menu_locations, $old_nav_menu_locations ); set_theme_mod( 'nav_menu_locations', $mapped_nav_menu_locations ); delete_option( 'theme_switch_menu_locations' ); } function wp_map_nav_menu_locations( $new_nav_menu_locations, $old_nav_menu_locations ) { $registered_nav_menus = get_registered_nav_menus(); $new_nav_menu_locations = array_intersect_key( $new_nav_menu_locations, $registered_nav_menus ); if ( empty( $old_nav_menu_locations ) ) { return $new_nav_menu_locations; } if ( 1 === count( $old_nav_menu_locations ) && 1 === count( $registered_nav_menus ) ) { $new_nav_menu_locations[ key( $registered_nav_menus ) ] = array_pop( $old_nav_menu_locations ); return $new_nav_menu_locations; } $old_locations = array_keys( $old_nav_menu_locations ); foreach ( $registered_nav_menus as $location => $name ) { if ( in_array( $location, $old_locations, true ) ) { $new_nav_menu_locations[ $location ] = $old_nav_menu_locations[ $location ]; unset( $old_nav_menu_locations[ $location ] ); } } if ( empty( $old_nav_menu_locations ) ) { return $new_nav_menu_locations; } $common_slug_groups = array( array( 'primary', 'menu-1', 'main', 'header', 'navigation', 'top' ), array( 'secondary', 'menu-2', 'footer', 'subsidiary', 'bottom' ), array( 'social' ), ); foreach ( $common_slug_groups as $slug_group ) { foreach ( $slug_group as $slug ) { foreach ( $registered_nav_menus as $new_location => $name ) { if ( is_string( $new_location ) && false === stripos( $new_location, $slug ) && false === stripos( $slug, $new_location ) ) { continue; } elseif ( is_numeric( $new_location ) && $new_location !== $slug ) { continue; } foreach ( $old_nav_menu_locations as $location => $menu_id ) { foreach ( $slug_group as $slug ) { if ( is_string( $location ) && false === stripos( $location, $slug ) && false === stripos( $slug, $location ) ) { continue; } elseif ( is_numeric( $location ) && $location !== $slug ) { continue; } if ( ! empty( $old_nav_menu_locations[ $location ] ) ) { $new_nav_menu_locations[ $new_location ] = $old_nav_menu_locations[ $location ]; unset( $old_nav_menu_locations[ $location ] ); continue 3; } } } } } } return $new_nav_menu_locations; } function _wp_reset_invalid_menu_item_parent( $menu_item_data ) { if ( ! is_array( $menu_item_data ) ) { return $menu_item_data; } if ( ! empty( $menu_item_data['ID'] ) && ! empty( $menu_item_data['menu_item_parent'] ) && (int) $menu_item_data['ID'] === (int) $menu_item_data['menu_item_parent'] ) { $menu_item_data['menu_item_parent'] = 0; } return $menu_item_data; } 'disallowed_keys', 'comment_whitelist' => 'comment_previously_approved', ); if ( isset( $deprecated_keys[ $option ] ) && ! wp_installing() ) { _deprecated_argument( __FUNCTION__, '5.5.0', sprintf( __( 'The "%1$s" option key has been renamed to "%2$s".' ), $option, $deprecated_keys[ $option ] ) ); return get_option( $deprecated_keys[ $option ], $default_value ); } $pre = apply_filters( "pre_option_{$option}", false, $option, $default_value ); $pre = apply_filters( 'pre_option', $pre, $option, $default_value ); if ( false !== $pre ) { return $pre; } if ( defined( 'WP_SETUP_CONFIG' ) ) { return false; } $passed_default = func_num_args() > 1; if ( ! wp_installing() ) { $alloptions = wp_load_alloptions(); if ( isset( $alloptions[ $option ] ) ) { $value = $alloptions[ $option ]; } else { $value = wp_cache_get( $option, 'options' ); if ( false === $value ) { $notoptions = wp_cache_get( 'notoptions', 'options' ); if ( ! is_array( $notoptions ) ) { $notoptions = array(); wp_cache_set( 'notoptions', $notoptions, 'options' ); } elseif ( isset( $notoptions[ $option ] ) ) { return apply_filters( "default_option_{$option}", $default_value, $option, $passed_default ); } $row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) ); if ( is_object( $row ) ) { $value = $row->option_value; wp_cache_add( $option, $value, 'options' ); } else { $notoptions[ $option ] = true; wp_cache_set( 'notoptions', $notoptions, 'options' ); return apply_filters( "default_option_{$option}", $default_value, $option, $passed_default ); } } } } else { $suppress = $wpdb->suppress_errors(); $row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) ); $wpdb->suppress_errors( $suppress ); if ( is_object( $row ) ) { $value = $row->option_value; } else { return apply_filters( "default_option_{$option}", $default_value, $option, $passed_default ); } } if ( 'home' === $option && '' === $value ) { return get_option( 'siteurl' ); } if ( in_array( $option, array( 'siteurl', 'home', 'category_base', 'tag_base' ), true ) ) { $value = untrailingslashit( $value ); } return apply_filters( "option_{$option}", maybe_unserialize( $value ), $option ); } function prime_options( $options ) { $alloptions = wp_load_alloptions(); $cached_options = wp_cache_get_multiple( $options, 'options' ); $options_to_prime = array(); foreach ( $options as $option ) { if ( ( ! isset( $cached_options[ $option ] ) || ! $cached_options[ $option ] ) && ! isset( $alloptions[ $option ] ) ) { $options_to_prime[] = $option; } } if ( empty( $options_to_prime ) ) { return; } global $wpdb; $results = $wpdb->get_results( $wpdb->prepare( sprintf( "SELECT option_name, option_value FROM $wpdb->options WHERE option_name IN (%s)", implode( ',', array_fill( 0, count( $options_to_prime ), '%s' ) ) ), $options_to_prime ) ); $options_found = array(); foreach ( $results as $result ) { $options_found[ $result->option_name ] = maybe_unserialize( $result->option_value ); } wp_cache_set_multiple( $options_found, 'options' ); if ( count( $options_found ) === count( $options_to_prime ) ) { return; } $options_not_found = array_diff( $options_to_prime, array_keys( $options_found ) ); $notoptions = wp_cache_get( 'notoptions', 'options' ); if ( ! is_array( $notoptions ) ) { $notoptions = array(); } $update_notoptions = false; foreach ( $options_not_found as $option_name ) { if ( ! isset( $notoptions[ $option_name ] ) ) { $notoptions[ $option_name ] = true; $update_notoptions = true; } } if ( $update_notoptions ) { wp_cache_set( 'notoptions', $notoptions, 'options' ); } } function prime_options_by_group( $option_group ) { global $new_allowed_options; if ( isset( $new_allowed_options[ $option_group ] ) ) { prime_options( $new_allowed_options[ $option_group ] ); } } function get_options( $options ) { prime_options( $options ); $result = array(); foreach ( $options as $option ) { $result[ $option ] = get_option( $option ); } return $result; } function wp_set_option_autoload_values( array $options ) { global $wpdb; if ( ! $options ) { return array(); } $grouped_options = array( 'yes' => array(), 'no' => array(), ); $results = array(); foreach ( $options as $option => $autoload ) { wp_protect_special_option( $option ); if ( 'no' === $autoload || false === $autoload ) { $grouped_options['no'][] = $option; } else { $grouped_options['yes'][] = $option; } $results[ $option ] = false; } $where = array(); $where_args = array(); foreach ( $grouped_options as $autoload => $options ) { if ( ! $options ) { continue; } $placeholders = implode( ',', array_fill( 0, count( $options ), '%s' ) ); $where[] = "autoload != '%s' AND option_name IN ($placeholders)"; $where_args[] = $autoload; foreach ( $options as $option ) { $where_args[] = $option; } } $where = 'WHERE ' . implode( ' OR ', $where ); $options_to_update = $wpdb->get_col( $wpdb->prepare( "SELECT option_name FROM $wpdb->options $where", $where_args ) ); if ( ! $options_to_update ) { return $results; } foreach ( $grouped_options as $autoload => $options ) { if ( ! $options ) { continue; } $options = array_intersect( $options, $options_to_update ); $grouped_options[ $autoload ] = $options; if ( ! $grouped_options[ $autoload ] ) { continue; } $success = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->options SET autoload = %s WHERE option_name IN (" . implode( ',', array_fill( 0, count( $grouped_options[ $autoload ] ), '%s' ) ) . ')', array_merge( array( $autoload ), $grouped_options[ $autoload ] ) ) ); if ( ! $success ) { $grouped_options[ $autoload ] = array(); continue; } foreach ( $grouped_options[ $autoload ] as $option ) { $results[ $option ] = true; } } if ( $grouped_options['yes'] ) { wp_cache_delete_multiple( $grouped_options['yes'], 'options' ); wp_cache_delete( 'alloptions', 'options' ); } elseif ( $grouped_options['no'] ) { $alloptions = wp_load_alloptions( true ); foreach ( $grouped_options['no'] as $option ) { if ( isset( $alloptions[ $option ] ) ) { unset( $alloptions[ $option ] ); } } wp_cache_set( 'alloptions', $alloptions, 'options' ); } return $results; } function wp_set_options_autoload( array $options, $autoload ) { return wp_set_option_autoload_values( array_fill_keys( $options, $autoload ) ); } function wp_set_option_autoload( $option, $autoload ) { $result = wp_set_option_autoload_values( array( $option => $autoload ) ); if ( isset( $result[ $option ] ) ) { return $result[ $option ]; } return false; } function wp_protect_special_option( $option ) { if ( 'alloptions' === $option || 'notoptions' === $option ) { wp_die( sprintf( __( '%s is a protected WP option and may not be modified' ), esc_html( $option ) ) ); } } function form_option( $option ) { echo esc_attr( get_option( $option ) ); } function wp_load_alloptions( $force_cache = false ) { global $wpdb; $alloptions = apply_filters( 'pre_wp_load_alloptions', null, $force_cache ); if ( is_array( $alloptions ) ) { return $alloptions; } if ( ! wp_installing() || ! is_multisite() ) { $alloptions = wp_cache_get( 'alloptions', 'options', $force_cache ); } else { $alloptions = false; } if ( ! $alloptions ) { $suppress = $wpdb->suppress_errors(); $alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options WHERE autoload = 'yes'" ); if ( ! $alloptions_db ) { $alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options" ); } $wpdb->suppress_errors( $suppress ); $alloptions = array(); foreach ( (array) $alloptions_db as $o ) { $alloptions[ $o->option_name ] = $o->option_value; } if ( ! wp_installing() || ! is_multisite() ) { $alloptions = apply_filters( 'pre_cache_alloptions', $alloptions ); wp_cache_add( 'alloptions', $alloptions, 'options' ); } } return apply_filters( 'alloptions', $alloptions ); } function wp_load_core_site_options( $network_id = null ) { global $wpdb; if ( ! is_multisite() || wp_installing() ) { return; } if ( empty( $network_id ) ) { $network_id = get_current_network_id(); } $core_options = array( 'site_name', 'siteurl', 'active_sitewide_plugins', '_site_transient_timeout_theme_roots', '_site_transient_theme_roots', 'site_admins', 'can_compress_scripts', 'global_terms_enabled', 'ms_files_rewriting' ); if ( wp_using_ext_object_cache() ) { $cache_keys = array(); foreach ( $core_options as $option ) { $cache_keys[] = "{$network_id}:{$option}"; } wp_cache_get_multiple( $cache_keys, 'site-options' ); return; } $core_options_in = "'" . implode( "', '", $core_options ) . "'"; $options = $wpdb->get_results( $wpdb->prepare( "SELECT meta_key, meta_value FROM $wpdb->sitemeta WHERE meta_key IN ($core_options_in) AND site_id = %d", $network_id ) ); $data = array(); foreach ( $options as $option ) { $key = $option->meta_key; $cache_key = "{$network_id}:$key"; $option->meta_value = maybe_unserialize( $option->meta_value ); $data[ $cache_key ] = $option->meta_value; } wp_cache_set_multiple( $data, 'site-options' ); } function update_option( $option, $value, $autoload = null ) { global $wpdb; if ( is_scalar( $option ) ) { $option = trim( $option ); } if ( empty( $option ) ) { return false; } $deprecated_keys = array( 'blacklist_keys' => 'disallowed_keys', 'comment_whitelist' => 'comment_previously_approved', ); if ( isset( $deprecated_keys[ $option ] ) && ! wp_installing() ) { _deprecated_argument( __FUNCTION__, '5.5.0', sprintf( __( 'The "%1$s" option key has been renamed to "%2$s".' ), $option, $deprecated_keys[ $option ] ) ); return update_option( $deprecated_keys[ $option ], $value, $autoload ); } wp_protect_special_option( $option ); if ( is_object( $value ) ) { $value = clone $value; } $value = sanitize_option( $option, $value ); $old_value = get_option( $option ); $value = apply_filters( "pre_update_option_{$option}", $value, $old_value, $option ); $value = apply_filters( 'pre_update_option', $value, $option, $old_value ); if ( has_filter( "pre_option_{$option}" ) ) { global $wp_filter; $old_filters = $wp_filter[ "pre_option_{$option}" ]; unset( $wp_filter[ "pre_option_{$option}" ] ); $raw_old_value = get_option( $option ); $wp_filter[ "pre_option_{$option}" ] = $old_filters; } else { $raw_old_value = $old_value; } $default_value = apply_filters( "default_option_{$option}", false, $option, false ); if ( $value === $raw_old_value || ( $raw_old_value !== $default_value && _is_equal_database_value( $raw_old_value, $value ) ) ) { return false; } if ( $raw_old_value === $default_value ) { if ( null === $autoload ) { $autoload = 'yes'; } return add_option( $option, $value, '', $autoload ); } $serialized_value = maybe_serialize( $value ); do_action( 'update_option', $option, $old_value, $value ); $update_args = array( 'option_value' => $serialized_value, ); if ( null !== $autoload ) { $update_args['autoload'] = ( 'no' === $autoload || false === $autoload ) ? 'no' : 'yes'; } $result = $wpdb->update( $wpdb->options, $update_args, array( 'option_name' => $option ) ); if ( ! $result ) { return false; } $notoptions = wp_cache_get( 'notoptions', 'options' ); if ( is_array( $notoptions ) && isset( $notoptions[ $option ] ) ) { unset( $notoptions[ $option ] ); wp_cache_set( 'notoptions', $notoptions, 'options' ); } if ( ! wp_installing() ) { $alloptions = wp_load_alloptions( true ); if ( isset( $alloptions[ $option ] ) ) { $alloptions[ $option ] = $serialized_value; wp_cache_set( 'alloptions', $alloptions, 'options' ); } else { wp_cache_set( $option, $serialized_value, 'options' ); } } do_action( "update_option_{$option}", $old_value, $value, $option ); do_action( 'updated_option', $option, $old_value, $value ); return true; } function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' ) { global $wpdb; if ( ! empty( $deprecated ) ) { _deprecated_argument( __FUNCTION__, '2.3.0' ); } if ( is_scalar( $option ) ) { $option = trim( $option ); } if ( empty( $option ) ) { return false; } $deprecated_keys = array( 'blacklist_keys' => 'disallowed_keys', 'comment_whitelist' => 'comment_previously_approved', ); if ( isset( $deprecated_keys[ $option ] ) && ! wp_installing() ) { _deprecated_argument( __FUNCTION__, '5.5.0', sprintf( __( 'The "%1$s" option key has been renamed to "%2$s".' ), $option, $deprecated_keys[ $option ] ) ); return add_option( $deprecated_keys[ $option ], $value, $deprecated, $autoload ); } wp_protect_special_option( $option ); if ( is_object( $value ) ) { $value = clone $value; } $value = sanitize_option( $option, $value ); $notoptions = wp_cache_get( 'notoptions', 'options' ); if ( ! is_array( $notoptions ) || ! isset( $notoptions[ $option ] ) ) { if ( apply_filters( "default_option_{$option}", false, $option, false ) !== get_option( $option ) ) { return false; } } $serialized_value = maybe_serialize( $value ); $autoload = ( 'no' === $autoload || false === $autoload ) ? 'no' : 'yes'; do_action( 'add_option', $option, $value ); $result = $wpdb->query( $wpdb->prepare( "INSERT INTO `$wpdb->options` (`option_name`, `option_value`, `autoload`) VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)", $option, $serialized_value, $autoload ) ); if ( ! $result ) { return false; } if ( ! wp_installing() ) { if ( 'yes' === $autoload ) { $alloptions = wp_load_alloptions( true ); $alloptions[ $option ] = $serialized_value; wp_cache_set( 'alloptions', $alloptions, 'options' ); } else { wp_cache_set( $option, $serialized_value, 'options' ); } } $notoptions = wp_cache_get( 'notoptions', 'options' ); if ( is_array( $notoptions ) && isset( $notoptions[ $option ] ) ) { unset( $notoptions[ $option ] ); wp_cache_set( 'notoptions', $notoptions, 'options' ); } do_action( "add_option_{$option}", $option, $value ); do_action( 'added_option', $option, $value ); return true; } function delete_option( $option ) { global $wpdb; if ( is_scalar( $option ) ) { $option = trim( $option ); } if ( empty( $option ) ) { return false; } wp_protect_special_option( $option ); $row = $wpdb->get_row( $wpdb->prepare( "SELECT autoload FROM $wpdb->options WHERE option_name = %s", $option ) ); if ( is_null( $row ) ) { return false; } do_action( 'delete_option', $option ); $result = $wpdb->delete( $wpdb->options, array( 'option_name' => $option ) ); if ( ! wp_installing() ) { if ( 'yes' === $row->autoload ) { $alloptions = wp_load_alloptions( true ); if ( is_array( $alloptions ) && isset( $alloptions[ $option ] ) ) { unset( $alloptions[ $option ] ); wp_cache_set( 'alloptions', $alloptions, 'options' ); } } else { wp_cache_delete( $option, 'options' ); } } if ( $result ) { do_action( "delete_option_{$option}", $option ); do_action( 'deleted_option', $option ); return true; } return false; } function delete_transient( $transient ) { do_action( "delete_transient_{$transient}", $transient ); if ( wp_using_ext_object_cache() || wp_installing() ) { $result = wp_cache_delete( $transient, 'transient' ); } else { $option_timeout = '_transient_timeout_' . $transient; $option = '_transient_' . $transient; $result = delete_option( $option ); if ( $result ) { delete_option( $option_timeout ); } } if ( $result ) { do_action( 'deleted_transient', $transient ); } return $result; } function get_transient( $transient ) { $pre = apply_filters( "pre_transient_{$transient}", false, $transient ); if ( false !== $pre ) { return $pre; } if ( wp_using_ext_object_cache() || wp_installing() ) { $value = wp_cache_get( $transient, 'transient' ); } else { $transient_option = '_transient_' . $transient; if ( ! wp_installing() ) { $alloptions = wp_load_alloptions(); if ( ! isset( $alloptions[ $transient_option ] ) ) { $transient_timeout = '_transient_timeout_' . $transient; $timeout = get_option( $transient_timeout ); if ( false !== $timeout && $timeout < time() ) { delete_option( $transient_option ); delete_option( $transient_timeout ); $value = false; } } } if ( ! isset( $value ) ) { $value = get_option( $transient_option ); } } return apply_filters( "transient_{$transient}", $value, $transient ); } function set_transient( $transient, $value, $expiration = 0 ) { $expiration = (int) $expiration; $value = apply_filters( "pre_set_transient_{$transient}", $value, $expiration, $transient ); $expiration = apply_filters( "expiration_of_transient_{$transient}", $expiration, $value, $transient ); if ( wp_using_ext_object_cache() || wp_installing() ) { $result = wp_cache_set( $transient, $value, 'transient', $expiration ); } else { $transient_timeout = '_transient_timeout_' . $transient; $transient_option = '_transient_' . $transient; if ( false === get_option( $transient_option ) ) { $autoload = 'yes'; if ( $expiration ) { $autoload = 'no'; add_option( $transient_timeout, time() + $expiration, '', 'no' ); } $result = add_option( $transient_option, $value, '', $autoload ); } else { $update = true; if ( $expiration ) { if ( false === get_option( $transient_timeout ) ) { delete_option( $transient_option ); add_option( $transient_timeout, time() + $expiration, '', 'no' ); $result = add_option( $transient_option, $value, '', 'no' ); $update = false; } else { update_option( $transient_timeout, time() + $expiration ); } } if ( $update ) { $result = update_option( $transient_option, $value ); } } } if ( $result ) { do_action( "set_transient_{$transient}", $value, $expiration, $transient ); do_action( 'setted_transient', $transient, $value, $expiration ); } return $result; } function delete_expired_transients( $force_db = false ) { global $wpdb; if ( ! $force_db && wp_using_ext_object_cache() ) { return; } $wpdb->query( $wpdb->prepare( "DELETE a, b FROM {$wpdb->options} a, {$wpdb->options} b + function get_option( $option, $default_value = false ) { global $wpdb; if ( is_scalar( $option ) ) { $option = trim( $option ); } if ( empty( $option ) ) { return false; } $deprecated_keys = array( 'blacklist_keys' => 'disallowed_keys', 'comment_whitelist' => 'comment_previously_approved', ); if ( isset( $deprecated_keys[ $option ] ) && ! wp_installing() ) { _deprecated_argument( __FUNCTION__, '5.5.0', sprintf( __( 'The "%1$s" option key has been renamed to "%2$s".' ), $option, $deprecated_keys[ $option ] ) ); return get_option( $deprecated_keys[ $option ], $default_value ); } $pre = apply_filters( "pre_option_{$option}", false, $option, $default_value ); $pre = apply_filters( 'pre_option', $pre, $option, $default_value ); if ( false !== $pre ) { return $pre; } if ( defined( 'WP_SETUP_CONFIG' ) ) { return false; } $passed_default = func_num_args() > 1; if ( ! wp_installing() ) { $alloptions = wp_load_alloptions(); if ( isset( $alloptions[ $option ] ) ) { $value = $alloptions[ $option ]; } else { $value = wp_cache_get( $option, 'options' ); if ( false === $value ) { $notoptions = wp_cache_get( 'notoptions', 'options' ); if ( ! is_array( $notoptions ) ) { $notoptions = array(); wp_cache_set( 'notoptions', $notoptions, 'options' ); } elseif ( isset( $notoptions[ $option ] ) ) { return apply_filters( "default_option_{$option}", $default_value, $option, $passed_default ); } $row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) ); if ( is_object( $row ) ) { $value = $row->option_value; wp_cache_add( $option, $value, 'options' ); } else { $notoptions[ $option ] = true; wp_cache_set( 'notoptions', $notoptions, 'options' ); return apply_filters( "default_option_{$option}", $default_value, $option, $passed_default ); } } } } else { $suppress = $wpdb->suppress_errors(); $row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) ); $wpdb->suppress_errors( $suppress ); if ( is_object( $row ) ) { $value = $row->option_value; } else { return apply_filters( "default_option_{$option}", $default_value, $option, $passed_default ); } } if ( 'home' === $option && '' === $value ) { return get_option( 'siteurl' ); } if ( in_array( $option, array( 'siteurl', 'home', 'category_base', 'tag_base' ), true ) ) { $value = untrailingslashit( $value ); } return apply_filters( "option_{$option}", maybe_unserialize( $value ), $option ); } function prime_options( $options ) { $alloptions = wp_load_alloptions(); $cached_options = wp_cache_get_multiple( $options, 'options' ); $options_to_prime = array(); foreach ( $options as $option ) { if ( ( ! isset( $cached_options[ $option ] ) || ! $cached_options[ $option ] ) && ! isset( $alloptions[ $option ] ) ) { $options_to_prime[] = $option; } } if ( empty( $options_to_prime ) ) { return; } global $wpdb; $results = $wpdb->get_results( $wpdb->prepare( sprintf( "SELECT option_name, option_value FROM $wpdb->options WHERE option_name IN (%s)", implode( ',', array_fill( 0, count( $options_to_prime ), '%s' ) ) ), $options_to_prime ) ); $options_found = array(); foreach ( $results as $result ) { $options_found[ $result->option_name ] = maybe_unserialize( $result->option_value ); } wp_cache_set_multiple( $options_found, 'options' ); if ( count( $options_found ) === count( $options_to_prime ) ) { return; } $options_not_found = array_diff( $options_to_prime, array_keys( $options_found ) ); $notoptions = wp_cache_get( 'notoptions', 'options' ); if ( ! is_array( $notoptions ) ) { $notoptions = array(); } $update_notoptions = false; foreach ( $options_not_found as $option_name ) { if ( ! isset( $notoptions[ $option_name ] ) ) { $notoptions[ $option_name ] = true; $update_notoptions = true; } } if ( $update_notoptions ) { wp_cache_set( 'notoptions', $notoptions, 'options' ); } } function prime_options_by_group( $option_group ) { global $new_allowed_options; if ( isset( $new_allowed_options[ $option_group ] ) ) { prime_options( $new_allowed_options[ $option_group ] ); } } function get_options( $options ) { prime_options( $options ); $result = array(); foreach ( $options as $option ) { $result[ $option ] = get_option( $option ); } return $result; } function wp_set_option_autoload_values( array $options ) { global $wpdb; if ( ! $options ) { return array(); } $grouped_options = array( 'yes' => array(), 'no' => array(), ); $results = array(); foreach ( $options as $option => $autoload ) { wp_protect_special_option( $option ); if ( 'no' === $autoload || false === $autoload ) { $grouped_options['no'][] = $option; } else { $grouped_options['yes'][] = $option; } $results[ $option ] = false; } $where = array(); $where_args = array(); foreach ( $grouped_options as $autoload => $options ) { if ( ! $options ) { continue; } $placeholders = implode( ',', array_fill( 0, count( $options ), '%s' ) ); $where[] = "autoload != '%s' AND option_name IN ($placeholders)"; $where_args[] = $autoload; foreach ( $options as $option ) { $where_args[] = $option; } } $where = 'WHERE ' . implode( ' OR ', $where ); $options_to_update = $wpdb->get_col( $wpdb->prepare( "SELECT option_name FROM $wpdb->options $where", $where_args ) ); if ( ! $options_to_update ) { return $results; } foreach ( $grouped_options as $autoload => $options ) { if ( ! $options ) { continue; } $options = array_intersect( $options, $options_to_update ); $grouped_options[ $autoload ] = $options; if ( ! $grouped_options[ $autoload ] ) { continue; } $success = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->options SET autoload = %s WHERE option_name IN (" . implode( ',', array_fill( 0, count( $grouped_options[ $autoload ] ), '%s' ) ) . ')', array_merge( array( $autoload ), $grouped_options[ $autoload ] ) ) ); if ( ! $success ) { $grouped_options[ $autoload ] = array(); continue; } foreach ( $grouped_options[ $autoload ] as $option ) { $results[ $option ] = true; } } if ( $grouped_options['yes'] ) { wp_cache_delete_multiple( $grouped_options['yes'], 'options' ); wp_cache_delete( 'alloptions', 'options' ); } elseif ( $grouped_options['no'] ) { $alloptions = wp_load_alloptions( true ); foreach ( $grouped_options['no'] as $option ) { if ( isset( $alloptions[ $option ] ) ) { unset( $alloptions[ $option ] ); } } wp_cache_set( 'alloptions', $alloptions, 'options' ); } return $results; } function wp_set_options_autoload( array $options, $autoload ) { return wp_set_option_autoload_values( array_fill_keys( $options, $autoload ) ); } function wp_set_option_autoload( $option, $autoload ) { $result = wp_set_option_autoload_values( array( $option => $autoload ) ); if ( isset( $result[ $option ] ) ) { return $result[ $option ]; } return false; } function wp_protect_special_option( $option ) { if ( 'alloptions' === $option || 'notoptions' === $option ) { wp_die( sprintf( __( '%s is a protected WP option and may not be modified' ), esc_html( $option ) ) ); } } function form_option( $option ) { echo esc_attr( get_option( $option ) ); } function wp_load_alloptions( $force_cache = false ) { global $wpdb; $alloptions = apply_filters( 'pre_wp_load_alloptions', null, $force_cache ); if ( is_array( $alloptions ) ) { return $alloptions; } if ( ! wp_installing() || ! is_multisite() ) { $alloptions = wp_cache_get( 'alloptions', 'options', $force_cache ); } else { $alloptions = false; } if ( ! $alloptions ) { $suppress = $wpdb->suppress_errors(); $alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options WHERE autoload = 'yes'" ); if ( ! $alloptions_db ) { $alloptions_db = $wpdb->get_results( "SELECT option_name, option_value FROM $wpdb->options" ); } $wpdb->suppress_errors( $suppress ); $alloptions = array(); foreach ( (array) $alloptions_db as $o ) { $alloptions[ $o->option_name ] = $o->option_value; } if ( ! wp_installing() || ! is_multisite() ) { $alloptions = apply_filters( 'pre_cache_alloptions', $alloptions ); wp_cache_add( 'alloptions', $alloptions, 'options' ); } } return apply_filters( 'alloptions', $alloptions ); } function wp_load_core_site_options( $network_id = null ) { global $wpdb; if ( ! is_multisite() || wp_installing() ) { return; } if ( empty( $network_id ) ) { $network_id = get_current_network_id(); } $core_options = array( 'site_name', 'siteurl', 'active_sitewide_plugins', '_site_transient_timeout_theme_roots', '_site_transient_theme_roots', 'site_admins', 'can_compress_scripts', 'global_terms_enabled', 'ms_files_rewriting' ); if ( wp_using_ext_object_cache() ) { $cache_keys = array(); foreach ( $core_options as $option ) { $cache_keys[] = "{$network_id}:{$option}"; } wp_cache_get_multiple( $cache_keys, 'site-options' ); return; } $core_options_in = "'" . implode( "', '", $core_options ) . "'"; $options = $wpdb->get_results( $wpdb->prepare( "SELECT meta_key, meta_value FROM $wpdb->sitemeta WHERE meta_key IN ($core_options_in) AND site_id = %d", $network_id ) ); $data = array(); foreach ( $options as $option ) { $key = $option->meta_key; $cache_key = "{$network_id}:$key"; $option->meta_value = maybe_unserialize( $option->meta_value ); $data[ $cache_key ] = $option->meta_value; } wp_cache_set_multiple( $data, 'site-options' ); } function update_option( $option, $value, $autoload = null ) { global $wpdb; if ( is_scalar( $option ) ) { $option = trim( $option ); } if ( empty( $option ) ) { return false; } $deprecated_keys = array( 'blacklist_keys' => 'disallowed_keys', 'comment_whitelist' => 'comment_previously_approved', ); if ( isset( $deprecated_keys[ $option ] ) && ! wp_installing() ) { _deprecated_argument( __FUNCTION__, '5.5.0', sprintf( __( 'The "%1$s" option key has been renamed to "%2$s".' ), $option, $deprecated_keys[ $option ] ) ); return update_option( $deprecated_keys[ $option ], $value, $autoload ); } wp_protect_special_option( $option ); if ( is_object( $value ) ) { $value = clone $value; } $value = sanitize_option( $option, $value ); $old_value = get_option( $option ); $value = apply_filters( "pre_update_option_{$option}", $value, $old_value, $option ); $value = apply_filters( 'pre_update_option', $value, $option, $old_value ); if ( has_filter( "pre_option_{$option}" ) ) { global $wp_filter; $old_filters = $wp_filter[ "pre_option_{$option}" ]; unset( $wp_filter[ "pre_option_{$option}" ] ); $raw_old_value = get_option( $option ); $wp_filter[ "pre_option_{$option}" ] = $old_filters; } else { $raw_old_value = $old_value; } $default_value = apply_filters( "default_option_{$option}", false, $option, false ); if ( $value === $raw_old_value || ( $raw_old_value !== $default_value && _is_equal_database_value( $raw_old_value, $value ) ) ) { return false; } if ( $raw_old_value === $default_value ) { if ( null === $autoload ) { $autoload = 'yes'; } return add_option( $option, $value, '', $autoload ); } $serialized_value = maybe_serialize( $value ); do_action( 'update_option', $option, $old_value, $value ); $update_args = array( 'option_value' => $serialized_value, ); if ( null !== $autoload ) { $update_args['autoload'] = ( 'no' === $autoload || false === $autoload ) ? 'no' : 'yes'; } $result = $wpdb->update( $wpdb->options, $update_args, array( 'option_name' => $option ) ); if ( ! $result ) { return false; } $notoptions = wp_cache_get( 'notoptions', 'options' ); if ( is_array( $notoptions ) && isset( $notoptions[ $option ] ) ) { unset( $notoptions[ $option ] ); wp_cache_set( 'notoptions', $notoptions, 'options' ); } if ( ! wp_installing() ) { if ( ! isset( $update_args['autoload'] ) ) { $alloptions = wp_load_alloptions( true ); if ( isset( $alloptions[ $option ] ) ) { $alloptions[ $option ] = $serialized_value; wp_cache_set( 'alloptions', $alloptions, 'options' ); } else { wp_cache_set( $option, $serialized_value, 'options' ); } } elseif ( 'yes' === $update_args['autoload'] ) { wp_cache_delete( $option, 'options' ); $alloptions = wp_load_alloptions( true ); $alloptions[ $option ] = $serialized_value; wp_cache_set( 'alloptions', $alloptions, 'options' ); } else { $alloptions = wp_load_alloptions( true ); if ( isset( $alloptions[ $option ] ) ) { unset( $alloptions[ $option ] ); wp_cache_set( 'alloptions', $alloptions, 'options' ); } wp_cache_set( $option, $serialized_value, 'options' ); } } do_action( "update_option_{$option}", $old_value, $value, $option ); do_action( 'updated_option', $option, $old_value, $value ); return true; } function add_option( $option, $value = '', $deprecated = '', $autoload = 'yes' ) { global $wpdb; if ( ! empty( $deprecated ) ) { _deprecated_argument( __FUNCTION__, '2.3.0' ); } if ( is_scalar( $option ) ) { $option = trim( $option ); } if ( empty( $option ) ) { return false; } $deprecated_keys = array( 'blacklist_keys' => 'disallowed_keys', 'comment_whitelist' => 'comment_previously_approved', ); if ( isset( $deprecated_keys[ $option ] ) && ! wp_installing() ) { _deprecated_argument( __FUNCTION__, '5.5.0', sprintf( __( 'The "%1$s" option key has been renamed to "%2$s".' ), $option, $deprecated_keys[ $option ] ) ); return add_option( $deprecated_keys[ $option ], $value, $deprecated, $autoload ); } wp_protect_special_option( $option ); if ( is_object( $value ) ) { $value = clone $value; } $value = sanitize_option( $option, $value ); $notoptions = wp_cache_get( 'notoptions', 'options' ); if ( ! is_array( $notoptions ) || ! isset( $notoptions[ $option ] ) ) { if ( apply_filters( "default_option_{$option}", false, $option, false ) !== get_option( $option ) ) { return false; } } $serialized_value = maybe_serialize( $value ); $autoload = ( 'no' === $autoload || false === $autoload ) ? 'no' : 'yes'; do_action( 'add_option', $option, $value ); $result = $wpdb->query( $wpdb->prepare( "INSERT INTO `$wpdb->options` (`option_name`, `option_value`, `autoload`) VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)", $option, $serialized_value, $autoload ) ); if ( ! $result ) { return false; } if ( ! wp_installing() ) { if ( 'yes' === $autoload ) { $alloptions = wp_load_alloptions( true ); $alloptions[ $option ] = $serialized_value; wp_cache_set( 'alloptions', $alloptions, 'options' ); } else { wp_cache_set( $option, $serialized_value, 'options' ); } } $notoptions = wp_cache_get( 'notoptions', 'options' ); if ( is_array( $notoptions ) && isset( $notoptions[ $option ] ) ) { unset( $notoptions[ $option ] ); wp_cache_set( 'notoptions', $notoptions, 'options' ); } do_action( "add_option_{$option}", $option, $value ); do_action( 'added_option', $option, $value ); return true; } function delete_option( $option ) { global $wpdb; if ( is_scalar( $option ) ) { $option = trim( $option ); } if ( empty( $option ) ) { return false; } wp_protect_special_option( $option ); $row = $wpdb->get_row( $wpdb->prepare( "SELECT autoload FROM $wpdb->options WHERE option_name = %s", $option ) ); if ( is_null( $row ) ) { return false; } do_action( 'delete_option', $option ); $result = $wpdb->delete( $wpdb->options, array( 'option_name' => $option ) ); if ( ! wp_installing() ) { if ( 'yes' === $row->autoload ) { $alloptions = wp_load_alloptions( true ); if ( is_array( $alloptions ) && isset( $alloptions[ $option ] ) ) { unset( $alloptions[ $option ] ); wp_cache_set( 'alloptions', $alloptions, 'options' ); } } else { wp_cache_delete( $option, 'options' ); } } if ( $result ) { do_action( "delete_option_{$option}", $option ); do_action( 'deleted_option', $option ); return true; } return false; } function delete_transient( $transient ) { do_action( "delete_transient_{$transient}", $transient ); if ( wp_using_ext_object_cache() || wp_installing() ) { $result = wp_cache_delete( $transient, 'transient' ); } else { $option_timeout = '_transient_timeout_' . $transient; $option = '_transient_' . $transient; $result = delete_option( $option ); if ( $result ) { delete_option( $option_timeout ); } } if ( $result ) { do_action( 'deleted_transient', $transient ); } return $result; } function get_transient( $transient ) { $pre = apply_filters( "pre_transient_{$transient}", false, $transient ); if ( false !== $pre ) { return $pre; } if ( wp_using_ext_object_cache() || wp_installing() ) { $value = wp_cache_get( $transient, 'transient' ); } else { $transient_option = '_transient_' . $transient; if ( ! wp_installing() ) { $alloptions = wp_load_alloptions(); if ( ! isset( $alloptions[ $transient_option ] ) ) { $transient_timeout = '_transient_timeout_' . $transient; $timeout = get_option( $transient_timeout ); if ( false !== $timeout && $timeout < time() ) { delete_option( $transient_option ); delete_option( $transient_timeout ); $value = false; } } } if ( ! isset( $value ) ) { $value = get_option( $transient_option ); } } return apply_filters( "transient_{$transient}", $value, $transient ); } function set_transient( $transient, $value, $expiration = 0 ) { $expiration = (int) $expiration; $value = apply_filters( "pre_set_transient_{$transient}", $value, $expiration, $transient ); $expiration = apply_filters( "expiration_of_transient_{$transient}", $expiration, $value, $transient ); if ( wp_using_ext_object_cache() || wp_installing() ) { $result = wp_cache_set( $transient, $value, 'transient', $expiration ); } else { $transient_timeout = '_transient_timeout_' . $transient; $transient_option = '_transient_' . $transient; if ( false === get_option( $transient_option ) ) { $autoload = 'yes'; if ( $expiration ) { $autoload = 'no'; add_option( $transient_timeout, time() + $expiration, '', 'no' ); } $result = add_option( $transient_option, $value, '', $autoload ); } else { $update = true; if ( $expiration ) { if ( false === get_option( $transient_timeout ) ) { delete_option( $transient_option ); add_option( $transient_timeout, time() + $expiration, '', 'no' ); $result = add_option( $transient_option, $value, '', 'no' ); $update = false; } else { update_option( $transient_timeout, time() + $expiration ); } } if ( $update ) { $result = update_option( $transient_option, $value ); } } } if ( $result ) { do_action( "set_transient_{$transient}", $value, $expiration, $transient ); do_action( 'setted_transient', $transient, $value, $expiration ); } return $result; } function delete_expired_transients( $force_db = false ) { global $wpdb; if ( ! $force_db && wp_using_ext_object_cache() ) { return; } $wpdb->query( $wpdb->prepare( "DELETE a, b FROM {$wpdb->options} a, {$wpdb->options} b WHERE a.option_name LIKE %s AND a.option_name NOT LIKE %s AND b.option_name = CONCAT( '_transient_timeout_', SUBSTRING( a.option_name, 12 ) ) @@ -40500,7 +40499,7 @@ Regards, All at ###SITENAME### ###SITEURL###' ); $content = apply_filters( 'user_request_action_email_content', $content, $email_data ); $content = str_replace( '###DESCRIPTION###', $email_data['description'], $content ); $content = str_replace( '###CONFIRM_URL###', sanitize_url( $email_data['confirm_url'] ), $content ); $content = str_replace( '###EMAIL###', $email_data['email'], $content ); $content = str_replace( '###SITENAME###', $email_data['sitename'], $content ); $content = str_replace( '###SITEURL###', sanitize_url( $email_data['siteurl'] ), $content ); $headers = ''; $headers = apply_filters( 'user_request_action_email_headers', $headers, $subject, $content, $request_id, $email_data ); $email_sent = wp_mail( $email_data['email'], $subject, $content, $headers ); if ( $switched_locale ) { restore_previous_locale(); } if ( ! $email_sent ) { return new WP_Error( 'privacy_email_error', __( 'Unable to send personal data export confirmation email.' ) ); } return true; } function wp_generate_user_request_key( $request_id ) { global $wp_hasher; $key = wp_generate_password( 20, false ); if ( empty( $wp_hasher ) ) { require_once ABSPATH . WPINC . '/class-phpass.php'; $wp_hasher = new PasswordHash( 8, true ); } wp_update_post( array( 'ID' => $request_id, 'post_status' => 'request-pending', 'post_password' => $wp_hasher->HashPassword( $key ), ) ); return $key; } function wp_validate_user_request_key( $request_id, $key ) { global $wp_hasher; $request_id = absint( $request_id ); $request = wp_get_user_request( $request_id ); $saved_key = $request->confirm_key; $key_request_time = $request->modified_timestamp; if ( ! $request || ! $saved_key || ! $key_request_time ) { return new WP_Error( 'invalid_request', __( 'Invalid personal data request.' ) ); } if ( ! in_array( $request->status, array( 'request-pending', 'request-failed' ), true ) ) { return new WP_Error( 'expired_request', __( 'This personal data request has expired.' ) ); } if ( empty( $key ) ) { return new WP_Error( 'missing_key', __( 'The confirmation key is missing from this personal data request.' ) ); } if ( empty( $wp_hasher ) ) { require_once ABSPATH . WPINC . '/class-phpass.php'; $wp_hasher = new PasswordHash( 8, true ); } $expiration_duration = (int) apply_filters( 'user_request_key_expiration', DAY_IN_SECONDS ); $expiration_time = $key_request_time + $expiration_duration; if ( ! $wp_hasher->CheckPassword( $key, $saved_key ) ) { return new WP_Error( 'invalid_key', __( 'The confirmation key is invalid for this personal data request.' ) ); } if ( ! $expiration_time || time() > $expiration_time ) { return new WP_Error( 'expired_key', __( 'The confirmation key has expired for this personal data request.' ) ); } return true; } function wp_get_user_request( $request_id ) { $request_id = absint( $request_id ); $post = get_post( $request_id ); if ( ! $post || 'user_request' !== $post->post_type ) { return false; } return new WP_User_Request( $post ); } function wp_is_application_passwords_supported() { return is_ssl() || 'local' === wp_get_environment_type(); } function wp_is_application_passwords_available() { return apply_filters( 'wp_is_application_passwords_available', wp_is_application_passwords_supported() ); } function wp_is_application_passwords_available_for_user( $user ) { if ( ! wp_is_application_passwords_available() ) { return false; } if ( ! is_object( $user ) ) { $user = get_userdata( $user ); } if ( ! $user || ! $user->exists() ) { return false; } return apply_filters( 'wp_is_application_passwords_available_for_user', true, $user ); } function wp_register_persisted_preferences_meta() { global $wpdb; $meta_key = $wpdb->get_blog_prefix() . 'persisted_preferences'; register_meta( 'user', $meta_key, array( 'type' => 'object', 'single' => true, 'show_in_rest' => array( 'name' => 'persisted_preferences', 'type' => 'object', 'schema' => array( 'type' => 'object', 'context' => array( 'edit' ), 'properties' => array( '_modified' => array( 'description' => __( 'The date and time the preferences were updated.' ), 'type' => 'string', 'format' => 'date-time', 'readonly' => false, ), ), 'additionalProperties' => true, ), ), ) ); } function wp_cache_set_users_last_changed() { wp_cache_set_last_changed( 'users' ); } function wp_is_password_reset_allowed_for_user( $user ) { if ( ! is_object( $user ) ) { $user = get_userdata( $user ); } if ( ! $user || ! $user->exists() ) { return false; } $allow = true; if ( is_multisite() && is_user_spammy( $user ) ) { $allow = false; } return apply_filters( 'allow_password_reset', $allow, $user->ID ); } = 7; function wp_is_mobile() { if ( isset( $_SERVER['HTTP_SEC_CH_UA_MOBILE'] ) ) { $is_mobile = ( '?1' === $_SERVER['HTTP_SEC_CH_UA_MOBILE'] ); } elseif ( empty( $_SERVER['HTTP_USER_AGENT'] ) ) { $is_mobile = false; } elseif ( str_contains( $_SERVER['HTTP_USER_AGENT'], 'Mobile' ) || str_contains( $_SERVER['HTTP_USER_AGENT'], 'Android' ) || str_contains( $_SERVER['HTTP_USER_AGENT'], 'Silk/' ) || str_contains( $_SERVER['HTTP_USER_AGENT'], 'Kindle' ) || str_contains( $_SERVER['HTTP_USER_AGENT'], 'BlackBerry' ) || str_contains( $_SERVER['HTTP_USER_AGENT'], 'Opera Mini' ) || str_contains( $_SERVER['HTTP_USER_AGENT'], 'Opera Mobi' ) ) { $is_mobile = true; } else { $is_mobile = false; } return apply_filters( 'wp_is_mobile', $is_mobile ); } register( $widget ); } function unregister_widget( $widget ) { global $wp_widget_factory; $wp_widget_factory->unregister( $widget ); } function register_sidebars( $number = 1, $args = array() ) { global $wp_registered_sidebars; $number = (int) $number; if ( is_string( $args ) ) { parse_str( $args, $args ); } for ( $i = 1; $i <= $number; $i++ ) { $_args = $args; if ( $number > 1 ) { if ( isset( $args['name'] ) ) { $_args['name'] = sprintf( $args['name'], $i ); } else { $_args['name'] = sprintf( __( 'Sidebar %d' ), $i ); } } else { $_args['name'] = isset( $args['name'] ) ? $args['name'] : __( 'Sidebar' ); } if ( isset( $args['id'] ) ) { $_args['id'] = $args['id']; $n = 2; while ( is_registered_sidebar( $_args['id'] ) ) { $_args['id'] = $args['id'] . '-' . $n++; } } else { $n = count( $wp_registered_sidebars ); do { $_args['id'] = 'sidebar-' . ++$n; } while ( is_registered_sidebar( $_args['id'] ) ); } register_sidebar( $_args ); } } function register_sidebar( $args = array() ) { global $wp_registered_sidebars; $i = count( $wp_registered_sidebars ) + 1; $id_is_empty = empty( $args['id'] ); $defaults = array( 'name' => sprintf( __( 'Sidebar %d' ), $i ), 'id' => "sidebar-$i", 'description' => '', 'class' => '', 'before_widget' => '
  • ', 'after_widget' => "
  • \n", 'before_title' => '

    ', 'after_title' => "

    \n", 'before_sidebar' => '', 'after_sidebar' => '', 'show_in_rest' => false, ); $sidebar = wp_parse_args( $args, apply_filters( 'register_sidebar_defaults', $defaults ) ); if ( $id_is_empty ) { _doing_it_wrong( __FUNCTION__, sprintf( __( 'No %1$s was set in the arguments array for the "%2$s" sidebar. Defaulting to "%3$s". Manually set the %1$s to "%3$s" to silence this notice and keep existing sidebar content.' ), 'id', $sidebar['name'], $sidebar['id'] ), '4.2.0' ); } $wp_registered_sidebars[ $sidebar['id'] ] = $sidebar; add_theme_support( 'widgets' ); do_action( 'register_sidebar', $sidebar ); return $sidebar['id']; } function unregister_sidebar( $sidebar_id ) { global $wp_registered_sidebars; unset( $wp_registered_sidebars[ $sidebar_id ] ); } function is_registered_sidebar( $sidebar_id ) { global $wp_registered_sidebars; return isset( $wp_registered_sidebars[ $sidebar_id ] ); } function wp_register_sidebar_widget( $id, $name, $output_callback, $options = array(), ...$params ) { global $wp_registered_widgets, $wp_registered_widget_controls, $wp_registered_widget_updates, $_wp_deprecated_widgets_callbacks; $id = strtolower( $id ); if ( empty( $output_callback ) ) { unset( $wp_registered_widgets[ $id ] ); return; } $id_base = _get_widget_id_base( $id ); if ( in_array( $output_callback, $_wp_deprecated_widgets_callbacks, true ) && ! is_callable( $output_callback ) ) { unset( $wp_registered_widget_controls[ $id ] ); unset( $wp_registered_widget_updates[ $id_base ] ); return; } $defaults = array( 'classname' => $output_callback ); $options = wp_parse_args( $options, $defaults ); $widget = array( 'name' => $name, 'id' => $id, 'callback' => $output_callback, 'params' => $params, ); $widget = array_merge( $widget, $options ); if ( is_callable( $output_callback ) && ( ! isset( $wp_registered_widgets[ $id ] ) || did_action( 'widgets_init' ) ) ) { do_action( 'wp_register_sidebar_widget', $widget ); $wp_registered_widgets[ $id ] = $widget; } } function wp_widget_description( $id ) { if ( ! is_scalar( $id ) ) { return; } global $wp_registered_widgets; if ( isset( $wp_registered_widgets[ $id ]['description'] ) ) { return esc_html( $wp_registered_widgets[ $id ]['description'] ); } } function wp_sidebar_description( $id ) { if ( ! is_scalar( $id ) ) { return; } global $wp_registered_sidebars; if ( isset( $wp_registered_sidebars[ $id ]['description'] ) ) { return wp_kses( $wp_registered_sidebars[ $id ]['description'], 'sidebar_description' ); } } function wp_unregister_sidebar_widget( $id ) { do_action( 'wp_unregister_sidebar_widget', $id ); wp_register_sidebar_widget( $id, '', '' ); wp_unregister_widget_control( $id ); } function wp_register_widget_control( $id, $name, $control_callback, $options = array(), ...$params ) { global $wp_registered_widget_controls, $wp_registered_widget_updates, $wp_registered_widgets, $_wp_deprecated_widgets_callbacks; $id = strtolower( $id ); $id_base = _get_widget_id_base( $id ); if ( empty( $control_callback ) ) { unset( $wp_registered_widget_controls[ $id ] ); unset( $wp_registered_widget_updates[ $id_base ] ); return; } if ( in_array( $control_callback, $_wp_deprecated_widgets_callbacks, true ) && ! is_callable( $control_callback ) ) { unset( $wp_registered_widgets[ $id ] ); return; } if ( isset( $wp_registered_widget_controls[ $id ] ) && ! did_action( 'widgets_init' ) ) { return; } $defaults = array( 'width' => 250, 'height' => 200, ); $options = wp_parse_args( $options, $defaults ); $options['width'] = (int) $options['width']; $options['height'] = (int) $options['height']; $widget = array( 'name' => $name, 'id' => $id, 'callback' => $control_callback, 'params' => $params, ); $widget = array_merge( $widget, $options ); $wp_registered_widget_controls[ $id ] = $widget; if ( isset( $wp_registered_widget_updates[ $id_base ] ) ) { return; } if ( isset( $widget['params'][0]['number'] ) ) { $widget['params'][0]['number'] = -1; } unset( $widget['width'], $widget['height'], $widget['name'], $widget['id'] ); $wp_registered_widget_updates[ $id_base ] = $widget; } function _register_widget_update_callback( $id_base, $update_callback, $options = array(), ...$params ) { global $wp_registered_widget_updates; if ( isset( $wp_registered_widget_updates[ $id_base ] ) ) { if ( empty( $update_callback ) ) { unset( $wp_registered_widget_updates[ $id_base ] ); } return; } $widget = array( 'callback' => $update_callback, 'params' => $params, ); $widget = array_merge( $widget, $options ); $wp_registered_widget_updates[ $id_base ] = $widget; } function _register_widget_form_callback( $id, $name, $form_callback, $options = array(), ...$params ) { global $wp_registered_widget_controls; $id = strtolower( $id ); if ( empty( $form_callback ) ) { unset( $wp_registered_widget_controls[ $id ] ); return; } if ( isset( $wp_registered_widget_controls[ $id ] ) && ! did_action( 'widgets_init' ) ) { return; } $defaults = array( 'width' => 250, 'height' => 200, ); $options = wp_parse_args( $options, $defaults ); $options['width'] = (int) $options['width']; $options['height'] = (int) $options['height']; $widget = array( 'name' => $name, 'id' => $id, 'callback' => $form_callback, 'params' => $params, ); $widget = array_merge( $widget, $options ); $wp_registered_widget_controls[ $id ] = $widget; } function wp_unregister_widget_control( $id ) { wp_register_widget_control( $id, '', '' ); } function dynamic_sidebar( $index = 1 ) { global $wp_registered_sidebars, $wp_registered_widgets; if ( is_int( $index ) ) { $index = "sidebar-$index"; } else { $index = sanitize_title( $index ); foreach ( (array) $wp_registered_sidebars as $key => $value ) { if ( sanitize_title( $value['name'] ) === $index ) { $index = $key; break; } } } $sidebars_widgets = wp_get_sidebars_widgets(); if ( empty( $wp_registered_sidebars[ $index ] ) || empty( $sidebars_widgets[ $index ] ) || ! is_array( $sidebars_widgets[ $index ] ) ) { do_action( 'dynamic_sidebar_before', $index, false ); do_action( 'dynamic_sidebar_after', $index, false ); return apply_filters( 'dynamic_sidebar_has_widgets', false, $index ); } $sidebar = $wp_registered_sidebars[ $index ]; $sidebar['before_sidebar'] = sprintf( $sidebar['before_sidebar'], $sidebar['id'], $sidebar['class'] ); do_action( 'dynamic_sidebar_before', $index, true ); if ( ! is_admin() && ! empty( $sidebar['before_sidebar'] ) ) { echo $sidebar['before_sidebar']; } $did_one = false; foreach ( (array) $sidebars_widgets[ $index ] as $id ) { if ( ! isset( $wp_registered_widgets[ $id ] ) ) { continue; } $params = array_merge( array( array_merge( $sidebar, array( 'widget_id' => $id, 'widget_name' => $wp_registered_widgets[ $id ]['name'], ) ), ), (array) $wp_registered_widgets[ $id ]['params'] ); $classname_ = ''; foreach ( (array) $wp_registered_widgets[ $id ]['classname'] as $cn ) { if ( is_string( $cn ) ) { $classname_ .= '_' . $cn; } elseif ( is_object( $cn ) ) { $classname_ .= '_' . get_class( $cn ); } } $classname_ = ltrim( $classname_, '_' ); $params[0]['before_widget'] = sprintf( $params[0]['before_widget'], str_replace( '\\', '_', $id ), $classname_ ); $params = apply_filters( 'dynamic_sidebar_params', $params ); $callback = $wp_registered_widgets[ $id ]['callback']; do_action( 'dynamic_sidebar', $wp_registered_widgets[ $id ] ); if ( is_callable( $callback ) ) { call_user_func_array( $callback, $params ); $did_one = true; } } if ( ! is_admin() && ! empty( $sidebar['after_sidebar'] ) ) { echo $sidebar['after_sidebar']; } do_action( 'dynamic_sidebar_after', $index, true ); return apply_filters( 'dynamic_sidebar_has_widgets', $did_one, $index ); } function is_active_widget( $callback = false, $widget_id = false, $id_base = false, $skip_inactive = true ) { global $wp_registered_widgets; $sidebars_widgets = wp_get_sidebars_widgets(); if ( is_array( $sidebars_widgets ) ) { foreach ( $sidebars_widgets as $sidebar => $widgets ) { if ( $skip_inactive && ( 'wp_inactive_widgets' === $sidebar || str_starts_with( $sidebar, 'orphaned_widgets' ) ) ) { continue; } if ( is_array( $widgets ) ) { foreach ( $widgets as $widget ) { if ( ( $callback && isset( $wp_registered_widgets[ $widget ]['callback'] ) && $wp_registered_widgets[ $widget ]['callback'] === $callback ) || ( $id_base && _get_widget_id_base( $widget ) === $id_base ) ) { if ( ! $widget_id || $widget_id === $wp_registered_widgets[ $widget ]['id'] ) { return $sidebar; } } } } } } return false; } function is_dynamic_sidebar() { global $wp_registered_widgets, $wp_registered_sidebars; $sidebars_widgets = get_option( 'sidebars_widgets' ); foreach ( (array) $wp_registered_sidebars as $index => $sidebar ) { if ( ! empty( $sidebars_widgets[ $index ] ) ) { foreach ( (array) $sidebars_widgets[ $index ] as $widget ) { if ( array_key_exists( $widget, $wp_registered_widgets ) ) { return true; } } } } return false; } function is_active_sidebar( $index ) { $index = ( is_int( $index ) ) ? "sidebar-$index" : sanitize_title( $index ); $sidebars_widgets = wp_get_sidebars_widgets(); $is_active_sidebar = ! empty( $sidebars_widgets[ $index ] ); return apply_filters( 'is_active_sidebar', $is_active_sidebar, $index ); } function wp_get_sidebars_widgets( $deprecated = true ) { if ( true !== $deprecated ) { _deprecated_argument( __FUNCTION__, '2.8.1' ); } global $_wp_sidebars_widgets, $sidebars_widgets; if ( ! is_admin() ) { if ( empty( $_wp_sidebars_widgets ) ) { $_wp_sidebars_widgets = get_option( 'sidebars_widgets', array() ); } $sidebars_widgets = $_wp_sidebars_widgets; } else { $sidebars_widgets = get_option( 'sidebars_widgets', array() ); } if ( is_array( $sidebars_widgets ) && isset( $sidebars_widgets['array_version'] ) ) { unset( $sidebars_widgets['array_version'] ); } return apply_filters( 'sidebars_widgets', $sidebars_widgets ); } function wp_get_sidebar( $id ) { global $wp_registered_sidebars; foreach ( (array) $wp_registered_sidebars as $sidebar ) { if ( $sidebar['id'] === $id ) { return $sidebar; } } if ( 'wp_inactive_widgets' === $id ) { return array( 'id' => 'wp_inactive_widgets', 'name' => __( 'Inactive widgets' ), ); } return null; } function wp_set_sidebars_widgets( $sidebars_widgets ) { global $_wp_sidebars_widgets; $_wp_sidebars_widgets = null; if ( ! isset( $sidebars_widgets['array_version'] ) ) { $sidebars_widgets['array_version'] = 3; } update_option( 'sidebars_widgets', $sidebars_widgets ); } function wp_get_widget_defaults() { global $wp_registered_sidebars; $defaults = array(); foreach ( (array) $wp_registered_sidebars as $index => $sidebar ) { $defaults[ $index ] = array(); } return $defaults; } function wp_convert_widget_settings( $base_name, $option_name, $settings ) { $single = false; $changed = false; if ( empty( $settings ) ) { $single = true; } else { foreach ( array_keys( $settings ) as $number ) { if ( 'number' === $number ) { continue; } if ( ! is_numeric( $number ) ) { $single = true; break; } } } if ( $single ) { $settings = array( 2 => $settings ); if ( is_admin() ) { $sidebars_widgets = get_option( 'sidebars_widgets' ); } else { if ( empty( $GLOBALS['_wp_sidebars_widgets'] ) ) { $GLOBALS['_wp_sidebars_widgets'] = get_option( 'sidebars_widgets', array() ); } $sidebars_widgets = &$GLOBALS['_wp_sidebars_widgets']; } foreach ( (array) $sidebars_widgets as $index => $sidebar ) { if ( is_array( $sidebar ) ) { foreach ( $sidebar as $i => $name ) { if ( $base_name === $name ) { $sidebars_widgets[ $index ][ $i ] = "$name-2"; $changed = true; break 2; } } } } if ( is_admin() && $changed ) { update_option( 'sidebars_widgets', $sidebars_widgets ); } } $settings['_multiwidget'] = 1; if ( is_admin() ) { update_option( $option_name, $settings ); } return $settings; } function the_widget( $widget, $instance = array(), $args = array() ) { global $wp_widget_factory; if ( ! isset( $wp_widget_factory->widgets[ $widget ] ) ) { _doing_it_wrong( __FUNCTION__, sprintf( __( 'Widgets need to be registered using %s, before they can be displayed.' ), 'register_widget()' ), '4.9.0' ); return; } $widget_obj = $wp_widget_factory->widgets[ $widget ]; if ( ! ( $widget_obj instanceof WP_Widget ) ) { return; } $default_args = array( 'before_widget' => '
    ', 'after_widget' => '
    ', 'before_title' => '

    ', 'after_title' => '

    ', ); $args = wp_parse_args( $args, $default_args ); $args['before_widget'] = sprintf( $args['before_widget'], $widget_obj->widget_options['classname'] ); $instance = wp_parse_args( $instance ); $instance = apply_filters( 'widget_display_callback', $instance, $widget_obj, $args ); if ( false === $instance ) { return; } do_action( 'the_widget', $widget, $instance, $args ); $widget_obj->_set( -1 ); $widget_obj->widget( $args, $instance ); } function _get_widget_id_base( $id ) { return preg_replace( '/-[0-9]+$/', '', $id ); } function _wp_sidebars_changed() { global $sidebars_widgets; if ( ! is_array( $sidebars_widgets ) ) { $sidebars_widgets = wp_get_sidebars_widgets(); } retrieve_widgets( true ); } function retrieve_widgets( $theme_changed = false ) { global $wp_registered_sidebars, $sidebars_widgets, $wp_registered_widgets; $registered_sidebars_keys = array_keys( $wp_registered_sidebars ); $registered_widgets_ids = array_keys( $wp_registered_widgets ); if ( ! is_array( get_theme_mod( 'sidebars_widgets' ) ) ) { if ( empty( $sidebars_widgets ) ) { return array(); } unset( $sidebars_widgets['array_version'] ); $sidebars_widgets_keys = array_keys( $sidebars_widgets ); sort( $sidebars_widgets_keys ); sort( $registered_sidebars_keys ); if ( $sidebars_widgets_keys === $registered_sidebars_keys ) { $sidebars_widgets = _wp_remove_unregistered_widgets( $sidebars_widgets, $registered_widgets_ids ); return $sidebars_widgets; } } $sidebars_widgets = _wp_remove_unregistered_widgets( $sidebars_widgets, $registered_widgets_ids ); $sidebars_widgets = wp_map_sidebars_widgets( $sidebars_widgets ); $shown_widgets = array_merge( ...array_values( $sidebars_widgets ) ); $lost_widgets = array_diff( $registered_widgets_ids, $shown_widgets ); foreach ( $lost_widgets as $key => $widget_id ) { $number = preg_replace( '/.+?-([0-9]+)$/', '$1', $widget_id ); if ( is_numeric( $number ) && (int) $number < 2 ) { unset( $lost_widgets[ $key ] ); } } $sidebars_widgets['wp_inactive_widgets'] = array_merge( $lost_widgets, (array) $sidebars_widgets['wp_inactive_widgets'] ); if ( 'customize' !== $theme_changed ) { wp_set_sidebars_widgets( $sidebars_widgets ); } return $sidebars_widgets; } function wp_map_sidebars_widgets( $existing_sidebars_widgets ) { global $wp_registered_sidebars; $new_sidebars_widgets = array( 'wp_inactive_widgets' => array(), ); if ( ! is_array( $existing_sidebars_widgets ) || empty( $existing_sidebars_widgets ) ) { return $new_sidebars_widgets; } foreach ( $existing_sidebars_widgets as $sidebar => $widgets ) { if ( 'wp_inactive_widgets' === $sidebar || str_starts_with( $sidebar, 'orphaned_widgets' ) ) { $new_sidebars_widgets['wp_inactive_widgets'] = array_merge( $new_sidebars_widgets['wp_inactive_widgets'], (array) $widgets ); unset( $existing_sidebars_widgets[ $sidebar ] ); } } if ( 1 === count( $existing_sidebars_widgets ) && 1 === count( $wp_registered_sidebars ) ) { $new_sidebars_widgets[ key( $wp_registered_sidebars ) ] = array_pop( $existing_sidebars_widgets ); return $new_sidebars_widgets; } $existing_sidebars = array_keys( $existing_sidebars_widgets ); foreach ( $wp_registered_sidebars as $sidebar => $name ) { if ( in_array( $sidebar, $existing_sidebars, true ) ) { $new_sidebars_widgets[ $sidebar ] = $existing_sidebars_widgets[ $sidebar ]; unset( $existing_sidebars_widgets[ $sidebar ] ); } elseif ( ! array_key_exists( $sidebar, $new_sidebars_widgets ) ) { $new_sidebars_widgets[ $sidebar ] = array(); } } if ( ! empty( $existing_sidebars_widgets ) ) { $common_slug_groups = array( array( 'sidebar', 'primary', 'main', 'right' ), array( 'second', 'left' ), array( 'sidebar-2', 'footer', 'bottom' ), array( 'header', 'top' ), ); foreach ( $common_slug_groups as $slug_group ) { foreach ( $slug_group as $slug ) { foreach ( $wp_registered_sidebars as $new_sidebar => $args ) { if ( false === stripos( $new_sidebar, $slug ) && false === stripos( $slug, $new_sidebar ) ) { continue; } foreach ( $existing_sidebars_widgets as $sidebar => $widgets ) { foreach ( $slug_group as $slug ) { if ( false === stripos( $sidebar, $slug ) && false === stripos( $slug, $sidebar ) ) { continue; } if ( ! empty( $existing_sidebars_widgets[ $sidebar ] ) ) { $new_sidebars_widgets[ $new_sidebar ] = array_merge( $new_sidebars_widgets[ $new_sidebar ], $existing_sidebars_widgets[ $sidebar ] ); unset( $existing_sidebars_widgets[ $sidebar ] ); continue 3; } } } } } } } foreach ( $existing_sidebars_widgets as $widgets ) { if ( is_array( $widgets ) && ! empty( $widgets ) ) { $new_sidebars_widgets['wp_inactive_widgets'] = array_merge( $new_sidebars_widgets['wp_inactive_widgets'], $widgets ); } } $old_sidebars_widgets = get_theme_mod( 'sidebars_widgets' ); $old_sidebars_widgets = isset( $old_sidebars_widgets['data'] ) ? $old_sidebars_widgets['data'] : false; if ( is_array( $old_sidebars_widgets ) ) { $old_sidebars_widgets = array_filter( $old_sidebars_widgets ); foreach ( $new_sidebars_widgets as $new_sidebar => $new_widgets ) { if ( array_key_exists( $new_sidebar, $old_sidebars_widgets ) && ! empty( $new_widgets ) ) { unset( $old_sidebars_widgets[ $new_sidebar ] ); } } foreach ( $old_sidebars_widgets as $sidebar => $widgets ) { if ( str_starts_with( $sidebar, 'orphaned_widgets' ) ) { unset( $old_sidebars_widgets[ $sidebar ] ); } } $old_sidebars_widgets = _wp_remove_unregistered_widgets( $old_sidebars_widgets ); if ( ! empty( $old_sidebars_widgets ) ) { foreach ( $old_sidebars_widgets as $old_sidebar => $old_widgets ) { foreach ( $new_sidebars_widgets as $new_sidebar => $new_widgets ) { foreach ( $old_widgets as $key => $widget_id ) { $active_key = array_search( $widget_id, $new_widgets, true ); if ( false !== $active_key ) { if ( 'wp_inactive_widgets' === $new_sidebar ) { unset( $new_sidebars_widgets['wp_inactive_widgets'][ $active_key ] ); } else { unset( $old_sidebars_widgets[ $old_sidebar ][ $key ] ); } } } } } } $new_sidebars_widgets = array_merge( $new_sidebars_widgets, $old_sidebars_widgets ); } return $new_sidebars_widgets; } function _wp_remove_unregistered_widgets( $sidebars_widgets, $allowed_widget_ids = array() ) { if ( empty( $allowed_widget_ids ) ) { $allowed_widget_ids = array_keys( $GLOBALS['wp_registered_widgets'] ); } foreach ( $sidebars_widgets as $sidebar => $widgets ) { if ( is_array( $widgets ) ) { $sidebars_widgets[ $sidebar ] = array_intersect( $widgets, $allowed_widget_ids ); } } return $sidebars_widgets; } function wp_widget_rss_output( $rss, $args = array() ) { if ( is_string( $rss ) ) { $rss = fetch_feed( $rss ); } elseif ( is_array( $rss ) && isset( $rss['url'] ) ) { $args = $rss; $rss = fetch_feed( $rss['url'] ); } elseif ( ! is_object( $rss ) ) { return; } if ( is_wp_error( $rss ) ) { if ( is_admin() || current_user_can( 'manage_options' ) ) { echo '

    ' . __( 'RSS Error:' ) . ' ' . esc_html( $rss->get_error_message() ) . '

    '; } return; } $default_args = array( 'show_author' => 0, 'show_date' => 0, 'show_summary' => 0, 'items' => 0, ); $args = wp_parse_args( $args, $default_args ); $items = (int) $args['items']; if ( $items < 1 || 20 < $items ) { $items = 10; } $show_summary = (int) $args['show_summary']; $show_author = (int) $args['show_author']; $show_date = (int) $args['show_date']; if ( ! $rss->get_item_quantity() ) { echo '
    • ' . __( 'An error has occurred, which probably means the feed is down. Try again later.' ) . '
    '; $rss->__destruct(); unset( $rss ); return; } echo '
    '; $rss->__destruct(); unset( $rss ); } function wp_widget_rss_form( $args, $inputs = null ) { $default_inputs = array( 'url' => true, 'title' => true, 'items' => true, 'show_summary' => true, 'show_author' => true, 'show_date' => true, ); $inputs = wp_parse_args( $inputs, $default_inputs ); $args['title'] = isset( $args['title'] ) ? $args['title'] : ''; $args['url'] = isset( $args['url'] ) ? $args['url'] : ''; $args['items'] = isset( $args['items'] ) ? (int) $args['items'] : 0; if ( $args['items'] < 1 || 20 < $args['items'] ) { $args['items'] = 10; } $args['show_summary'] = isset( $args['show_summary'] ) ? (int) $args['show_summary'] : (int) $inputs['show_summary']; $args['show_author'] = isset( $args['show_author'] ) ? (int) $args['show_author'] : (int) $inputs['show_author']; $args['show_date'] = isset( $args['show_date'] ) ? (int) $args['show_date'] : (int) $inputs['show_date']; if ( ! empty( $args['error'] ) ) { echo '

    ' . __( 'RSS Error:' ) . ' ' . esc_html( $args['error'] ) . '

    '; } $esc_number = esc_attr( $args['number'] ); if ( $inputs['url'] ) : ?>

    @@ -41447,7 +41446,7 @@ endforeach; ?> connect( get_option( 'mailserver_url' ), get_option( 'mailserver_port' ) ) || ! $pop3->user( get_option( 'mailserver_login' ) ) ) { wp_die( esc_html( $pop3->ERROR ) ); } $count = $pop3->pass( get_option( 'mailserver_pass' ) ); if ( false === $count ) { wp_die( esc_html( $pop3->ERROR ) ); } if ( 0 === $count ) { $pop3->quit(); wp_die( __( 'There does not seem to be any new mail.' ) ); } wp_set_current_user( 0 ); for ( $i = 1; $i <= $count; $i++ ) { $message = $pop3->get( $i ); $bodysignal = false; $boundary = ''; $charset = ''; $content = ''; $content_type = ''; $content_transfer_encoding = ''; $post_author = 1; $author_found = false; $post_date = null; $post_date_gmt = null; foreach ( $message as $line ) { if ( strlen( $line ) < 3 ) { $bodysignal = true; } if ( $bodysignal ) { $content .= $line; } else { if ( preg_match( '/Content-Type: /i', $line ) ) { $content_type = trim( $line ); $content_type = substr( $content_type, 14, strlen( $content_type ) - 14 ); $content_type = explode( ';', $content_type ); if ( ! empty( $content_type[1] ) ) { $charset = explode( '=', $content_type[1] ); $charset = ( ! empty( $charset[1] ) ) ? trim( $charset[1] ) : ''; } $content_type = $content_type[0]; } if ( preg_match( '/Content-Transfer-Encoding: /i', $line ) ) { $content_transfer_encoding = trim( $line ); $content_transfer_encoding = substr( $content_transfer_encoding, 27, strlen( $content_transfer_encoding ) - 27 ); $content_transfer_encoding = explode( ';', $content_transfer_encoding ); $content_transfer_encoding = $content_transfer_encoding[0]; } if ( 'multipart/alternative' === $content_type && str_contains( $line, 'boundary="' ) && '' === $boundary ) { $boundary = trim( $line ); $boundary = explode( '"', $boundary ); $boundary = $boundary[1]; } if ( preg_match( '/Subject: /i', $line ) ) { $subject = trim( $line ); $subject = substr( $subject, 9, strlen( $subject ) - 9 ); if ( function_exists( 'iconv_mime_decode' ) ) { $subject = iconv_mime_decode( $subject, 2, get_option( 'blog_charset' ) ); } else { $subject = wp_iso_descrambler( $subject ); } $subject = explode( $phone_delim, $subject ); $subject = $subject[0]; } if ( ! $author_found && preg_match( '/^(From|Reply-To): /', $line ) ) { if ( preg_match( '|[a-z0-9_.-]+@[a-z0-9_.-]+(?!.*<)|i', $line, $matches ) ) { $author = $matches[0]; } else { $author = trim( $line ); } $author = sanitize_email( $author ); if ( is_email( $author ) ) { $userdata = get_user_by( 'email', $author ); if ( ! empty( $userdata ) ) { $post_author = $userdata->ID; $author_found = true; } } } if ( preg_match( '/Date: /i', $line ) ) { $ddate = str_replace( 'Date: ', '', trim( $line ) ); $ddate = preg_replace( '!\s*\(.+\)\s*$!', '', $ddate ); $ddate_timestamp = strtotime( $ddate ); $post_date = gmdate( 'Y-m-d H:i:s', $ddate_timestamp + $time_difference ); $post_date_gmt = gmdate( 'Y-m-d H:i:s', $ddate_timestamp ); } } } if ( $author_found ) { $user = new WP_User( $post_author ); $post_status = ( $user->has_cap( 'publish_posts' ) ) ? 'publish' : 'pending'; } else { $post_status = 'pending'; } $subject = trim( $subject ); if ( 'multipart/alternative' === $content_type ) { $content = explode( '--' . $boundary, $content ); $content = $content[2]; if ( preg_match( '/Content-Transfer-Encoding: quoted-printable/i', $content, $delim ) ) { $content = explode( $delim[0], $content ); $content = $content[1]; } $content = strip_tags( $content, '


    ' ); } $content = trim( $content ); $content = apply_filters( 'wp_mail_original_content', $content ); if ( false !== stripos( $content_transfer_encoding, 'quoted-printable' ) ) { $content = quoted_printable_decode( $content ); } if ( function_exists( 'iconv' ) && ! empty( $charset ) ) { $content = iconv( $charset, get_option( 'blog_charset' ), $content ); } $content = explode( $phone_delim, $content ); $content = empty( $content[1] ) ? $content[0] : $content[1]; $content = trim( $content ); $post_content = apply_filters( 'phone_content', $content ); $post_title = xmlrpc_getposttitle( $content ); if ( '' === trim( $post_title ) ) { $post_title = $subject; } $post_category = array( get_option( 'default_email_category' ) ); $post_data = compact( 'post_content', 'post_title', 'post_date', 'post_date_gmt', 'post_author', 'post_category', 'post_status' ); $post_data = wp_slash( $post_data ); $post_ID = wp_insert_post( $post_data ); if ( is_wp_error( $post_ID ) ) { echo "\n" . $post_ID->get_error_message(); } if ( empty( $post_ID ) ) { continue; } do_action( 'publish_phone', $post_ID ); echo "\n

    " . __( 'Author:' ) . ' ' . esc_html( $post_author ) . '

    '; echo "\n

    " . __( 'Posted title:' ) . ' ' . esc_html( $post_title ) . '

    '; if ( ! $pop3->delete( $i ) ) { echo '

    ' . sprintf( __( 'Oops: %s' ), esc_html( $pop3->ERROR ) ) . '

    '; $pop3->reset(); exit; } else { echo '

    ' . sprintf( __( 'Mission complete. Message %s deleted.' ), '' . $i . '' ) . '

    '; } } $pop3->quit(); initialize(); } foreach ( wp_get_active_and_valid_plugins() as $plugin ) { wp_register_plugin_realpath( $plugin ); $_wp_plugin_file = $plugin; include_once $plugin; $plugin = $_wp_plugin_file; do_action( 'plugin_loaded', $plugin ); } unset( $plugin, $_wp_plugin_file ); require ABSPATH . WPINC . '/pluggable.php'; require ABSPATH . WPINC . '/pluggable-deprecated.php'; wp_set_internal_encoding(); if ( WP_CACHE && function_exists( 'wp_cache_postload' ) ) { wp_cache_postload(); } do_action( 'plugins_loaded' ); wp_functionality_constants(); wp_magic_quotes(); do_action( 'sanitize_comment_cookies' ); $GLOBALS['wp_the_query'] = new WP_Query(); $GLOBALS['wp_query'] = $GLOBALS['wp_the_query']; $GLOBALS['wp_rewrite'] = new WP_Rewrite(); $GLOBALS['wp'] = new WP(); $GLOBALS['wp_widget_factory'] = new WP_Widget_Factory(); $GLOBALS['wp_roles'] = new WP_Roles(); do_action( 'setup_theme' ); wp_templating_constants(); load_default_textdomain(); $locale = get_locale(); $locale_file = WP_LANG_DIR . "/$locale.php"; if ( ( 0 === validate_file( $locale ) ) && is_readable( $locale_file ) ) { require $locale_file; } unset( $locale_file ); $GLOBALS['wp_locale'] = new WP_Locale(); $GLOBALS['wp_locale_switcher'] = new WP_Locale_Switcher(); $GLOBALS['wp_locale_switcher']->init(); foreach ( wp_get_active_and_valid_themes() as $theme ) { if ( file_exists( $theme . '/functions.php' ) ) { include $theme . '/functions.php'; } } unset( $theme ); do_action( 'after_setup_theme' ); if ( ! class_exists( 'WP_Site_Health' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; } WP_Site_Health::get_instance(); $GLOBALS['wp']->init(); do_action( 'init' ); if ( is_multisite() ) { $file = ms_site_check(); if ( true !== $file ) { require $file; die(); } unset( $file ); } do_action( 'wp_loaded' ); initialize(); } foreach ( wp_get_active_and_valid_plugins() as $plugin ) { wp_register_plugin_realpath( $plugin ); $_wp_plugin_file = $plugin; include_once $plugin; $plugin = $_wp_plugin_file; do_action( 'plugin_loaded', $plugin ); } unset( $plugin, $_wp_plugin_file ); require ABSPATH . WPINC . '/pluggable.php'; require ABSPATH . WPINC . '/pluggable-deprecated.php'; wp_set_internal_encoding(); if ( WP_CACHE && function_exists( 'wp_cache_postload' ) ) { wp_cache_postload(); } do_action( 'plugins_loaded' ); wp_functionality_constants(); wp_magic_quotes(); do_action( 'sanitize_comment_cookies' ); $GLOBALS['wp_the_query'] = new WP_Query(); $GLOBALS['wp_query'] = $GLOBALS['wp_the_query']; $GLOBALS['wp_rewrite'] = new WP_Rewrite(); $GLOBALS['wp'] = new WP(); $GLOBALS['wp_widget_factory'] = new WP_Widget_Factory(); $GLOBALS['wp_roles'] = new WP_Roles(); do_action( 'setup_theme' ); wp_templating_constants(); load_default_textdomain(); $locale = get_locale(); $locale_file = WP_LANG_DIR . "/$locale.php"; if ( ( 0 === validate_file( $locale ) ) && is_readable( $locale_file ) ) { require $locale_file; } unset( $locale_file ); $GLOBALS['wp_locale'] = new WP_Locale(); $GLOBALS['wp_locale_switcher'] = new WP_Locale_Switcher(); $GLOBALS['wp_locale_switcher']->init(); foreach ( wp_get_active_and_valid_themes() as $theme ) { if ( file_exists( $theme . '/functions.php' ) ) { include $theme . '/functions.php'; } } unset( $theme ); do_action( 'after_setup_theme' ); if ( ! class_exists( 'WP_Site_Health' ) ) { require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php'; } WP_Site_Health::get_instance(); $GLOBALS['wp']->init(); do_action( 'init' ); if ( is_multisite() ) { $file = ms_site_check(); if ( true !== $file ) { require $file; die(); } unset( $file ); } do_action( 'wp_loaded' ); is_404 = false; do_action( 'before_signup_header' ); function wpmu_signup_stylesheet() { ?>