<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[41895] trunk/src: Dashboard: Introduce a "Try Gutenberg" callout.</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="https://core.trac.wordpress.org/changeset/41895">41895</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"https://core.trac.wordpress.org/changeset/41895","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>pento</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2017-10-18 10:03:39 +0000 (Wed, 18 Oct 2017)</dd>
</dl>
<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Dashboard: Introduce a "Try Gutenberg" callout.
To encourage more people to try Gutenberg, this new Dashboard box allows site users to easily install and try out Gutenberg.
Props pento, melchoyce, joen, karmatosed.
Fixes <a href="https://core.trac.wordpress.org/ticket/41316">#41316</a>.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksrcwpadminadminajaxphp">trunk/src/wp-admin/admin-ajax.php</a></li>
<li><a href="#trunksrcwpadmincsscommoncss">trunk/src/wp-admin/css/common.css</a></li>
<li><a href="#trunksrcwpadmincssdashboardcss">trunk/src/wp-admin/css/dashboard.css</a></li>
<li><a href="#trunksrcwpadminincludesajaxactionsphp">trunk/src/wp-admin/includes/ajax-actions.php</a></li>
<li><a href="#trunksrcwpadminincludesclasswpscreenphp">trunk/src/wp-admin/includes/class-wp-screen.php</a></li>
<li><a href="#trunksrcwpadminincludesdashboardphp">trunk/src/wp-admin/includes/dashboard.php</a></li>
<li><a href="#trunksrcwpadminindexphp">trunk/src/wp-admin/index.php</a></li>
<li><a href="#trunksrcwpadminjsdashboardjs">trunk/src/wp-admin/js/dashboard.js</a></li>
<li><a href="#trunksrcwpadminjsupdatesjs">trunk/src/wp-admin/js/updates.js</a></li>
<li><a href="#trunksrcwpadminpluginsphp">trunk/src/wp-admin/plugins.php</a></li>
<li><a href="#trunksrcwpincludesdefaultfiltersphp">trunk/src/wp-includes/default-filters.php</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksrcwpadminadminajaxphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/admin-ajax.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/admin-ajax.php 2017-10-18 04:56:10 UTC (rev 41894)
+++ trunk/src/wp-admin/admin-ajax.php 2017-10-18 10:03:39 UTC (rev 41895)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -64,7 +64,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> 'parse-media-shortcode', 'destroy-sessions', 'install-plugin', 'update-plugin', 'crop-image',
</span><span class="cx" style="display: block; padding: 0 10px"> 'generate-password', 'save-wporg-username', 'delete-plugin', 'search-plugins',
</span><span class="cx" style="display: block; padding: 0 10px"> 'search-install-plugins', 'activate-plugin', 'update-theme', 'delete-theme', 'install-theme',
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- 'get-post-thumbnail-html', 'get-community-events', 'edit-theme-plugin-file',
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ 'get-post-thumbnail-html', 'get-community-events', 'edit-theme-plugin-file', 'update-try-gutenberg-panel',
</ins><span class="cx" style="display: block; padding: 0 10px"> );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> // Deprecated
</span></span></pre></div>
<a id="trunksrcwpadmincsscommoncss"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/css/common.css</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/css/common.css 2017-10-18 04:56:10 UTC (rev 41894)
+++ trunk/src/wp-admin/css/common.css 2017-10-18 10:03:39 UTC (rev 41895)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -764,6 +764,7 @@
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /* @todo can we combine these into a class or use an existing dashicon one? */
</span><span class="cx" style="display: block; padding: 0 10px"> .welcome-panel .welcome-panel-close:before,
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.try-gutenberg-panel .try-gutenberg-panel-close:before,
</ins><span class="cx" style="display: block; padding: 0 10px"> .tagchecklist .ntdelbutton .remove-tag-icon:before,
</span><span class="cx" style="display: block; padding: 0 10px"> #bulk-titles div a:before,
</span><span class="cx" style="display: block; padding: 0 10px"> .notice-dismiss:before {
</span></span></pre></div>
<a id="trunksrcwpadmincssdashboardcss"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/css/dashboard.css</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/css/dashboard.css 2017-10-18 04:56:10 UTC (rev 41894)
+++ trunk/src/wp-admin/css/dashboard.css 2017-10-18 10:03:39 UTC (rev 41895)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -98,7 +98,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /* Welcome Panel */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel,
+.try-gutenberg-panel {
</ins><span class="cx" style="display: block; padding: 0 10px"> position: relative;
</span><span class="cx" style="display: block; padding: 0 10px"> overflow: auto;
</span><span class="cx" style="display: block; padding: 0 10px"> margin: 16px 0;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -110,27 +111,33 @@
</span><span class="cx" style="display: block; padding: 0 10px"> line-height: 2.1em;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel h2 {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel h2,
+.try-gutenberg-panel h2 {
</ins><span class="cx" style="display: block; padding: 0 10px"> margin: 0;
</span><span class="cx" style="display: block; padding: 0 10px"> font-size: 21px;
</span><span class="cx" style="display: block; padding: 0 10px"> font-weight: 400;
</span><span class="cx" style="display: block; padding: 0 10px"> line-height: 1.2;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel h3 {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel h3,
+.try-gutenberg-panel h3 {
</ins><span class="cx" style="display: block; padding: 0 10px"> margin: 1.33em 0 0;
</span><span class="cx" style="display: block; padding: 0 10px"> font-size: 16px;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel li {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel li,
+.try-gutenberg-panel li {
</ins><span class="cx" style="display: block; padding: 0 10px"> font-size: 14px;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel p {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel p,
+.try-gutenberg-panel p,
+.try-gutenberg-panel-column p.about-description {
</ins><span class="cx" style="display: block; padding: 0 10px"> color: #72777c;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel a {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel a,
+.try-gutenberg-panel a {
</ins><span class="cx" style="display: block; padding: 0 10px"> text-decoration: none;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -139,7 +146,13 @@
</span><span class="cx" style="display: block; padding: 0 10px"> margin: 0;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel .welcome-panel-close {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.try-gutenberg-panel .about-description {
+ font-size: 16px;
+ margin-top: 1.33em;
+}
+
+.welcome-panel .welcome-panel-close,
+.try-gutenberg-panel .try-gutenberg-panel-close {
</ins><span class="cx" style="display: block; padding: 0 10px"> position: absolute;
</span><span class="cx" style="display: block; padding: 0 10px"> top: 10px;
</span><span class="cx" style="display: block; padding: 0 10px"> right: 10px;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -149,7 +162,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> text-decoration: none;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel .welcome-panel-close:before {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel .welcome-panel-close:before,
+.try-gutenberg-panel .try-gutenberg-panel-close:before {
</ins><span class="cx" style="display: block; padding: 0 10px"> position: absolute;
</span><span class="cx" style="display: block; padding: 0 10px"> top: 8px;
</span><span class="cx" style="display: block; padding: 0 10px"> left: 0;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -164,27 +178,48 @@
</span><span class="cx" style="display: block; padding: 0 10px"> white-space: normal;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel-content {
- margin-left: 13px;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel-content,
+.try-gutenberg-panel-content {
+ margin: 0 13px;
</ins><span class="cx" style="display: block; padding: 0 10px"> max-width: 1500px;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel .welcome-panel-column-container {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.try-gutenberg-panel img {
+ max-width: 360px;
+ width: 100%;
+ border: 1px solid #f3f4f5;
+}
+
+.try-gutenberg-panel .install-now.updating-message:before,
+.try-gutenberg-panel .install-now.updated-message:before {
+ margin-top: 11px;
+}
+
+.welcome-panel .welcome-panel-column-container,
+.try-gutenberg-panel .try-gutenberg-panel-column-container {
</ins><span class="cx" style="display: block; padding: 0 10px"> clear: both;
</span><span class="cx" style="display: block; padding: 0 10px"> position: relative;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel .welcome-panel-column {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel .welcome-panel-column,
+.try-gutenberg-panel .try-gutenberg-panel-column {
</ins><span class="cx" style="display: block; padding: 0 10px"> width: 32%;
</span><span class="cx" style="display: block; padding: 0 10px"> min-width: 200px;
</span><span class="cx" style="display: block; padding: 0 10px"> float: left;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.ie8 .welcome-panel .welcome-panel-column {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.try-gutenberg-panel .try-gutenberg-panel-column {
+ width: calc( 32% - 20px );
+ padding: 0 20px 20px 0;
+}
+
+.ie8 .welcome-panel .welcome-panel-column,
+.ie8 .try-gutenberg-panel .try-gutenberg-panel-column {
</ins><span class="cx" style="display: block; padding: 0 10px"> min-width: 230px;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel .welcome-panel-column:first-child {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel .welcome-panel-column:first-child
+.try-gutenberg-panel .try-gutenberg-panel-column:first-child {
</ins><span class="cx" style="display: block; padding: 0 10px"> width: 36%;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -192,7 +227,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> margin-top: 10px;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel-column p {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel-column p,
+.try-gutenberg-panel-column p {
</ins><span class="cx" style="display: block; padding: 0 10px"> margin-top: 7px;
</span><span class="cx" style="display: block; padding: 0 10px"> color: #444;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -201,11 +237,13 @@
</span><span class="cx" style="display: block; padding: 0 10px"> line-height: 16px;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel .welcome-panel-column ul {
- margin: 0.8em 1em 1em 0;
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel .welcome-panel-column ul,
+.try-gutenberg-panel .try-gutenberg-panel-column ul {
+ margin: 0.8em 1em 1em 0;
</ins><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-.welcome-panel .welcome-panel-column li {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+.welcome-panel .welcome-panel-column li,
+.try-gutenberg-panel .try-gutenberg-panel-column li {
</ins><span class="cx" style="display: block; padding: 0 10px"> line-height: 16px;
</span><span class="cx" style="display: block; padding: 0 10px"> list-style-type: none;
</span><span class="cx" style="display: block; padding: 0 10px"> padding: 0 0 8px;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1207,14 +1245,29 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+@media screen and (max-width: 1024px) {
+ .try-gutenberg-panel .try-gutenberg-panel-image-column {
+ display: none;
+ }
+
+ .try-gutenberg-panel .try-gutenberg-panel-column {
+ width: calc( 49% - 20px );
+ }
+}
+
</ins><span class="cx" style="display: block; padding: 0 10px"> @media screen and (max-width: 870px) {
</span><span class="cx" style="display: block; padding: 0 10px"> .welcome-panel .welcome-panel-column,
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ .try-gutenberg-panel .try-gutenberg-panel-column,
</ins><span class="cx" style="display: block; padding: 0 10px"> .welcome-panel .welcome-panel-column:first-child {
</span><span class="cx" style="display: block; padding: 0 10px"> display: block;
</span><span class="cx" style="display: block; padding: 0 10px"> float: none;
</span><span class="cx" style="display: block; padding: 0 10px"> width: 100%;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ .try-gutenberg-panel .try-gutenberg-panel-image-column {
+ display: none;
+ }
+
</ins><span class="cx" style="display: block; padding: 0 10px"> .welcome-panel .welcome-panel-column li {
</span><span class="cx" style="display: block; padding: 0 10px"> display: inline-block;
</span><span class="cx" style="display: block; padding: 0 10px"> margin-right: 13px;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1223,7 +1276,6 @@
</span><span class="cx" style="display: block; padding: 0 10px"> .welcome-panel .welcome-panel-column ul {
</span><span class="cx" style="display: block; padding: 0 10px"> margin: 0.4em 0 0;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">-
</del><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> @media screen and ( max-width: 782px ) {
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1266,7 +1318,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> /* Smartphone */
</span><span class="cx" style="display: block; padding: 0 10px"> @media screen and (max-width: 600px) {
</span><span class="cx" style="display: block; padding: 0 10px"> /* Keep the close icon from overlapping the Welcome text. */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- .welcome-panel .welcome-panel-close {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ .welcome-panel .welcome-panel-close,
+ .try-gutenberg-panel .try-gutenberg-panel-close {
</ins><span class="cx" style="display: block; padding: 0 10px"> overflow: hidden;
</span><span class="cx" style="display: block; padding: 0 10px"> text-indent: 40px;
</span><span class="cx" style="display: block; padding: 0 10px"> white-space: nowrap;
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1278,7 +1331,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /* Make the close icon larger for tappability. */
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- .welcome-panel .welcome-panel-close:before {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ .welcome-panel .welcome-panel-close:before,
+ .try-gutenberg-panel .try-gutenberg-panel-close:before {
</ins><span class="cx" style="display: block; padding: 0 10px"> font-size: 20px;
</span><span class="cx" style="display: block; padding: 0 10px"> top: 5px;
</span><span class="cx" style="display: block; padding: 0 10px"> left: -35px;
</span></span></pre></div>
<a id="trunksrcwpadminincludesajaxactionsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/includes/ajax-actions.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/includes/ajax-actions.php 2017-10-18 04:56:10 UTC (rev 41894)
+++ trunk/src/wp-admin/includes/ajax-actions.php 2017-10-18 10:03:39 UTC (rev 41895)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1480,6 +1480,19 @@
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> /**
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ * Ajax handler for updating whether to display the Try Gutenberg panel.
+ *
+ * @since 4.9.0
+ */
+function wp_ajax_update_try_gutenberg_panel() {
+ check_ajax_referer( 'try-gutenberg-panel-nonce', 'trygutenbergpanelnonce' );
+
+ update_user_meta( get_current_user_id(), 'show_try_gutenberg_panel', empty( $_POST['visible'] ) ? 0 : 1 );
+
+ wp_die( 1 );
+}
+
+/**
</ins><span class="cx" style="display: block; padding: 0 10px"> * Ajax handler for retrieving menu meta boxes.
</span><span class="cx" style="display: block; padding: 0 10px"> *
</span><span class="cx" style="display: block; padding: 0 10px"> * @since 3.1.0
</span></span></pre></div>
<a id="trunksrcwpadminincludesclasswpscreenphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/includes/class-wp-screen.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/includes/class-wp-screen.php 2017-10-18 04:56:10 UTC (rev 41894)
+++ trunk/src/wp-admin/includes/class-wp-screen.php 2017-10-18 10:03:39 UTC (rev 41895)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1020,7 +1020,10 @@
</span><span class="cx" style="display: block; padding: 0 10px"> update_user_meta( get_current_user_id(), 'show_welcome_panel', $welcome_checked );
</span><span class="cx" style="display: block; padding: 0 10px"> } else {
</span><span class="cx" style="display: block; padding: 0 10px"> $welcome_checked = get_user_meta( get_current_user_id(), 'show_welcome_panel', true );
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- if ( 2 == $welcome_checked && wp_get_current_user()->user_email != get_option( 'admin_email' ) ) {
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ if ( '' === $welcome_checked ) {
+ $welcome_checked = '1';
+ }
+ if ( '2' === $welcome_checked && wp_get_current_user()->user_email != get_option( 'admin_email' ) ) {
</ins><span class="cx" style="display: block; padding: 0 10px"> $welcome_checked = false;
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1028,6 +1031,24 @@
</span><span class="cx" style="display: block; padding: 0 10px"> echo '<input type="checkbox" id="wp_welcome_panel-hide"' . checked( (bool) $welcome_checked, true, false ) . ' />';
</span><span class="cx" style="display: block; padding: 0 10px"> echo _x( 'Welcome', 'Welcome panel' ) . "</label>\n";
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+ if ( 'dashboard' === $this->id && has_action( 'try_gutenberg_panel' ) ) {
+ if ( isset( $_GET['try_gutenberg'] ) ) {
+ $try_gutenberg_checked = empty( $_GET['try_gutenberg'] ) ? 0 : 1;
+ update_user_meta( get_current_user_id(), 'show_try_gutenberg_panel', $try_gutenberg_checked );
+ } else {
+ $try_gutenberg_checked = get_user_meta( get_current_user_id(), 'show_try_gutenberg_panel', true );
+ if ( '' === $try_gutenberg_checked ) {
+ $try_gutenberg_checked = '1';
+ }
+ if ( '2' === $try_gutenberg_checked && wp_get_current_user()->user_email != get_option( 'admin_email' ) ) {
+ $try_gutenberg_checked = false;
+ }
+ }
+ echo '<label for="wp_try_gutenberg_panel-hide">';
+ echo '<input type="checkbox" id="wp_try_gutenberg_panel-hide"' . checked( (bool) $try_gutenberg_checked, true, false ) . ' />';
+ echo __( 'New Editor' ) . "</label>\n";
+ }
</ins><span class="cx" style="display: block; padding: 0 10px"> ?>
</span><span class="cx" style="display: block; padding: 0 10px"> </fieldset>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span></span></pre></div>
<a id="trunksrcwpadminincludesdashboardphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/includes/dashboard.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/includes/dashboard.php 2017-10-18 04:56:10 UTC (rev 41894)
+++ trunk/src/wp-admin/includes/dashboard.php 2017-10-18 10:03:39 UTC (rev 41895)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -1619,3 +1619,50 @@
</span><span class="cx" style="display: block; padding: 0 10px"> </div>
</span><span class="cx" style="display: block; padding: 0 10px"> <?php
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+
+/**
+ * Displays a Try Gutenberg Panel, to introduce people to Gutenberg
+ *
+ * @since 4.9.0
+ */
+function wp_try_gutenberg_panel() {
+ $plugins = get_plugins();
+ $action = $url = $classes = '';
+
+ if ( current_user_can( 'install_plugins' ) && empty( $plugins['gutenberg/gutenberg.php'] ) ) {
+ $action = __( 'Install Today' );
+ $url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=gutenberg' ), 'install-plugin_gutenberg' );
+ $classes = ' install-now';
+ } else if ( current_user_can( 'install_plugins' ) && is_plugin_inactive( 'gutenberg/gutenberg.php' ) ) {
+ $action = __( 'Activate Today' );
+ $url = wp_nonce_url( self_admin_url( 'plugins.php?action=activate&plugin=gutenberg/gutenberg.php&from=try-gutenberg' ), 'activate-plugin_gutenberg/gutenberg.php' );
+ $classes = ' activate-now';
+ } else if ( current_user_can( 'edit_posts' ) && is_plugin_active( 'gutenberg/gutenberg.php' ) ) {
+ $action = __( 'Try Today' );
+ $url = admin_url( 'admin.php?page=gutenberg-demo' );
+ }
+
+ ?>
+ <div class="try-gutenberg-panel-content plugin-card-gutenberg">
+ <div class="try-gutenberg-panel-column-container">
+ <div class="try-gutenberg-panel-column try-gutenberg-panel-image-column">
+ <img src="https://s.w.org/images/core/gutenberg-screenshot.gif?<?php echo date( 'Ymd' ); ?>" alt="<?php esc_attr_e( 'Gutenberg animated preview' ); ?>" />
+ </div>
+ <h2><?php _e( 'Try the new editing experience' ); ?></h2>
+ <div class="try-gutenberg-panel-column">
+ <p class="about-description"><?php _e( 'WordPress is working on a better way to control your content. How about giving it a try early?' ); ?></p>
+ <?php if ( $action ) { ?>
+ <p><a class="button button-primary button-hero<?php echo $classes; ?>" href="<?php echo esc_url( $url ); ?>"><?php echo $action; ?></a></p>
+ <?php } ?>
+ </div>
+ <div class="try-gutenberg-panel-column try-gutenberg-panel-last">
+ <h3><?php _e( 'Want to get involved?' ); ?></h3>
+ <ul>
+ <li><?php printf( __( 'Learn more about the project <a href="%s">codenamed Gutenberg</a>.' ), 'https://wordpress.org/gutenberg/' ); ?></li>
+ <li><?php printf( __( 'Help <a href="%1$s">with testing</a>, or contribute on the <a href="%2$s">GitHub repository</a>.' ), '', 'https://github.com/WordPress/gutenberg/' ); ?></li>
+ </ul>
+ </div>
+ </div>
+ </div>
+ <?php
+}
</ins></span></pre></div>
<a id="trunksrcwpadminindexphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/index.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/index.php 2017-10-18 04:56:10 UTC (rev 41894)
+++ trunk/src/wp-admin/index.php 2017-10-18 10:03:39 UTC (rev 41895)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -103,12 +103,38 @@
</span><span class="cx" style="display: block; padding: 0 10px"> <div class="wrap">
</span><span class="cx" style="display: block; padding: 0 10px"> <h1><?php echo esc_html( $title ); ?></h1>
</span><span class="cx" style="display: block; padding: 0 10px">
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php if ( has_action( 'try_gutenberg_panel' ) ) :
+ $classes = 'try-gutenberg-panel';
+
+ $option = get_user_meta( get_current_user_id(), 'show_try_gutenberg_panel', true );
+ // 0 = hide, 1 = toggled to show or single site creator, 2 = multisite site owner
+ $hide = '0' === $option || ( '2' === $option && wp_get_current_user()->user_email !== get_option( 'admin_email' ) );
+ if ( $hide )
+ $classes .= ' hidden'; ?>
+
+ <div id="try-gutenberg-panel" class="<?php echo esc_attr( $classes ); ?>">
+ <?php wp_nonce_field( 'try-gutenberg-panel-nonce', 'trygutenbergpanelnonce', false ); ?>
+ <a class="try-gutenberg-panel-close" href="<?php echo esc_url( admin_url( '?try_gutenberg=0' ) ); ?>" aria-label="<?php esc_attr_e( 'Dismiss the Try Gutenberg panel' ); ?>"><?php _e( 'Dismiss' ); ?></a>
+ <?php
+ /**
+ * Add content to the Try Gutenberg panel on the admin dashboard.
+ *
+ * To remove the Try Gutenberg panel, use remove_action():
+ *
+ * remove_action( 'try_gutenberg_panel', 'wp_try_gutenberg_panel' );
+ *
+ * @since 4.9.0
+ */
+ do_action( 'try_gutenberg_panel' );
+ ?>
+ </div>
+<?php endif; ?>
</ins><span class="cx" style="display: block; padding: 0 10px"> <?php if ( has_action( 'welcome_panel' ) && current_user_can( 'edit_theme_options' ) ) :
</span><span class="cx" style="display: block; padding: 0 10px"> $classes = 'welcome-panel';
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> $option = get_user_meta( get_current_user_id(), 'show_welcome_panel', true );
</span><span class="cx" style="display: block; padding: 0 10px"> // 0 = hide, 1 = toggled to show or single site creator, 2 = multisite site owner
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $hide = 0 == $option || ( 2 == $option && wp_get_current_user()->user_email != get_option( 'admin_email' ) );
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $hide = '0' === $option || ( '2' === $option && wp_get_current_user()->user_email != get_option( 'admin_email' ) );
</ins><span class="cx" style="display: block; padding: 0 10px"> if ( $hide )
</span><span class="cx" style="display: block; padding: 0 10px"> $classes .= ' hidden'; ?>
</span><span class="cx" style="display: block; padding: 0 10px">
</span></span></pre></div>
<a id="trunksrcwpadminjsdashboardjs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/js/dashboard.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/dashboard.js 2017-10-18 04:56:10 UTC (rev 41894)
+++ trunk/src/wp-admin/js/dashboard.js 2017-10-18 10:03:39 UTC (rev 41895)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -31,6 +31,48 @@
</span><span class="cx" style="display: block; padding: 0 10px"> updateWelcomePanel( this.checked ? 1 : 0 );
</span><span class="cx" style="display: block; padding: 0 10px"> });
</span><span class="cx" style="display: block; padding: 0 10px">
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ var tryGutenbergPanel = $( '#try-gutenberg-panel' ),
+ tryGutenbergPanelHide = $('#wp_try_gutenberg_panel-hide'),
+ updateTryGutenbergPanel, installGutenbergSuccess;
+
+ updateTryGutenbergPanel = function( visible ) {
+ $.post( ajaxurl, {
+ action: 'update-try-gutenberg-panel',
+ visible: visible,
+ trygutenbergpanelnonce: $( '#trygutenbergpanelnonce' ).val()
+ });
+ };
+
+ installGutenbergSuccess = function( response ) {
+ response.activateUrl += '&from=try-gutenberg';
+ wp.updates.installPluginSuccess( response );
+ };
+
+ if ( tryGutenbergPanel.hasClass('hidden') && tryGutenbergPanelHide.prop('checked') ) {
+ tryGutenbergPanel.removeClass('hidden');
+ }
+
+ $('.try-gutenberg-panel-close, .try-gutenberg-panel-dismiss a', tryGutenbergPanel).click( function(e) {
+ e.preventDefault();
+ tryGutenbergPanel.addClass('hidden');
+ updateTryGutenbergPanel( 0 );
+ $('#wp_try_gutenberg_panel-hide').prop('checked', false);
+ });
+
+ tryGutenbergPanelHide.click( function() {
+ tryGutenbergPanel.toggleClass('hidden', ! this.checked );
+ updateTryGutenbergPanel( this.checked ? 1 : 0 );
+ });
+
+ tryGutenbergPanel.on( 'click', '.install-now', function( e ) {
+ e.preventDefault();
+ var args = {
+ slug: 'gutenberg',
+ success: installGutenbergSuccess,
+ };
+ wp.updates.installPlugin( args );
+ } );
+
</ins><span class="cx" style="display: block; padding: 0 10px"> // These widgets are sometimes populated via ajax
</span><span class="cx" style="display: block; padding: 0 10px"> ajaxWidgets = ['dashboard_primary'];
</span><span class="cx" style="display: block; padding: 0 10px">
</span></span></pre></div>
<a id="trunksrcwpadminjsupdatesjs"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/js/updates.js</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/js/updates.js 2017-10-18 04:56:10 UTC (rev 41894)
+++ trunk/src/wp-admin/js/updates.js 2017-10-18 10:03:39 UTC (rev 41895)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -585,10 +585,18 @@
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> $message
</span><span class="cx" style="display: block; padding: 0 10px"> .removeClass( 'updating-message' )
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- .addClass( 'updated-message installed button-disabled' )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ .addClass( 'updated-message installed' )
</ins><span class="cx" style="display: block; padding: 0 10px"> .attr( 'aria-label', wp.updates.l10n.pluginInstalledLabel.replace( '%s', response.pluginName ) )
</span><span class="cx" style="display: block; padding: 0 10px"> .text( wp.updates.l10n.pluginInstalled );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ if ( $message.hasClass( 'button-primary' ) ) {
+ $message.addClass( 'button-primary-disabled' );
+ } else if ( $message.hasClass( 'button-secondary' ) ) {
+ $message.addClass( 'button-secondary-disabled' );
+ } else {
+ $message.addClass( 'button-disabled' );
+ }
+
</ins><span class="cx" style="display: block; padding: 0 10px"> wp.a11y.speak( wp.updates.l10n.installedMsg, 'polite' );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> $document.trigger( 'wp-plugin-install-success', response );
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -597,7 +605,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> setTimeout( function() {
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> // Transform the 'Install' button into an 'Activate' button.
</span><del style="background-color: #fdd; text-decoration:none; display:block; padding: 0 10px">- $message.removeClass( 'install-now installed button-disabled updated-message' ).addClass( 'activate-now button-primary' )
</del><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ $message.removeClass( 'install-now installed button-primary-disabled button-secondary-disabled button-disabled updated-message' )
+ .addClass( 'activate-now button-primary' )
</ins><span class="cx" style="display: block; padding: 0 10px"> .attr( 'href', response.activateUrl )
</span><span class="cx" style="display: block; padding: 0 10px"> .attr( 'aria-label', wp.updates.l10n.activatePluginLabel.replace( '%s', response.pluginName ) )
</span><span class="cx" style="display: block; padding: 0 10px"> .text( wp.updates.l10n.activatePlugin );
</span></span></pre></div>
<a id="trunksrcwpadminpluginsphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-admin/plugins.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-admin/plugins.php 2017-10-18 04:56:10 UTC (rev 41894)
+++ trunk/src/wp-admin/plugins.php 2017-10-18 10:03:39 UTC (rev 41895)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -65,6 +65,8 @@
</span><span class="cx" style="display: block; padding: 0 10px"> wp_redirect( self_admin_url("import.php?import=" . str_replace('-importer', '', dirname($plugin))) ); // overrides the ?error=true one above and redirects to the Imports page, stripping the -importer suffix
</span><span class="cx" style="display: block; padding: 0 10px"> } else if ( isset($_GET['from']) && 'press-this' == $_GET['from'] ) {
</span><span class="cx" style="display: block; padding: 0 10px"> wp_redirect( self_admin_url( "press-this.php") );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+ } else if ( isset($_GET['from']) && 'try-gutenberg' == $_GET['from'] ) {
+ wp_redirect( self_admin_url( "admin.php?page=gutenberg-demo") );
</ins><span class="cx" style="display: block; padding: 0 10px"> } else {
</span><span class="cx" style="display: block; padding: 0 10px"> wp_redirect( self_admin_url("plugins.php?activate=true&plugin_status=$status&paged=$page&s=$s") ); // overrides the ?error=true one above
</span><span class="cx" style="display: block; padding: 0 10px"> }
</span></span></pre></div>
<a id="trunksrcwpincludesdefaultfiltersphp"></a>
<div class="modfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Modified: trunk/src/wp-includes/default-filters.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- trunk/src/wp-includes/default-filters.php 2017-10-18 04:56:10 UTC (rev 41894)
+++ trunk/src/wp-includes/default-filters.php 2017-10-18 10:03:39 UTC (rev 41895)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -322,6 +322,7 @@
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'admin_init', 'send_frame_options_header', 10, 0 );
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'importer_scheduled_cleanup', 'wp_delete_attachment' );
</span><span class="cx" style="display: block; padding: 0 10px"> add_action( 'upgrader_scheduled_cleanup', 'wp_delete_attachment' );
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+add_action( 'try_gutenberg_panel', 'wp_try_gutenberg_panel' );
</ins><span class="cx" style="display: block; padding: 0 10px"> add_action( 'welcome_panel', 'wp_welcome_panel' );
</span><span class="cx" style="display: block; padding: 0 10px">
</span><span class="cx" style="display: block; padding: 0 10px"> // Navigation menu actions
</span></span></pre>
</div>
</div>
</body>
</html>