WordPress 5.6

This commit is contained in:
root 2020-12-10 13:06:04 +00:00
parent d31638a8a9
commit 8bfc8d922d
1001 changed files with 152625 additions and 65814 deletions

384
license.txt Normal file
View File

@ -0,0 +1,384 @@
WordPress - Web publishing software
Copyright 2011-2020 by the contributors
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
This program incorporates work covered by the following copyright and
permission notices:
b2 is (c) 2001, 2002 Michel Valdrighi - https://cafelog.com
Wherever third party code has been used, credit has been given in the code's
comments.
b2 is released under the GPL
and
WordPress - Web publishing software
Copyright 2003-2010 by the contributors
WordPress is released under the GPL
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
WRITTEN OFFER
The source code for any program binaries or compressed scripts that are
included with WordPress can be freely obtained at the following URL:
https://wordpress.org/download/source/

102
readme.html Normal file
View File

@ -0,0 +1,102 @@
<!DOCTYPE html>
<html lang="sv">
<head>
<meta name="viewport" content="width=device-width" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WordPress &#8250; ReadMe</title>
<link rel="stylesheet" href="wp-admin/css/install.css?ver=20100228" type="text/css" />
</head>
<body>
<h1 id="logo">
<a href="https://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a>
</h1>
<p style="text-align: center">Semantisk personlig publiceringsplattform</p>
<h2>Först och främst</h2>
<p>Välkommen. För mig är WordPress ett mycket speciellt projekt. Varje utvecklare och bidragsgivare bidrar med något unikt i det hela och tillsammans skapar vi något mycket vackert, som jag är stolt att delta i. WordPress är resultatet av många tusentals timmars arbete, och vi försöker att göra det ännu bättre för var dag. Tack för att du låter det bli en del av din värld.</p>
<p style="text-align: right">&#8212; Matt Mullenweg</p>
<h2>Installation: Den berömda 5-minutersinstallationen</h2>
<ol>
<li>Packa upp zip-filen i en tom katalog och ladda upp hela filstrukturen till din webb-server.</li>
<li>Öppna sidan <span class="file"><a href="wp-admin/install.php">wp-admin/install.php</a></span> i webbläsaren. Detta kommer att ta dig genom processen för att skapa filen <code>wp-config.php</code> som innehåller den nödvändiga informationen för anslutning till webbplatsens underliggande databas.
<ol>
<li>Var inte orolig om den automatiska installationen av någon anledning inte fungerar. Sånt kan hända på vissa webbhotell. Öppna filen <code>wp-config-sample.php</code> i ett textredigeringsprogram, t.ex. WordPad eller liknande, och fyll i informationen om din databasanslutning.</li>
<li>Spara sedan filen under namnet <code>wp-config.php</code> och ladda upp den till webbhotellet.</li>
<li>Öppna <span class="file"><a href="wp-admin/install.php">wp-admin/install.php</a></span> i webbläsaren.</li>
</ol>
</li>
<li>När konfigurationsfilen är färdig kommer installationsproceduren att bygga de databastabeller som din blogg behöver. Om något blir fel bör du kontrollera filen <code>wp-config.php</code> en extra gång och försöka igen. Om det fortfarande inte skulle fungera är du välkommen att besöka <a href="https://sv.wordpress.org/support/" title="WordPress-supporten">support-forumet</a> och berätta om ditt problem. Förbered all information som kan vara till hjälp.</li>
<li><strong>Om du inte angav något lösenord kommer systemet att ge dig ett. Se till att spara det.</strong> Om du inte angav något användarnamn, kommer det att vara <code>admin</code>.</li>
<li>När allt är klart bör installationsprogrammet skicka dig vidare till <a href="wp-login.php">inloggningssidan</a>. Logga in med ditt användarnamn och lösenord som du skapade under installationen. Om systemet skapade ett lösenord åt dig kan du klicka på Användare Din profil för att ändra lösenordet.</li>
</ol>
<h2>Uppdateringar</h2>
<h3>Användning av den automatiska uppdateringen</h3>
<p>Om du uppdaterar från version 2.7 eller senare kan du använda den automatiska uppdateringen:</p>
<ol>
<li>Öppna <span class="file"><a href="wp-admin/update-core.php">wp-admin/update-core.php</a></span> i din webbläsare och följ instruktionerna.</li>
<li>Svårare än så är det inte!</li>
</ol>
<h3>Manuell uppdatering</h3>
<ol>
<li>Se först till att du har säkerhetskopior på alla filer som du eventuellt kan ha ändrat, t.ex. <code>index.php</code>.</li>
<li>Radera dina gamla WordPress-filer, men spara de du gjort ändringar i.</li>
<li>Ladda upp de nya filerna.</li>
<li>Öppna webbläsaren och gå till <span class="file"><a href="wp-admin/upgrade.php">/wp-admin/upgrade.php</a>.</span></li>
</ol>
<h2>Att flytta till WordPress från andra system</h2>
<p>WordPress kan <a href="https://codex.wordpress.org/Importing_Content">importera innehåll från en rad olika system</a>. Börja med att installera och konfigurera WordPress enligt beskrivningen ovan. Sedan kan du använda <a href="wp-admin/import.php" title="Import to WordPress">våra importverktyg</a>.</p>
<h2>Systemkrav</h2>
<ul>
<li><a href="https://secure.php.net/">PHP</a> version <strong>5.6.20</strong> eller senare.</li>
<li><a href="https://www.mysql.com/">MySQL</a> version <strong>5.0</strong> eller senare.</li>
</ul>
<h3>Rekommenderas</h3>
<ul>
<li><a href="https://secure.php.net/">PHP</a> version <strong>7.3</strong> eller senare.</li>
<li><a href="https://www.mysql.com/">MySQL</a> version <strong>5.6</strong> eller senare.</li>
<li>Apache-modulen <a href="https://httpd.apache.org/docs/2.2/mod/mod_rewrite.html">mod_rewrite</a>.</li>
<li>Stöd för <a href="https://wordpress.org/news/2016/12/moving-toward-ssl/">HTTPS</a>.</li>
<li>Länka gärna till <a href="https://wordpress.org/">wordpress.org</a> från din webbplats.</li>
</ul>
<h2>Online-resurser</h2>
<p>Om du undrar över något som inte besvaras i det här dokumentet kan du söka bland all online-information som finns för WordPress:</p>
<dl>
<dt><a href="https://codex.wordpress.org/">WordPress Codex</a></dt>
<dd>Codex är encyklopedin för allt som rör WordPress. Det är den mest omfattande informationskällan som finns för WordPress.</dd>
<dt><a href="https://sv.wordpress.org/news/">WordPress svenska blogg</a></dt>
<dd>Här publiceras bl.a. information om nya versioner av WordPress. Om du använder WordPress på svenska kan du hitta länkar hit från admin-panelen för din WordPress-webbplats.</dd>
<dt><a href="https://wpsv.se/">WPSV</a></dt>
<dd>WPSV är hemmabasen för den svenska communityn kring WordPress. Vi underhåller den svenska versionen av WordPress, ordnar WordPress-träffar, hjälper varandra med support o.s.v. Allt arbete sker på frivillig väg, och du är välkommen att också hjälpa till.</dd>
<dt><a href="https://wordpress.org/news/">Den officiella WordPress-bloggen</a></dt>
<dd>Här hittar du den senaste officiella informationen om WordPress och dess uppdateringar (på engelska). Om du använder WordPress på engelska kan du hitta denna information i din egen admin-panel.</dd>
<dt><a href="https://planet.wordpress.org/">WordPress Planet</a></dt>
<dd>WordPress Planet är en webbplats som samlar artiklar och inlägg om WordPress från en rad olika bloggar runtom i världen (på engelska).</dd>
<dt><a href="https://sv.wordpress.org/support/">WordPress Supportforum</a></dt>
<dd>Om du letat överallt men ändå inte hittat svar på din fråga kan du ställa din fråga till andra WordPress-användare i forumet. Du har störst chans att få hjälp om du ser till att sätta en tydlig, beskrivande rubrik på din fråga och inkludera så detaljerad information som möjligt och om vad du redan har provat. Länken ovan går till det svenska forumet. Det internationella forumet hittar du på <a href="https://wordpress.org/support/">https://wordpress.org/support/</a>.</dd>
<dt><a href="https://codex.wordpress.org/IRC">WordPress <abbr title="Internet Relay Chat">IRC</abbr>-kanal</a></dt>
<dd>Det finns även en chatt-kanal för diskussioner kring WordPress, där man ibland tar upp supportärenden. Länken här ovan leder till en sida med mer information om detta. (<a href="irc://irc.freenode.net/wordpress">irc.freenode.net #wordpress</a>)</dd>
</dl>
<h2>Några ord på vägen</h2>
<ul>
<li>Om du har några förslag, idéer eller kommentarer eller (Ajdå!) har hittat något fel är du välkommen till <a href="https://wordpress.org/support/">support-forumet</a>.</li>
<li>WordPress har ett rejält <abbr title="application programming interface">API</abbr> för tillägg, vilket gör det enkelt att utöka koden med nya funktioner. Om du är utvecklare och funderar på att använda detta rekommenderar vi att du läser <a href="https://developer.wordpress.org/plugins/">Plugin Developer Handbook</a>. Undvik att göra ändringar direkt i filerna i WordPress-kärnan.</li>
</ul>
<h2>Dela med dig</h2>
<p>WordPress har inga dollarmiljoner att spendera på reklam och marknadsföring, men det finns något ännu bättre, nämligen DU. Om du tycker om WordPress, berätta gärna om det för dina vänner. Hjälp någon att komma igång, om de inte klarar det på egen hand.</p>
<p>WordPress är den officiella uppföljaren till <a href="http://cafelog.com/">b2/caf&#233;log</a> som skapades av Michel V. Arbetet har fortsatts av <a href="https://wordpress.org/about/">WordPress-utvecklarna</a>. Om du vill stödja WordPress är du välkommen att göra en <a href="https://wordpress.org/donate/" title="Donera till WordPress">donation</a>.</p>
<h2>Licens</h2>
<p>WordPress är fri programvara som gjorts tillgänglig under villkoren i licensen <abbr title="GNU General Public License">GPL</abbr> version 2 eller (om du så önskar) någon senare version. Se <a href="license.txt">license.txt</a>.</p>
</body>
</html>

View File

@ -19,15 +19,27 @@ require_once ABSPATH . 'wp-admin/admin-header.php';
<div class="wrap about__container"> <div class="wrap about__container">
<div class="about__header"> <div class="about__header">
<div class="about__header-text"> <div class="about__header-image">
<?php _e( 'Speed. Search. Security.' ); ?> <picture>
<source media="(max-width: 782px)" srcset="data:image/svg+xml,<?php echo rawurlencode( '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 205 109" width="205"><g fill="none" fill-rule="evenodd"><path fill="#000" fill-rule="nonzero" d="M65.901 108.433c2.546-5.254 4.927-9.195 7.143-11.822H1.246v-5.173h71.798c-2.216-2.627-4.597-6.568-7.143-11.822h4.31c5.173 5.993 10.592 10.427 16.257 13.3v2.217c-5.665 2.791-11.084 7.225-16.256 13.3h-4.31z"/><path fill="#000" fill-rule="nonzero" d="M29.345 26.834c-.129 1.365-.633 2.432-1.512 3.2-.879.76-2.048 1.142-3.507 1.142-1.02 0-1.919-.24-2.698-.72-.773-.487-1.371-1.176-1.793-2.066-.422-.891-.641-1.925-.659-3.103v-1.195c0-1.207.214-2.27.642-3.19.427-.92 1.04-1.63 1.836-2.128.803-.498 1.729-.747 2.778-.747 1.412 0 2.549.384 3.41 1.152.861.767 1.362 1.851 1.503 3.252H27.13c-.105-.92-.375-1.582-.809-1.987-.427-.41-1.057-.615-1.89-.615-.966 0-1.71.355-2.232 1.064-.515.703-.779 1.737-.79 3.102v1.134c0 1.383.245 2.437.738 3.164.498.727 1.224 1.09 2.18 1.09.872 0 1.529-.197 1.968-.59.44-.392.718-1.045.835-1.959h2.215zm14.008-1.898c0 1.253-.217 2.355-.65 3.304-.434.944-1.055 1.67-1.864 2.18-.803.504-1.728.756-2.777.756-1.037 0-1.963-.252-2.777-.756-.809-.51-1.436-1.234-1.881-2.171-.44-.938-.662-2.018-.668-3.243v-.72c0-1.249.22-2.35.659-3.306.445-.955 1.07-1.684 1.872-2.188.809-.51 1.734-.765 2.777-.765 1.043 0 1.966.252 2.769.756.808.498 1.432 1.219 1.872 2.162.44.938.662 2.03.668 3.279v.712zm-2.224-.668c0-1.418-.27-2.505-.808-3.261-.534-.756-1.292-1.134-2.277-1.134-.96 0-1.714.378-2.258 1.134-.54.75-.815 1.813-.827 3.19v.739c0 1.406.273 2.493.818 3.26.55.768 1.312 1.152 2.285 1.152.984 0 1.74-.375 2.267-1.125.534-.75.8-1.846.8-3.287v-.668zM47.368 31V18.203h3.78c1.13 0 2.132.252 3.005.756a5.146 5.146 0 012.039 2.145c.48.925.72 1.986.72 3.181v.642c0 1.213-.243 2.28-.729 3.199a5.057 5.057 0 01-2.065 2.127c-.89.498-1.913.747-3.068.747h-3.682zm2.223-11.004v9.229h1.45c1.167 0 2.06-.364 2.681-1.09.627-.733.947-1.782.958-3.147v-.712c0-1.388-.302-2.449-.905-3.181-.604-.733-1.48-1.099-2.628-1.099h-1.556zm18.816 5.291h-5.256v3.938h6.144V31h-8.368V18.203h8.306v1.793h-6.082v3.533h5.256v1.758zM81.534 31H79.32V18.203h2.215V31zm11.222-3.296c0-.562-.199-.996-.597-1.3-.393-.305-1.105-.613-2.136-.924-1.031-.31-1.852-.656-2.461-1.037-1.166-.732-1.75-1.687-1.75-2.865 0-1.031.42-1.88 1.258-2.549.843-.668 1.936-1.002 3.278-1.002.89 0 1.685.164 2.382.492a3.898 3.898 0 011.643 1.407c.399.603.598 1.274.598 2.013h-2.215c0-.669-.21-1.19-.633-1.565-.416-.38-1.013-.571-1.793-.571-.726 0-1.292.155-1.696.466-.398.31-.598.744-.598 1.3 0 .47.217.862.65 1.178.434.31 1.15.615 2.145.914.996.293 1.796.63 2.4 1.01.603.376 1.046.81 1.327 1.302.281.486.422 1.057.422 1.713 0 1.067-.41 1.916-1.23 2.55-.815.626-1.923.94-3.323.94-.926 0-1.778-.17-2.558-.51-.773-.346-1.376-.82-1.81-1.424-.428-.603-.642-1.306-.642-2.11h2.224c0 .727.24 1.29.72 1.688.481.399 1.17.598 2.066.598.774 0 1.354-.155 1.74-.466.393-.316.59-.732.59-1.248zm14.481-1.459V31h-2.224V18.203h4.896c1.43 0 2.563.372 3.401 1.116.844.745 1.266 1.729 1.266 2.954 0 1.253-.413 2.229-1.239 2.926-.821.697-1.972 1.046-3.454 1.046h-2.646zm0-1.784h2.672c.791 0 1.395-.185 1.811-.554.416-.375.624-.914.624-1.617 0-.691-.211-1.242-.633-1.652-.422-.416-1.002-.63-1.74-.642h-2.734v4.465zm21.303.475c0 1.253-.217 2.355-.65 3.304-.434.944-1.055 1.67-1.864 2.18-.802.504-1.728.756-2.777.756-1.037 0-1.963-.252-2.777-.756-.809-.51-1.436-1.234-1.881-2.171-.44-.938-.662-2.018-.668-3.243v-.72c0-1.249.22-2.35.659-3.306.445-.955 1.069-1.684 1.872-2.188.809-.51 1.734-.765 2.777-.765 1.043 0 1.966.252 2.769.756.809.498 1.433 1.219 1.872 2.162.44.938.662 2.03.668 3.279v.712zm-2.224-.668c0-1.418-.269-2.505-.808-3.261-.533-.756-1.292-1.134-2.277-1.134-.96 0-1.713.378-2.258 1.134-.539.75-.815 1.813-.827 3.19v.739c0 1.406.273 2.493.818 3.26.551.768 1.312 1.152 2.285 1.152.984 0 1.74-.375 2.268-1.125.533-.75.799-1.846.799-3.287v-.668zm13.718 1.02h-5.255v3.937h6.143V31h-8.367V18.203h8.306v1.793h-6.082v3.533h5.255v1.758zm13.92-5.292h-3.99V31h-2.206V19.996h-3.955v-1.793h10.151v1.793zm8.19 6.073h-2.478V31h-2.224V18.203h4.5c1.477 0 2.616.331 3.419.993.803.662 1.204 1.62 1.204 2.874 0 .856-.208 1.574-.624 2.154-.41.574-.984 1.016-1.723 1.327l2.874 5.335V31h-2.381l-2.567-4.93zm-2.478-1.784h2.285c.75 0 1.336-.187 1.758-.562.421-.381.632-.9.632-1.556 0-.686-.196-1.216-.588-1.59-.387-.376-.967-.57-1.741-.58h-2.346v4.288zm14.561-.017l2.945-6.065h2.461l-4.289 8.086V31h-2.233v-4.71l-4.298-8.087h2.47l2.944 6.065z"/><path stroke="#000" stroke-width="2" d="M2 1h201v46H2z"/></g></svg>' ); ?>" />
<img alt="<?php _e( 'Code is Poetry' ); ?>" src="data:image/svg+xml,<?php echo rawurlencode( '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1210 48"><path fill="#000" d="M65.875 39.875c2.583-5.333 5-9.333 7.25-12H.25v-5.25h72.875c-2.25-2.667-4.667-6.667-7.25-12h4.375c5.25 6.083 10.75 10.583 16.5 13.5v2.25c-5.75 2.833-11.25 7.333-16.5 13.5h-4.375zM1035.34 26.834c-.12 1.365-.63 2.432-1.51 3.2-.88.76-2.04 1.142-3.5 1.142-1.02 0-1.92-.24-2.7-.72-.78-.487-1.37-1.176-1.79-2.066-.43-.891-.65-1.925-.66-3.103v-1.195c0-1.207.21-2.27.64-3.19.43-.92 1.04-1.63 1.83-2.128.81-.498 1.73-.747 2.78-.747 1.41 0 2.55.384 3.41 1.152.86.767 1.36 1.851 1.5 3.252h-2.21c-.11-.92-.37-1.582-.81-1.987-.43-.41-1.06-.615-1.89-.615-.96 0-1.71.355-2.23 1.064-.52.703-.78 1.737-.79 3.102v1.134c0 1.383.24 2.437.74 3.164.49.727 1.22 1.09 2.18 1.09.87 0 1.53-.197 1.97-.59.43-.392.71-1.045.83-1.959h2.21zm14.01-1.898c0 1.253-.21 2.355-.65 3.304-.43.944-1.05 1.67-1.86 2.18-.8.504-1.73.756-2.78.756-1.04 0-1.96-.252-2.78-.756-.8-.51-1.43-1.234-1.88-2.171-.44-.938-.66-2.018-.66-3.243v-.72c0-1.249.22-2.35.65-3.306.45-.955 1.07-1.684 1.88-2.188.81-.51 1.73-.765 2.77-.765 1.05 0 1.97.252 2.77.756.81.498 1.44 1.219 1.87 2.162.44.938.67 2.03.67 3.279v.712zm-2.22-.668c0-1.418-.27-2.505-.81-3.261-.53-.756-1.29-1.134-2.28-1.134-.96 0-1.71.378-2.25 1.134-.54.75-.82 1.813-.83 3.19v.739c0 1.406.27 2.493.82 3.26.55.768 1.31 1.152 2.28 1.152.99 0 1.74-.375 2.27-1.125s.8-1.846.8-3.287v-.668zm6.24 6.732V18.203h3.78c1.13 0 2.13.252 3 .756a5.138 5.138 0 012.04 2.145c.48.925.72 1.986.72 3.181v.642c0 1.213-.24 2.28-.73 3.199a5.08 5.08 0 01-2.06 2.127c-.89.498-1.92.747-3.07.747h-3.68zm2.22-11.004v9.229h1.45c1.17 0 2.06-.364 2.68-1.09.63-.733.95-1.782.96-3.147v-.712c0-1.388-.3-2.449-.9-3.181-.61-.733-1.48-1.099-2.63-1.099h-1.56zm18.82 5.291h-5.26v3.938h6.14V31h-8.36V18.203h8.3v1.793h-6.08v3.533h5.26v1.758zM1087.53 31h-2.21V18.203h2.21V31zm11.23-3.296c0-.562-.2-.996-.6-1.3-.39-.305-1.11-.613-2.14-.924-1.03-.31-1.85-.656-2.46-1.037-1.16-.732-1.75-1.687-1.75-2.865 0-1.031.42-1.88 1.26-2.549.84-.668 1.94-1.002 3.28-1.002.89 0 1.68.164 2.38.492.7.329 1.25.797 1.64 1.407.4.603.6 1.274.6 2.013h-2.21c0-.669-.21-1.19-.64-1.565-.41-.38-1.01-.571-1.79-.571-.73 0-1.29.155-1.7.466-.39.31-.59.744-.59 1.3 0 .47.21.862.65 1.178.43.31 1.15.615 2.14.914 1 .293 1.8.63 2.4 1.01.6.376 1.05.81 1.33 1.302.28.486.42 1.057.42 1.713 0 1.067-.41 1.916-1.23 2.55-.82.626-1.92.94-3.32.94-.93 0-1.78-.17-2.56-.51-.77-.346-1.38-.82-1.81-1.424-.43-.603-.64-1.306-.64-2.11h2.22c0 .727.24 1.29.72 1.688.48.399 1.17.598 2.07.598.77 0 1.35-.155 1.74-.466.39-.316.59-.732.59-1.248zm14.48-1.459V31h-2.23V18.203h4.9c1.43 0 2.56.372 3.4 1.116.84.745 1.27 1.729 1.27 2.954 0 1.253-.42 2.229-1.24 2.926-.82.697-1.97 1.046-3.46 1.046h-2.64zm0-1.784h2.67c.79 0 1.39-.185 1.81-.554.42-.375.62-.914.62-1.617 0-.691-.21-1.242-.63-1.652-.42-.416-1-.63-1.74-.642h-2.73v4.465zm21.3.475c0 1.253-.22 2.355-.65 3.304-.43.944-1.06 1.67-1.86 2.18-.81.504-1.73.756-2.78.756-1.04 0-1.96-.252-2.78-.756-.81-.51-1.43-1.234-1.88-2.171-.44-.938-.66-2.018-.67-3.243v-.72c0-1.249.22-2.35.66-3.306.45-.955 1.07-1.684 1.87-2.188.81-.51 1.74-.765 2.78-.765 1.04 0 1.97.252 2.77.756.81.498 1.43 1.219 1.87 2.162.44.938.66 2.03.67 3.279v.712zm-2.22-.668c0-1.418-.27-2.505-.81-3.261-.54-.756-1.29-1.134-2.28-1.134-.96 0-1.71.378-2.26 1.134-.54.75-.81 1.813-.82 3.19v.739c0 1.406.27 2.493.81 3.26.55.768 1.32 1.152 2.29 1.152.98 0 1.74-.375 2.27-1.125s.8-1.846.8-3.287v-.668zm13.71 1.02h-5.25v3.937h6.14V31h-8.37V18.203h8.31v1.793h-6.08v3.533h5.25v1.758zm13.92-5.292h-3.99V31h-2.2V19.996h-3.96v-1.793h10.15v1.793zm8.19 6.073h-2.47V31h-2.23V18.203h4.5c1.48 0 2.62.331 3.42.993.8.662 1.21 1.62 1.21 2.874 0 .856-.21 1.574-.63 2.154-.41.574-.98 1.016-1.72 1.327l2.87 5.335V31h-2.38l-2.57-4.93zm-2.47-1.784h2.28c.75 0 1.34-.187 1.76-.562.42-.381.63-.9.63-1.556 0-.686-.19-1.216-.59-1.59-.38-.376-.96-.57-1.74-.58h-2.34v4.288zm14.56-.017l2.94-6.065h2.46l-4.29 8.086V31h-2.23v-4.71l-4.3-8.087h2.47l2.95 6.065z"/><path stroke="#000" stroke-width="2" d="M1008 1h201v46h-201z"/></svg>' ); ?>" />
</picture>
</div> </div>
<div class="about__header-title"> <div class="about__header-container">
<p> <div class="about__header-title">
<?php _e( 'WordPress' ); ?> <p>
<span><?php echo $display_version; ?></span> <?php _e( 'WordPress' ); ?>
</p> <?php echo $display_version; ?>
</p>
</div>
<div class="about__header-text">
<?php _e( 'Sharing your stories has never been easier' ); ?>
</div>
<div class="about__header-badge">
<img alt="<?php _e( 'New' ); ?>" src="data:image/svg+xml,<?php echo rawurlencode( '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 153 153" width="115"><circle cx="76.5" cy="76.5" r="76.5" fill="#000"/><path fill="#D1CFE4" d="M53.333 86h-2.827L39.769 69.564V86H36.94V64.672h2.828L50.535 81.18V64.67h2.798V86zm26.05-9.858h-9.242V83.7h10.737V86h-13.55V64.672h13.403v2.314h-10.59v6.856h9.243v2.3zm18.596 3.134l.41 2.813.6-2.534 4.219-14.883h2.373l4.116 14.883.586 2.578.454-2.871 3.311-14.59h2.827L111.704 86h-2.563l-4.395-15.542-.337-1.626-.337 1.626L99.517 86h-2.564l-5.156-21.328h2.812l3.37 14.604z"/></svg>' ); ?>" />
</div>
</div> </div>
<nav class="about__header-navigation nav-tab-wrapper wp-clearfix" aria-label="<?php esc_attr_e( 'Secondary menu' ); ?>"> <nav class="about__header-navigation nav-tab-wrapper wp-clearfix" aria-label="<?php esc_attr_e( 'Secondary menu' ); ?>">
@ -38,8 +50,8 @@ require_once ABSPATH . 'wp-admin/admin-header.php';
</nav> </nav>
</div> </div>
<div class="about__section is-feature has-subtle-background-color"> <div class="about__section is-feature">
<h1> <h1 class="aligncenter">
<?php <?php
printf( printf(
/* translators: %s: The current WordPress version number. */ /* translators: %s: The current WordPress version number. */
@ -52,282 +64,170 @@ require_once ABSPATH . 'wp-admin/admin-header.php';
<?php <?php
printf( printf(
/* translators: %s: The current WordPress version number. */ /* translators: %s: The current WordPress version number. */
__( 'In WordPress %s, your site gets new power in three major areas: speed, search, and security.' ), __( 'WordPress %s brings you countless ways to set your ideas free and bring them to life. With a brand-new default theme as your canvas, it supports an ever-growing collection of blocks as your brushes. Paint with words. Pictures. Sound. Or rich embedded media.' ),
$display_version $display_version
); );
?> ?>
</p> </p>
</div> </div>
<div class="has-background-image" style="background-image: url('data:image/svg+xml,<?php echo rawurlencode( '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1035 884"><circle cx="503" cy="434" r="310" fill="#E3DAD1"/><circle cx="831" cy="204" r="204" fill="#D1CFE4"/><circle cx="113.5" cy="770.5" r="113.5" fill="#D1DEE4"/></svg>' ); ?>');">
<div class="about__section has-2-columns is-wider-left has-transparent-background-color">
<div class="column">
<h2><?php _e( 'Greater layout flexibility' ); ?></h2>
<p><?php _e( 'Bring your stories to life with more tools that let you edit your layout with or without code. Single column blocks, designs using mixed widths and columns, full-width headers, and videos in your cover block—make small changes or big statements with equal ease!' ); ?></p>
</div>
</div>
<div class="about__section has-2-columns is-wider-right has-transparent-background-color">
<div class="column"><!-- space for alignment. --></div>
<div class="column">
<h2><?php _e( 'More block patterns' ); ?></h2>
<p><?php _e( 'In select themes, preconfigured block patterns make setting up standard pages on your site a breeze. Find the power of patterns to streamline your workflow, or share some of that power with your clients and save yourself a few clicks.' ); ?></p>
</div>
</div>
<div class="about__section has-2-columns is-wider-left has-transparent-background-color">
<div class="column">
<h2><?php _e( 'Upload video captions directly in the block editor' ); ?></h2>
<p><?php _e( 'To help you add subtitles or captions to your videos, you can now upload them within your post or page. This makes it easier than ever to make your videos accessible for anyone who needs or prefers to use subtitles.' ); ?></p>
</div>
</div>
</div>
<hr class="is-large" />
<div class="about__section has-1-column">
<h2><?php _e( 'Twenty Twenty-One is here!' ); ?></h2>
<p>
<?php
_e( 'Twenty Twenty-One is a blank canvas for your ideas, and the block editor is the best brush. It is built for the block editor and packed with brand-new block patterns you can only get in the default themes. Try different layouts in a matter of seconds, and let the themes eye-catching, yet timeless design make your work shine.' );
?>
</p>
</div>
<hr /> <hr />
<div class="about__section has-subtle-background-color"> <div class="about__section">
<div class="column"> <div class="column about__image is-edge-to-edge">
<h2><?php _e( 'Maintenance and Security Releases' ); ?></h2> <img src="https://s.w.org/images/core/5.6/twentytwentyone-layouts.jpg" alt="" />
</div>
</div>
<hr />
<div class="about__section has-overlap-style">
<div class="column is-vertically-aligned-center is-top-layer">
<p> <p>
<?php <?php
printf( printf(
/* translators: 1: WordPress version number, 2: Plural number of bugs. */ /* translators: 1: WordPress accessibility-ready guidelines link, 2: WCAG information link. */
_n( __( 'Whats more, this default theme puts accessibility at the heart of your website. It conforms to the <a href="%1$s">WordPress accessibility-ready guidelines</a> and addresses several more specialized standards from the <a href="%2$s">Web Content Accessibility Guidelines (WCAG) 2.1 at level AAA</a>. It will help you meet the highest level of international accessibility standards when you create accessible content and choose plugins which are accessible too!' ),
'<strong>Version %1$s</strong> addressed %2$s bug.', 'https://make.wordpress.org/themes/handbook/review/accessibility/',
'<strong>Version %1$s</strong> addressed %2$s bugs.', 'https://www.w3.org/WAI/WCAG2AAA-Conformance'
1
),
'5.5.3',
number_format_i18n( 1 )
);
?>
<?php
printf(
/* translators: %s: HelpHub URL. */
__( 'For more information, see <a href="%s">the release notes</a>.' ),
sprintf(
/* translators: %s: WordPress version. */
esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ),
sanitize_title( '5.5.3' )
)
);
?>
</p>
<p>
<?php
printf(
/* translators: 1: WordPress version number, 2: plural number of bugs. More than one security issue. */
_n(
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
14
),
'5.5.2',
number_format_i18n( 14 )
);
?>
<?php
printf(
/* translators: %s: HelpHub URL */
__( 'For more information, see <a href="%s">the release notes</a>.' ),
sprintf(
/* translators: %s: WordPress version */
esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ),
sanitize_title( '5.5.2' )
)
);
?>
</p>
<p>
<?php
printf(
/* translators: 1: WordPress version number, 2: Plural number of bugs. */
_n(
'<strong>Version %1$s</strong> addressed %2$s bug.',
'<strong>Version %1$s</strong> addressed %2$s bugs.',
44
),
'5.5.1',
number_format_i18n( 44 )
);
?>
<?php
printf(
/* translators: %s: HelpHub URL. */
__( 'For more information, see <a href="%s">the release notes</a>.' ),
sprintf(
/* translators: %s: WordPress version. */
esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ),
sanitize_title( '5.5.1' )
)
); );
?> ?>
</p> </p>
</div> </div>
</div> <div class="column about__image aligncenter is-edge-to-edge">
<img src="data:image/svg+xml,<?php echo rawurlencode( '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 440 291"><circle cx="294.5" cy="145.5" r="145.5" fill="#E5D1D1"/><circle cx="106.5" cy="106.5" r="106.5" fill="#EEEADD"/></svg>' ); ?>" style="max-width:25em" alt="" />
<hr />
<div class="about__section has-1-column">
<div class="column">
<h2><?php _e( 'Speed' ); ?></h2>
<p><strong><?php _e( 'Posts and pages feel faster, thanks to lazy-loaded images.' ); ?></strong></p>
<p><?php _e( 'Images give your story a lot of impact, but they can sometimes make your site seem slow.' ); ?></p>
<p><?php _e( 'In WordPress 5.5, images wait to load until theyre just about to scroll into view. The technical term is lazy loading.' ); ?></p>
<p><?php _e( 'On mobile, lazy loading can also keep browsers from loading files meant for other devices. That can save your readers money on data — and help preserve battery life.' ); ?></p>
</div>
</div>
<div class="about__section has-1-column">
<div class="column">
<h2><?php _ex( 'Search', 'sitemap' ); ?></h2>
<p><strong><?php _e( 'Say hello to your new sitemap.' ); ?></strong></p>
<p><?php _e( 'WordPress sites work well with search engines.' ); ?></p>
<p><?php _e( 'Now, by default, WordPress 5.5 includes an XML sitemap that helps search engines discover your most important pages from the very minute you go live.' ); ?></p>
<p><?php _e( 'So more people will find your site sooner, giving you more time to engage, retain and convert them to subscribers, customers or whatever fits your definition of success.' ); ?></p>
</div> </div>
</div> </div>
<hr /> <hr />
<div class="about__section has-2-columns has-accent-background-color is-wider-right"> <div class="about__section has-2-columns">
<div class="column"> <div class="column is-vertically-aligned-center">
<h2><?php _e( 'Security' ); ?></h2> <h3 class="is-larger-heading"><?php _e( 'A rainbow of soft pastels' ); ?></h3>
<p><strong><?php _e( 'Auto-updates for Plugins and Themes' ); ?></strong></p>
<p><?php _e( 'Now you can set plugins and themes to update automatically — or not! — in the WordPress admin. So you always know your site is running the latest code available.' ); ?></p>
<p><?php _e( 'You can also turn auto-updates on or off for each plugin or theme you have installed — all on the same screens youve always used.' ); ?></p>
<p><strong><?php _e( 'Update by uploading ZIP files' ); ?></strong></p>
<p><?php _e( 'If updating plugins and themes manually is your thing, now thats easier too — just upload a ZIP file.' ); ?></p>
</div> </div>
<div class="column about__image is-vertically-aligned-center"> <div class="column">
<figure aria-labelledby="about-security" class="about__image"> <p><?php _e( 'Perfect for a new year, Twenty Twenty-One gives you a range of pre-selected color palettes in pastel, all of which meet AAA standards for contrast. You can also choose your own background color for the theme, and the theme chooses accessibility-conscious text colors for you — automatically!' ); ?></p>
<video controls poster="https://s.w.org/images/core/5.5/auto-updates-poster.png"> <p><?php _e( 'Need more flexibility than that? You can also choose your own color palette from the color picker.' ); ?></p>
<source src="https://s.w.org/images/core/5.5/auto-updates.mp4" type="video/mp4" /> </div>
<source src="https://s.w.org/images/core/5.5/auto-updates.webm" type="video/webm" /> </div>
</video>
<figcaption id="about-security" class="screen-reader-text"><?php _e( 'Video: Installed plugin screen, which shows a new column, Automatic Updates. In this column are buttons that say "Enable auto-updates". When clicked, the auto-updates feature is turned on for that plugin, and the button switches to say "Disable auto-updates".' ); ?></figcaption> <div class="about__section">
</figure> <div class="column about__image is-edge-to-edge">
<img src="https://s.w.org/images/core/5.6/twentytwentyone-rainbow.png" alt="" />
</div> </div>
</div> </div>
<hr /> <hr />
<hr class="is-large" />
<div class="about__section has-subtle-background-color"> <div class="about__section">
<div class="column"> <header class="column is-edge-to-edge">
<h2><?php _e( 'Highlights from the block editor' ); ?></h2> <h2><?php _e( 'Improvements for everyone' ); ?></h2>
<p><?php _e( 'Once again, the latest WordPress release packs a long list of exciting new features for the block editor. For example:' ); ?></p>
</div>
</div>
<div class="about__section has-2-columns has-subtle-background-color">
<div class="column about__image is-vertically-aligned-center">
<figure aria-labelledby="about-block-pattern" class="about__image">
<video controls poster="https://s.w.org/images/core/5.5/block-patterns-poster.png">
<source src="https://s.w.org/images/core/5.5/block-patterns.mp4" type="video/mp4" />
<source src="https://s.w.org/images/core/5.5/block-patterns.webm" type="video/webm" />
</video>
<figcaption id="about-block-pattern" class="screen-reader-text"><?php _e( 'Video: In the editor, the block inserter shows two tabs, Blocks and Patterns. The Patterns tab is selected. There are different block layouts in this tab. After scrolling through options including buttons and columns, a pattern called "Large header with a heading" is chosen. This adds a cover block, which is customized with a photo and the name of the WordPress 5.5 jazz musician.' ); ?></figcaption>
</figure>
<hr />
<figure aria-labelledby="about-image-editor" class="about__image">
<video controls poster="https://s.w.org/images/core/5.5/inline-image-editing-poster.png">
<source src="https://s.w.org/images/core/5.5/inline-image-editing.mp4" type="video/mp4" />
<source src="https://s.w.org/images/core/5.5/inline-image-editing-1.webm" type="video/webm" />
</video>
<figcaption id="about-image-editor" class="screen-reader-text"><?php _e( 'Video: An image is added with an image block. In the block toolbar, an icon called "Crop" is selected, which changes the toolbar to show image resizing tools. First, zoom is used to zoom into the center of the image. Next, aspect ratio is clicked. This shows a dropdown of common aspect ratios. Square is chosen, and the image is moved within the new square outline. The crop is completed by clicking "Apply."' ); ?></figcaption>
</figure>
</div>
<div class="column">
<h3><?php _e( 'Block patterns' ); ?></h3>
<p><?php _e( 'New block patterns make it simple and fun to create complex, beautiful layouts, using combinations of text and media that you can mix and match to fit your story.' ); ?></p>
<p><?php _e( 'You will also find block patterns in a wide variety of plugins and themes, with more added all the time. Pick any of them from a single place — just click and go!' ); ?></p>
<h3><?php _e( 'Inline image editing' ); ?></h3>
<p><?php _e( 'Crop, rotate, and zoom your photos right from the image block. If you spend a lot of time on images, this could save you hours!' ); ?></p>
<h3><?php _e( 'The New Block Directory' ); ?></h3>
<p><?php _e( 'Now its easier than ever to find the block you need. The new block directory is built right into the block editor, so you can install new block types to your site without ever leaving the editor.' ); ?></p>
<h3><?php _e( 'And so much more.' ); ?></h3>
<p><?php _e( 'The highlights above are a tiny fraction of the new block editor features youve just installed. Open the block editor and enjoy!' ); ?></p>
</div>
</div>
<hr />
<div class="about__section has-1-column">
<div class="column">
<h2><?php _e( 'Accessibility' ); ?></h2>
<p><?php _e( 'Every release adds improvements to the accessible publishing experience, and that remains true for WordPress 5.5.' ); ?></p>
<p><?php _e( 'Now you can copy links in media screens and modal dialogs with a button, instead of trying to highlight a line of text.' ); ?></p>
<p><?php _e( 'You can also move meta boxes with the keyboard, and edit images in WordPress with your assistive device, as it can read you the instructions in the image editor.' ); ?></p>
</div>
</div>
<hr />
<div class="about__section has-subtle-background-color has-2-columns">
<header class="is-section-header">
<h2><?php _e( 'For developers' ); ?></h2>
<p><?php _e( '5.5 also brings a big box of changes just for developers.' ); ?></p>
</header> </header>
<div class="column">
<h3><?php _e( 'Server-side registered blocks in the REST API' ); ?></h3>
<p><?php _e( 'The addition of block types endpoints means that JavaScript apps (like the block editor) can retrieve definitions for any blocks registered on the server.' ); ?></p>
</div>
<div class="column">
<h3><?php _e( 'Dashicons' ); ?></h3>
<p><?php _e( 'The Dashicons library has received its final update in 5.5. It adds 39 block editor icons along with 26 others.' ); ?></p>
</div>
</div> </div>
<div class="about__section has-subtle-background-color has-2-columns"> <div class="about__section has-3-columns has-gutters">
<div class="column"> <div class="column has-border" style="background-color:#eeeadd;background-color:var(--global--color-yellow)">
<h3><?php _e( 'Defining environments' ); ?></h3> <h3><?php _e( 'Expanding auto-updates' ); ?></h3>
<p><?php _e( 'For years, only developers have been able to update WordPress automatically. But now, you have that option, right in your dashboard. If this is your first site, you have auto-updates ready to go, right now! Upgrading an existing site? No problem! Everything is the same as it was before.' ); ?></p>
</div>
<div class="column has-border" style="background-color:#e4d1d1;background-color:var(--global--color-red)">
<h3><?php _e( 'Accessibility statement template' ); ?></h3>
<p> <p>
<?php <?php
printf( printf(
/* translators: %s: 'wp_get_environment_type' function name. */ /* translators: %s: Accessibility statement feature plugin link. */
__( 'WordPress now has a standardized way to define a sites environment type (staging, production, etc). Retrieve that type with %s and execute only the appropriate code.' ), __( 'Even if youre not an expert, you can start letting folks know about your sites commitment to accessibility at the click of a button! The new <a href="%s">feature plugin</a> includes template copy for you to update and publish, and its written to support different contexts and jurisdictions.' ),
'<code>wp_get_environment_type()</code>' 'https://github.com/10degrees/accessibility-statement-plugin'
); );
?> ?>
</p> </p>
</div> </div>
<div class="column has-border" style="background-color:#d1d1e4;background-color:var(--global--color-purple)">
<h3><?php _e( 'Built-in patterns' ); ?></h3>
<p><?php _e( 'If youve not had the chance to play with block patterns yet, all default themes now feature a range of block patterns that let you master complex layouts with minimal effort. Customize the patterns to your liking with the copy, images and colors that fit your story or brand.' ); ?></p>
</div>
</div>
<hr />
<div class="about__section has-2-columns">
<h2 class="is-section-header"><?php _e( 'For developers' ); ?></h2>
<div class="column"> <div class="column">
<h3><?php _e( 'Passing data to template files' ); ?></h3> <h3><?php _e( 'REST API authentication with Application Passwords' ); ?></h3>
<p><?php _e( 'Thanks to the APIs new Application Passwords authorization feature, third-party apps can connect to your site seamlessly and securely. This new REST API feature lets you see what apps are connecting to your site and control what they do.' ); ?></p>
</div>
<div class="column">
<h3><?php _e( 'More PHP 8 support' ); ?></h3>
<p> <p>
<?php <?php
printf( printf(
/* translators: %1$s: 'get_header' function name, %2$s: 'get_template_part' function name, %3$s: '$args' variable name. */ /* translators: %s: WordPress and PHP 8 dev note link. */
__( 'The template loading functions (%1$s, %2$s, etc.) have a new %3$s argument. So now you can pass an entire arrays worth of data to those templates.' ), __( '5.6 marks the first steps toward WordPress Core support for PHP 8. Now is a great time to start planning how your WordPress products, services and sites can support the latest PHP version. For more information about what to expect next, <a href="%s">read the PHP 8 developer note</a>.' ),
'<code>get_header()</code>', 'https://make.wordpress.org/core/2020/11/23/wordpress-and-php-8-0/'
'<code>get_template_part()</code>',
'<code>$args</code>'
); );
?> ?>
</p> </p>
</div> </div>
</div> </div>
<div class="about__section">
<div class="about__section has-subtle-background-color">
<div class="column"> <div class="column">
<h3><?php _e( 'More changes for developers' ); ?></h3> <h3><?php _e( 'jQuery' ); ?></h3>
<ul> <p>
<li><?php _e( 'The PHPMailer library just got a major update, going from version 5.2.27 to 6.1.6.' ); ?></li> <?php
<li> printf(
<?php /* translators: %s: jQuery update test plugin link. */
printf( __( 'Updates to jQuery in WordPress take place across three releases: 5.5, 5.6, and 5.7. As we reach the mid-point of this process, run the <a href="%s">update test plugin</a> to check your sites for errors ahead of time.' ),
/* translators: %s: 'redirect_guess_404_permalink' function name. */ current_user_can( 'install_plugins' ) ?
__( 'Now get more fine-grained control of %s.' ), esc_url( network_admin_url( 'plugin-install.php?tab=search&type=term&s=slug:wp-jquery-update-test' ) ) :
'<code>redirect_guess_404_permalink()</code>' esc_url( __( 'https://wordpress.org/plugins/wp-jquery-update-test/' ) )
); );
?> ?>
</li> </p>
<li> <p>
<?php <?php
printf( printf(
/* translators: %s: 'wp_opcache_invalidate' function name. */ /* translators: %s: jQuery Migrate plugin link. */
__( 'Sites that use PHPs OPcache will see more reliable cache invalidation, thanks to the new %s function during updates (including to plugins and themes).' ), __( 'If you find issues with the way your site looks (e.g. a slider doesnt work, a button is stuck — that sort of thing), install the <a href="%s">jQuery Migrate plugin</a>.' ),
'<code>wp_opcache_invalidate()</code>' current_user_can( 'install_plugins' ) ?
); esc_url( network_admin_url( 'plugin-install.php?tab=search&type=term&s=slug:enable-jquery-migrate-helper' ) ) :
?> esc_url( __( 'https://wordpress.org/plugins/enable-jquery-migrate-helper/' ) )
</li> );
<li><?php _e( 'Custom post types associated with the category taxonomy can now opt-in to supporting the default term.' ); ?></li> ?>
<li> </p>
<?php
printf(
/* translators: %s: 'register_taxonomy' function name. */
__( 'Default terms can now be specified for custom taxonomies in %s.' ),
'<code>register_taxonomy()</code>'
);
?>
</li>
<li>
<?php
printf(
/* translators: %s: 'register_meta' function name. */
__( 'The REST API now officially supports specifying default metadata values through %s.' ),
'<code>register_meta()</code>'
);
?>
</li>
<li><?php _e( 'You will find updated versions of these bundled libraries: SimplePie, Twemoji, Masonry, imagesLoaded, getID3, Moment.js, and clipboard.js.' ); ?></li>
</ul>
</div> </div>
</div> </div>
@ -339,9 +239,9 @@ require_once ABSPATH . 'wp-admin/admin-header.php';
<p> <p>
<?php <?php
printf( printf(
/* translators: %s: WordPress 5.5 Field Guide link. */ /* translators: %s: WordPress 5.6 Field Guide link. */
__( 'Theres a lot more for developers to love in WordPress 5.5. To discover more and learn how to make these changes shine on your sites, themes, plugins and more, check the <a href="%s">WordPress 5.5 Field Guide.</a>' ), __( 'Check out the latest version of the WordPress Field Guide. It highlights developer notes for each change you may want to be aware of. <a href="%s">WordPress 5.6 Field Guide.</a>' ),
'https://make.wordpress.org/core/wordpress-5-5-field-guide/' 'https://make.wordpress.org/core/2020/11/20/wordpress-5-6-field-guide/'
); );
?> ?>
</p> </p>
@ -353,7 +253,7 @@ require_once ABSPATH . 'wp-admin/admin-header.php';
<div class="return-to-dashboard"> <div class="return-to-dashboard">
<?php if ( current_user_can( 'update_core' ) && isset( $_GET['updated'] ) ) : ?> <?php if ( current_user_can( 'update_core' ) && isset( $_GET['updated'] ) ) : ?>
<a href="<?php echo esc_url( self_admin_url( 'update-core.php' ) ); ?>"> <a href="<?php echo esc_url( self_admin_url( 'update-core.php' ) ); ?>">
<?php is_multisite() ? _e( 'Return to Updates' ) : _e( 'Return to Dashboard &rarr; Updates' ); ?> <?php is_multisite() ? _e( 'Go to Updates' ) : _e( 'Go to Dashboard &rarr; Updates' ); ?>
</a> | </a> |
<?php endif; ?> <?php endif; ?>
<a href="<?php echo esc_url( self_admin_url() ); ?>"><?php is_blog_admin() ? _e( 'Go to Dashboard &rarr; Home' ) : _e( 'Go to Dashboard' ); ?></a> <a href="<?php echo esc_url( self_admin_url() ); ?>"><?php is_blog_admin() ? _e( 'Go to Dashboard &rarr; Home' ) : _e( 'Go to Dashboard' ); ?></a>

View File

@ -143,7 +143,15 @@ $core_actions_post = array(
); );
// Deprecated. // Deprecated.
$core_actions_post_deprecated = array( 'wp-fullscreen-save-post', 'press-this-save-post', 'press-this-add-category' ); $core_actions_post_deprecated = array(
'wp-fullscreen-save-post',
'press-this-save-post',
'press-this-add-category',
'health-check-dotorg-communication',
'health-check-is-in-debug-mode',
'health-check-background-updates',
'health-check-loopback-requests',
);
$core_actions_post = array_merge( $core_actions_post, $core_actions_post_deprecated ); $core_actions_post = array_merge( $core_actions_post, $core_actions_post_deprecated );
// Register core Ajax calls. // Register core Ajax calls.

View File

@ -170,7 +170,7 @@ if ( $current_screen->taxonomy ) {
$admin_body_class .= ' taxonomy-' . $current_screen->taxonomy; $admin_body_class .= ' taxonomy-' . $current_screen->taxonomy;
} }
$admin_body_class .= ' branch-' . str_replace( array( '.', ',' ), '-', floatval( get_bloginfo( 'version' ) ) ); $admin_body_class .= ' branch-' . str_replace( array( '.', ',' ), '-', (float) get_bloginfo( 'version' ) );
$admin_body_class .= ' version-' . str_replace( '.', '-', preg_replace( '/^([.0-9]+).*/', '$1', get_bloginfo( 'version' ) ) ); $admin_body_class .= ' version-' . str_replace( '.', '-', preg_replace( '/^([.0-9]+).*/', '$1', get_bloginfo( 'version' ) ) );
$admin_body_class .= ' admin-color-' . sanitize_html_class( get_user_option( 'admin_color' ), 'fresh' ); $admin_body_class .= ' admin-color-' . sanitize_html_class( get_user_option( 'admin_color' ), 'fresh' );
$admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_user_locale() ) ) ); $admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_user_locale() ) ) );

View File

@ -39,8 +39,8 @@ if ( ! current_user_can( 'upload_files' ) ) {
} }
// Just fetch the detail form for that attachment. // Just fetch the detail form for that attachment.
if ( isset( $_REQUEST['attachment_id'] ) && intval( $_REQUEST['attachment_id'] ) && $_REQUEST['fetch'] ) { if ( isset( $_REQUEST['attachment_id'] ) && (int) $_REQUEST['attachment_id'] && $_REQUEST['fetch'] ) {
$id = intval( $_REQUEST['attachment_id'] ); $id = (int) $_REQUEST['attachment_id'];
$post = get_post( $id ); $post = get_post( $id );
if ( 'attachment' !== $post->post_type ) { if ( 'attachment' !== $post->post_type ) {
wp_die( __( 'Invalid post type.' ) ); wp_die( __( 'Invalid post type.' ) );

View File

@ -0,0 +1,308 @@
<?php
/**
* Authorize Application Screen
*
* @package WordPress
* @subpackage Administration
*/
/** WordPress Administration Bootstrap */
require_once __DIR__ . '/admin.php';
$error = null;
$new_password = '';
// This is the no-js fallback script. Generally this will all be handled by `auth-app.js`
if ( isset( $_POST['action'] ) && 'authorize_application_password' === $_POST['action'] ) {
check_admin_referer( 'authorize_application_password' );
$success_url = $_POST['success_url'];
$reject_url = $_POST['reject_url'];
$app_name = $_POST['app_name'];
$app_id = $_POST['app_id'];
$redirect = '';
if ( isset( $_POST['reject'] ) ) {
if ( $reject_url ) {
$redirect = $reject_url;
} else {
$redirect = admin_url();
}
} elseif ( isset( $_POST['approve'] ) ) {
$created = WP_Application_Passwords::create_new_application_password(
get_current_user_id(),
array(
'name' => $app_name,
'app_id' => $app_id,
)
);
if ( is_wp_error( $created ) ) {
$error = $created;
} else {
list( $new_password ) = $created;
if ( $success_url ) {
$redirect = add_query_arg(
array(
'site_url' => urlencode( site_url() ),
'user_login' => urlencode( wp_get_current_user()->user_login ),
'password' => urlencode( $new_password ),
),
$success_url
);
}
}
}
if ( $redirect ) {
// Explicitly not using wp_safe_redirect b/c sends to arbitrary domain.
wp_redirect( $redirect );
exit;
}
}
$title = __( 'Authorize Application' );
$app_name = ! empty( $_REQUEST['app_name'] ) ? $_REQUEST['app_name'] : '';
$app_id = ! empty( $_REQUEST['app_id'] ) ? $_REQUEST['app_id'] : '';
$success_url = ! empty( $_REQUEST['success_url'] ) ? $_REQUEST['success_url'] : null;
if ( ! empty( $_REQUEST['reject_url'] ) ) {
$reject_url = $_REQUEST['reject_url'];
} elseif ( $success_url ) {
$reject_url = add_query_arg( 'success', 'false', $success_url );
} else {
$reject_url = null;
}
$user = wp_get_current_user();
$request = compact( 'app_name', 'app_id', 'success_url', 'reject_url' );
$is_valid = wp_is_authorize_application_password_request_valid( $request, $user );
if ( is_wp_error( $is_valid ) ) {
wp_die(
__( 'The Authorize Application request is not allowed.' ) . ' ' . implode( ' ', $is_valid->get_error_messages() ),
__( 'Cannot Authorize Application' )
);
}
if ( ! empty( $_SERVER['PHP_AUTH_USER'] ) || ! empty( $_SERVER['PHP_AUTH_PW'] ) ) {
wp_die(
__( 'Your website appears to use Basic Authentication, which is not currently compatible with Application Passwords.' ),
__( 'Cannot Authorize Application' ),
array(
'response' => 501,
'link_text' => __( 'Go Back' ),
'link_url' => $reject_url ? add_query_arg( 'error', 'disabled', $reject_url ) : admin_url(),
)
);
}
if ( ! wp_is_application_passwords_available_for_user( $user ) ) {
if ( wp_is_application_passwords_available() ) {
$message = __( 'Application passwords are not available for your account. Please contact the site administrator for assistance.' );
} else {
$message = __( 'Application passwords are not available.' );
}
wp_die(
$message,
__( 'Cannot Authorize Application' ),
array(
'response' => 501,
'link_text' => __( 'Go Back' ),
'link_url' => $reject_url ? add_query_arg( 'error', 'disabled', $reject_url ) : admin_url(),
)
);
}
wp_enqueue_script( 'auth-app' );
wp_localize_script(
'auth-app',
'authApp',
array(
'site_url' => site_url(),
'user_login' => $user->user_login,
'success' => $success_url,
'reject' => $reject_url ? $reject_url : admin_url(),
)
);
require_once ABSPATH . 'wp-admin/admin-header.php';
?>
<div class="wrap">
<h1><?php echo esc_html( $title ); ?></h1>
<?php if ( is_wp_error( $error ) ) : ?>
<div class="notice notice-error"><p><?php echo $error->get_error_message(); ?></p></div>
<?php endif; ?>
<div class="card auth-app-card">
<h2 class="title"><?php __( 'An application would like to connect to your account.' ); ?></h2>
<?php if ( $app_name ) : ?>
<p>
<?php
printf(
/* translators: %s: Application name. */
__( 'Would you like to give the application identifying itself as %s access to your account? You should only do this if you trust the app in question.' ),
'<strong>' . esc_html( $app_name ) . '</strong>'
);
?>
</p>
<?php else : ?>
<p><?php _e( 'Would you like to give this application access to your account? You should only do this if you trust the app in question.' ); ?></p>
<?php endif; ?>
<?php
if ( is_multisite() ) {
$blogs = get_blogs_of_user( $user->ID, true );
$blogs_count = count( $blogs );
if ( $blogs_count > 1 ) {
?>
<p>
<?php
printf(
/* translators: 1: URL to my-sites.php, 2: Number of blogs the user has. */
_n(
'This will grant access to <a href="%1$s">the %2$s blog in this installation that you have permissions on</a>.',
'This will grant access to <a href="%1$s">all %2$s blogs in this installation that you have permissions on</a>.',
$blogs_count
),
admin_url( 'my-sites.php' ),
number_format_i18n( $blogs_count )
);
?>
</p>
<?php
}
}
?>
<?php if ( $new_password ) : ?>
<div class="notice notice-success notice-alt below-h2">
<p class="application-password-display">
<label for="new-application-password-value">
<?php
printf(
/* translators: %s: Application name. */
esc_html__( 'Your new password for %s is:' ),
'<strong>' . esc_html( $app_name ) . '</strong>'
);
?>
</label>
<input id="new-application-password-value" type="text" class="code" readonly="readonly" value="<?php esc_attr( WP_Application_Passwords::chunk_password( $new_password ) ); ?>" />
</p>
<p><?php _e( 'Be sure to save this in a safe location. You will not be able to retrieve it.' ); ?></p>
</div>
<?php
/**
* Fires in the Authorize Application Password new password section.
*
* @since 5.6.0
*
* @param string $new_password The newly generated application password.
* @param array $request The array of request data. All arguments are optional and may be empty.
* @param WP_User $user The user authorizing the application.
*/
do_action( 'wp_authorize_application_password_form', $request, $user );
?>
<?php else : ?>
<form action="<?php echo esc_url( admin_url( 'authorize-application.php' ) ); ?>" method="post" class="form-wrap">
<?php wp_nonce_field( 'authorize_application_password' ); ?>
<input type="hidden" name="action" value="authorize_application_password" />
<input type="hidden" name="app_id" value="<?php echo esc_attr( $app_id ); ?>" />
<input type="hidden" name="success_url" value="<?php echo esc_url( $success_url ); ?>" />
<input type="hidden" name="reject_url" value="<?php echo esc_url( $reject_url ); ?>" />
<div class="form-field">
<label for="app_name"><?php _e( 'New Application Password Name' ); ?></label>
<input type="text" id="app_name" name="app_name" value="<?php echo esc_attr( $app_name ); ?>" placeholder="<?php esc_attr_e( 'WordPress App on My Phone' ); ?>" required />
</div>
<?php
/**
* Fires in the Authorize Application Password form before the submit buttons.
*
* @since 5.6.0
*
* @param array $request {
* The array of request data. All arguments are optional and may be empty.
*
* @type string $app_name The suggested name of the application.
* @type string $success_url The url the user will be redirected to after approving the application.
* @type string $reject_url The url the user will be redirected to after rejecting the application.
* }
* @param WP_User $user The user authorizing the application.
*/
do_action( 'wp_authorize_application_password_form', $request, $user );
?>
<?php
submit_button(
__( 'Yes, I approve of this connection.' ),
'primary',
'approve',
false,
array(
'aria-describedby' => 'description-approve',
)
);
?>
<p class="description" id="description-approve">
<?php
if ( $success_url ) {
printf(
/* translators: %s: The URL the user is being redirected to. */
__( 'You will be sent to %s' ),
'<strong><kbd>' . esc_html(
add_query_arg(
array(
'site_url' => site_url(),
'user_login' => $user->user_login,
'password' => '[------]',
),
$success_url
)
) . '</kbd></strong>'
);
} else {
_e( 'You will be given a password to manually enter into the application in question.' );
}
?>
</p>
<?php
submit_button(
__( 'No, I do not approve of this connection.' ),
'secondary',
'reject',
false,
array(
'aria-describedby' => 'description-reject',
)
);
?>
<p class="description" id="description-reject">
<?php
if ( $reject_url ) {
printf(
/* translators: %s: The URL the user is being redirected to. */
__( 'You will be sent to %s' ),
'<strong><kbd>' . esc_html( $reject_url ) . '</kbd></strong>'
);
} else {
_e( 'You will be returned to the WordPress Dashboard, and no changes will be made.' );
}
?>
</p>
</form>
<?php endif; ?>
</div>
</div>
<?php
require_once ABSPATH . 'wp-admin/admin-footer.php';

View File

@ -215,9 +215,9 @@ switch ( $action ) {
$submitted = sprintf( $submitted = sprintf(
/* translators: 1: Comment date, 2: Comment time. */ /* translators: 1: Comment date, 2: Comment time. */
__( '%1$s at %2$s' ), __( '%1$s at %2$s' ),
/* translators: Comment date format. See https://www.php.net/date */ /* translators: Comment date format. See https://www.php.net/manual/datetime.format.php */
get_comment_date( __( 'Y/m/d' ), $comment ), get_comment_date( __( 'Y/m/d' ), $comment ),
/* translators: Comment time format. See https://www.php.net/date */ /* translators: Comment time format. See https://www.php.net/manual/datetime.format.php */
get_comment_date( __( 'g:i a' ), $comment ) get_comment_date( __( 'g:i a' ), $comment )
); );
if ( 'approved' === wp_get_comment_status( $comment ) && ! empty( $comment->comment_post_ID ) ) { if ( 'approved' === wp_get_comment_status( $comment ) && ! empty( $comment->comment_post_ID ) ) {

View File

@ -21,15 +21,27 @@ $credits = wp_credits();
<div class="wrap about__container"> <div class="wrap about__container">
<div class="about__header"> <div class="about__header">
<div class="about__header-text"> <div class="about__header-image">
<?php _e( 'Speed. Search. Security.' ); ?> <picture>
<source media="(max-width: 782px)" srcset="data:image/svg+xml,<?php echo rawurlencode( '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 205 109" width="205"><g fill="none" fill-rule="evenodd"><path fill="#000" fill-rule="nonzero" d="M65.901 108.433c2.546-5.254 4.927-9.195 7.143-11.822H1.246v-5.173h71.798c-2.216-2.627-4.597-6.568-7.143-11.822h4.31c5.173 5.993 10.592 10.427 16.257 13.3v2.217c-5.665 2.791-11.084 7.225-16.256 13.3h-4.31z"/><path fill="#000" fill-rule="nonzero" d="M29.345 26.834c-.129 1.365-.633 2.432-1.512 3.2-.879.76-2.048 1.142-3.507 1.142-1.02 0-1.919-.24-2.698-.72-.773-.487-1.371-1.176-1.793-2.066-.422-.891-.641-1.925-.659-3.103v-1.195c0-1.207.214-2.27.642-3.19.427-.92 1.04-1.63 1.836-2.128.803-.498 1.729-.747 2.778-.747 1.412 0 2.549.384 3.41 1.152.861.767 1.362 1.851 1.503 3.252H27.13c-.105-.92-.375-1.582-.809-1.987-.427-.41-1.057-.615-1.89-.615-.966 0-1.71.355-2.232 1.064-.515.703-.779 1.737-.79 3.102v1.134c0 1.383.245 2.437.738 3.164.498.727 1.224 1.09 2.18 1.09.872 0 1.529-.197 1.968-.59.44-.392.718-1.045.835-1.959h2.215zm14.008-1.898c0 1.253-.217 2.355-.65 3.304-.434.944-1.055 1.67-1.864 2.18-.803.504-1.728.756-2.777.756-1.037 0-1.963-.252-2.777-.756-.809-.51-1.436-1.234-1.881-2.171-.44-.938-.662-2.018-.668-3.243v-.72c0-1.249.22-2.35.659-3.306.445-.955 1.07-1.684 1.872-2.188.809-.51 1.734-.765 2.777-.765 1.043 0 1.966.252 2.769.756.808.498 1.432 1.219 1.872 2.162.44.938.662 2.03.668 3.279v.712zm-2.224-.668c0-1.418-.27-2.505-.808-3.261-.534-.756-1.292-1.134-2.277-1.134-.96 0-1.714.378-2.258 1.134-.54.75-.815 1.813-.827 3.19v.739c0 1.406.273 2.493.818 3.26.55.768 1.312 1.152 2.285 1.152.984 0 1.74-.375 2.267-1.125.534-.75.8-1.846.8-3.287v-.668zM47.368 31V18.203h3.78c1.13 0 2.132.252 3.005.756a5.146 5.146 0 012.039 2.145c.48.925.72 1.986.72 3.181v.642c0 1.213-.243 2.28-.729 3.199a5.057 5.057 0 01-2.065 2.127c-.89.498-1.913.747-3.068.747h-3.682zm2.223-11.004v9.229h1.45c1.167 0 2.06-.364 2.681-1.09.627-.733.947-1.782.958-3.147v-.712c0-1.388-.302-2.449-.905-3.181-.604-.733-1.48-1.099-2.628-1.099h-1.556zm18.816 5.291h-5.256v3.938h6.144V31h-8.368V18.203h8.306v1.793h-6.082v3.533h5.256v1.758zM81.534 31H79.32V18.203h2.215V31zm11.222-3.296c0-.562-.199-.996-.597-1.3-.393-.305-1.105-.613-2.136-.924-1.031-.31-1.852-.656-2.461-1.037-1.166-.732-1.75-1.687-1.75-2.865 0-1.031.42-1.88 1.258-2.549.843-.668 1.936-1.002 3.278-1.002.89 0 1.685.164 2.382.492a3.898 3.898 0 011.643 1.407c.399.603.598 1.274.598 2.013h-2.215c0-.669-.21-1.19-.633-1.565-.416-.38-1.013-.571-1.793-.571-.726 0-1.292.155-1.696.466-.398.31-.598.744-.598 1.3 0 .47.217.862.65 1.178.434.31 1.15.615 2.145.914.996.293 1.796.63 2.4 1.01.603.376 1.046.81 1.327 1.302.281.486.422 1.057.422 1.713 0 1.067-.41 1.916-1.23 2.55-.815.626-1.923.94-3.323.94-.926 0-1.778-.17-2.558-.51-.773-.346-1.376-.82-1.81-1.424-.428-.603-.642-1.306-.642-2.11h2.224c0 .727.24 1.29.72 1.688.481.399 1.17.598 2.066.598.774 0 1.354-.155 1.74-.466.393-.316.59-.732.59-1.248zm14.481-1.459V31h-2.224V18.203h4.896c1.43 0 2.563.372 3.401 1.116.844.745 1.266 1.729 1.266 2.954 0 1.253-.413 2.229-1.239 2.926-.821.697-1.972 1.046-3.454 1.046h-2.646zm0-1.784h2.672c.791 0 1.395-.185 1.811-.554.416-.375.624-.914.624-1.617 0-.691-.211-1.242-.633-1.652-.422-.416-1.002-.63-1.74-.642h-2.734v4.465zm21.303.475c0 1.253-.217 2.355-.65 3.304-.434.944-1.055 1.67-1.864 2.18-.802.504-1.728.756-2.777.756-1.037 0-1.963-.252-2.777-.756-.809-.51-1.436-1.234-1.881-2.171-.44-.938-.662-2.018-.668-3.243v-.72c0-1.249.22-2.35.659-3.306.445-.955 1.069-1.684 1.872-2.188.809-.51 1.734-.765 2.777-.765 1.043 0 1.966.252 2.769.756.809.498 1.433 1.219 1.872 2.162.44.938.662 2.03.668 3.279v.712zm-2.224-.668c0-1.418-.269-2.505-.808-3.261-.533-.756-1.292-1.134-2.277-1.134-.96 0-1.713.378-2.258 1.134-.539.75-.815 1.813-.827 3.19v.739c0 1.406.273 2.493.818 3.26.551.768 1.312 1.152 2.285 1.152.984 0 1.74-.375 2.268-1.125.533-.75.799-1.846.799-3.287v-.668zm13.718 1.02h-5.255v3.937h6.143V31h-8.367V18.203h8.306v1.793h-6.082v3.533h5.255v1.758zm13.92-5.292h-3.99V31h-2.206V19.996h-3.955v-1.793h10.151v1.793zm8.19 6.073h-2.478V31h-2.224V18.203h4.5c1.477 0 2.616.331 3.419.993.803.662 1.204 1.62 1.204 2.874 0 .856-.208 1.574-.624 2.154-.41.574-.984 1.016-1.723 1.327l2.874 5.335V31h-2.381l-2.567-4.93zm-2.478-1.784h2.285c.75 0 1.336-.187 1.758-.562.421-.381.632-.9.632-1.556 0-.686-.196-1.216-.588-1.59-.387-.376-.967-.57-1.741-.58h-2.346v4.288zm14.561-.017l2.945-6.065h2.461l-4.289 8.086V31h-2.233v-4.71l-4.298-8.087h2.47l2.944 6.065z"/><path stroke="#000" stroke-width="2" d="M2 1h201v46H2z"/></g></svg>' ); ?>" />
<img alt="<?php _e( 'Code is Poetry' ); ?>" src="data:image/svg+xml,<?php echo rawurlencode( '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1210 48"><path fill="#000" d="M65.875 39.875c2.583-5.333 5-9.333 7.25-12H.25v-5.25h72.875c-2.25-2.667-4.667-6.667-7.25-12h4.375c5.25 6.083 10.75 10.583 16.5 13.5v2.25c-5.75 2.833-11.25 7.333-16.5 13.5h-4.375zM1035.34 26.834c-.12 1.365-.63 2.432-1.51 3.2-.88.76-2.04 1.142-3.5 1.142-1.02 0-1.92-.24-2.7-.72-.78-.487-1.37-1.176-1.79-2.066-.43-.891-.65-1.925-.66-3.103v-1.195c0-1.207.21-2.27.64-3.19.43-.92 1.04-1.63 1.83-2.128.81-.498 1.73-.747 2.78-.747 1.41 0 2.55.384 3.41 1.152.86.767 1.36 1.851 1.5 3.252h-2.21c-.11-.92-.37-1.582-.81-1.987-.43-.41-1.06-.615-1.89-.615-.96 0-1.71.355-2.23 1.064-.52.703-.78 1.737-.79 3.102v1.134c0 1.383.24 2.437.74 3.164.49.727 1.22 1.09 2.18 1.09.87 0 1.53-.197 1.97-.59.43-.392.71-1.045.83-1.959h2.21zm14.01-1.898c0 1.253-.21 2.355-.65 3.304-.43.944-1.05 1.67-1.86 2.18-.8.504-1.73.756-2.78.756-1.04 0-1.96-.252-2.78-.756-.8-.51-1.43-1.234-1.88-2.171-.44-.938-.66-2.018-.66-3.243v-.72c0-1.249.22-2.35.65-3.306.45-.955 1.07-1.684 1.88-2.188.81-.51 1.73-.765 2.77-.765 1.05 0 1.97.252 2.77.756.81.498 1.44 1.219 1.87 2.162.44.938.67 2.03.67 3.279v.712zm-2.22-.668c0-1.418-.27-2.505-.81-3.261-.53-.756-1.29-1.134-2.28-1.134-.96 0-1.71.378-2.25 1.134-.54.75-.82 1.813-.83 3.19v.739c0 1.406.27 2.493.82 3.26.55.768 1.31 1.152 2.28 1.152.99 0 1.74-.375 2.27-1.125s.8-1.846.8-3.287v-.668zm6.24 6.732V18.203h3.78c1.13 0 2.13.252 3 .756a5.138 5.138 0 012.04 2.145c.48.925.72 1.986.72 3.181v.642c0 1.213-.24 2.28-.73 3.199a5.08 5.08 0 01-2.06 2.127c-.89.498-1.92.747-3.07.747h-3.68zm2.22-11.004v9.229h1.45c1.17 0 2.06-.364 2.68-1.09.63-.733.95-1.782.96-3.147v-.712c0-1.388-.3-2.449-.9-3.181-.61-.733-1.48-1.099-2.63-1.099h-1.56zm18.82 5.291h-5.26v3.938h6.14V31h-8.36V18.203h8.3v1.793h-6.08v3.533h5.26v1.758zM1087.53 31h-2.21V18.203h2.21V31zm11.23-3.296c0-.562-.2-.996-.6-1.3-.39-.305-1.11-.613-2.14-.924-1.03-.31-1.85-.656-2.46-1.037-1.16-.732-1.75-1.687-1.75-2.865 0-1.031.42-1.88 1.26-2.549.84-.668 1.94-1.002 3.28-1.002.89 0 1.68.164 2.38.492.7.329 1.25.797 1.64 1.407.4.603.6 1.274.6 2.013h-2.21c0-.669-.21-1.19-.64-1.565-.41-.38-1.01-.571-1.79-.571-.73 0-1.29.155-1.7.466-.39.31-.59.744-.59 1.3 0 .47.21.862.65 1.178.43.31 1.15.615 2.14.914 1 .293 1.8.63 2.4 1.01.6.376 1.05.81 1.33 1.302.28.486.42 1.057.42 1.713 0 1.067-.41 1.916-1.23 2.55-.82.626-1.92.94-3.32.94-.93 0-1.78-.17-2.56-.51-.77-.346-1.38-.82-1.81-1.424-.43-.603-.64-1.306-.64-2.11h2.22c0 .727.24 1.29.72 1.688.48.399 1.17.598 2.07.598.77 0 1.35-.155 1.74-.466.39-.316.59-.732.59-1.248zm14.48-1.459V31h-2.23V18.203h4.9c1.43 0 2.56.372 3.4 1.116.84.745 1.27 1.729 1.27 2.954 0 1.253-.42 2.229-1.24 2.926-.82.697-1.97 1.046-3.46 1.046h-2.64zm0-1.784h2.67c.79 0 1.39-.185 1.81-.554.42-.375.62-.914.62-1.617 0-.691-.21-1.242-.63-1.652-.42-.416-1-.63-1.74-.642h-2.73v4.465zm21.3.475c0 1.253-.22 2.355-.65 3.304-.43.944-1.06 1.67-1.86 2.18-.81.504-1.73.756-2.78.756-1.04 0-1.96-.252-2.78-.756-.81-.51-1.43-1.234-1.88-2.171-.44-.938-.66-2.018-.67-3.243v-.72c0-1.249.22-2.35.66-3.306.45-.955 1.07-1.684 1.87-2.188.81-.51 1.74-.765 2.78-.765 1.04 0 1.97.252 2.77.756.81.498 1.43 1.219 1.87 2.162.44.938.66 2.03.67 3.279v.712zm-2.22-.668c0-1.418-.27-2.505-.81-3.261-.54-.756-1.29-1.134-2.28-1.134-.96 0-1.71.378-2.26 1.134-.54.75-.81 1.813-.82 3.19v.739c0 1.406.27 2.493.81 3.26.55.768 1.32 1.152 2.29 1.152.98 0 1.74-.375 2.27-1.125s.8-1.846.8-3.287v-.668zm13.71 1.02h-5.25v3.937h6.14V31h-8.37V18.203h8.31v1.793h-6.08v3.533h5.25v1.758zm13.92-5.292h-3.99V31h-2.2V19.996h-3.96v-1.793h10.15v1.793zm8.19 6.073h-2.47V31h-2.23V18.203h4.5c1.48 0 2.62.331 3.42.993.8.662 1.21 1.62 1.21 2.874 0 .856-.21 1.574-.63 2.154-.41.574-.98 1.016-1.72 1.327l2.87 5.335V31h-2.38l-2.57-4.93zm-2.47-1.784h2.28c.75 0 1.34-.187 1.76-.562.42-.381.63-.9.63-1.556 0-.686-.19-1.216-.59-1.59-.38-.376-.96-.57-1.74-.58h-2.34v4.288zm14.56-.017l2.94-6.065h2.46l-4.29 8.086V31h-2.23v-4.71l-4.3-8.087h2.47l2.95 6.065z"/><path stroke="#000" stroke-width="2" d="M1008 1h201v46h-201z"/></svg>' ); ?>" />
</picture>
</div> </div>
<div class="about__header-title"> <div class="about__header-container">
<p> <div class="about__header-title">
<?php _e( 'WordPress' ); ?> <p>
<span><?php echo $display_version; ?></span> <?php _e( 'WordPress' ); ?>
</p> <?php echo $display_version; ?>
</p>
</div>
<div class="about__header-text">
<?php _e( 'Sharing your stories has never been easier' ); ?>
</div>
<div class="about__header-badge">
<img alt="<?php _e( 'New' ); ?>" src="data:image/svg+xml,<?php echo rawurlencode( '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 153 153" width="115"><circle cx="76.5" cy="76.5" r="76.5" fill="#000"/><path fill="#D1CFE4" d="M53.333 86h-2.827L39.769 69.564V86H36.94V64.672h2.828L50.535 81.18V64.67h2.798V86zm26.05-9.858h-9.242V83.7h10.737V86h-13.55V64.672h13.403v2.314h-10.59v6.856h9.243v2.3zm18.596 3.134l.41 2.813.6-2.534 4.219-14.883h2.373l4.116 14.883.586 2.578.454-2.871 3.311-14.59h2.827L111.704 86h-2.563l-4.395-15.542-.337-1.626-.337 1.626L99.517 86h-2.564l-5.156-21.328h2.812l3.37 14.604z"/></svg>' ); ?>" />
</div>
</div> </div>
<nav class="about__header-navigation nav-tab-wrapper wp-clearfix" aria-label="<?php esc_attr_e( 'Secondary menu' ); ?>"> <nav class="about__header-navigation nav-tab-wrapper wp-clearfix" aria-label="<?php esc_attr_e( 'Secondary menu' ); ?>">

View File

@ -20,21 +20,31 @@
------------------------------------------------------------------------------*/ ------------------------------------------------------------------------------*/
.about__container { .about__container {
/* Colors from Twenty Twenty-One, will be removed after 5.6 */
--global--color-green: #d1e4dd;
--global--color-blue: #d1dfe4;
--global--color-purple: #d1d1e4;
--global--color-red: #e4d1d1;
--global--color-orange: #e4dad1;
--global--color-yellow: #eeeadd;
/* Section backgrounds */ /* Section backgrounds */
--background: #fff; --background: #fff;
--subtle-background: #f2edd4; --subtle-background: var(--global--color-yellow);
/* Main text color */ /* Main text color */
--text: #322d2b; --text: #000;
--text-light: #f2edd4; --text-light: #fff;
/* Accent colors: used in header, on special classes. */ /* Accent colors: used in header, on special classes. */
--accent-1: #ebcd3d; /* Accent background */ --accent-1: var(--global--color-green); /* Accent background */
--accent-2: #bd7331; --accent-2: var(--text); /* Link color */
--accent-3: #b04329;
/* Navigation colors. */ /* Navigation colors. */
--nav-background: var(--subtle-background); --nav-background: var(--background);
--nav-border: var(--accent-1); --nav-border: #767676;
--nav-color: var(--accent-3); --nav-color: #767676;
--nav-current: var(--accent-3); --nav-current: #000;
} }
/*------------------------------------------------------------------------------ /*------------------------------------------------------------------------------
@ -105,7 +115,7 @@
} }
.about__container .has-accent-background-color { .about__container .has-accent-background-color {
background-color: #ebcd3d; background-color: #d1e4dd;
background-color: var(--accent-1); background-color: var(--accent-1);
} }
@ -114,21 +124,30 @@
} }
.about__container .has-accent-color { .about__container .has-accent-color {
color: #b04329; color: #000;
color: var(--accent-3); color: var(--text);
font-weight: bold;
}
.about__container .has-border {
border: 3px solid currentColor;
} }
.about__container .has-subtle-background-color { .about__container .has-subtle-background-color {
background-color: #f2edd4; background-color: #eeeadd;
background-color: var(--subtle-background); background-color: var(--subtle-background);
color: #322d2b; }
color: var(--text);
.about__container .has-background-image {
background-size: contain;
background-repeat: no-repeat;
background-position: center;
} }
/* 1.1 - Layout */ /* 1.1 - Layout */
.about__section { .about__section {
margin: 0; margin: 1em 0;
} }
.about__section .column { .about__section .column {
@ -139,6 +158,11 @@
padding-top: 0; padding-top: 0;
} }
.about__section .column[class*="background-color"],
.about__section .column.has-border {
padding-top: 32px;
}
.about__section .column.is-edge-to-edge { .about__section .column.is-edge-to-edge {
padding: 0; padding: 0;
} }
@ -190,11 +214,16 @@
.about__section.has-2-columns, .about__section.has-2-columns,
.about__section.has-3-columns, .about__section.has-3-columns,
.about__section.has-4-columns { .about__section.has-4-columns,
.about__section.has-overlap-style {
display: -ms-grid; display: -ms-grid;
display: grid; display: grid;
} }
.about__section.has-gutters {
gap: 16px;
}
.about__section.has-2-columns { .about__section.has-2-columns {
-ms-grid-columns: 1fr 1fr; -ms-grid-columns: 1fr 1fr;
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
@ -289,42 +318,152 @@
/* Any columns following a section header need to be expicitly put into the second row, for IE support. */ /* Any columns following a section header need to be expicitly put into the second row, for IE support. */
.about__section.has-2-columns .is-section-header ~ .column, .about__section.has-2-columns .is-section-header ~ .column,
.about__section.has-3-columns .is-section-header ~ .column, .about__section.has-3-columns .is-section-header ~ .column,
.about__section.has-4-columns .is-section-header ~ .column { .about__section.has-4-columns .is-section-header ~ .column,
.about__section.has-overlap-style .is-section-header ~ .column {
-ms-grid-row: 2; -ms-grid-row: 2;
grid-row-start: 2; grid-row-start: 2;
} }
.about__section.has-overlap-style {
-ms-grid-columns: (1fr)[7];
grid-template-columns: repeat(7, 1fr);
}
.about__section.has-overlap-style .column {
-ms-grid-row: 1;
grid-row-start: 1;
}
.about__section.has-overlap-style .column:nth-of-type(2n+1) {
-ms-grid-column: 2;
grid-column-start: 2;
-ms-grid-column-span: 3;
grid-column-end: span 3;
}
.about__section.has-overlap-style .column:nth-of-type(2n) {
-ms-grid-column: 4;
grid-column-start: 4;
-ms-grid-column-span: 3;
grid-column-end: span 3;
}
.about__section.has-overlap-style .column.is-top-layer {
z-index: 1;
}
@media screen and (max-width: 782px) { @media screen and (max-width: 782px) {
.about__section.has-2-columns.is-wider-right, .about__section.has-2-columns.is-wider-right,
.about__section.has-2-columns.is-wider-left, .about__section.has-2-columns.is-wider-left,
.about__section.has-3-columns, .about__section.has-3-columns {
.about__section.has-4-columns {
display: block; display: block;
padding-bottom: 16px; padding-bottom: 16px;
} }
.about__section.has-3-columns .column:nth-of-type(n), .about__section.has-2-columns.has-gutters .column,
.about__section.has-4-columns .column:nth-of-type(n) { .about__section.has-2-columns.has-gutters .column,
.about__section.has-3-columns.has-gutters .column {
margin-bottom: 16px;
}
.about__section.has-2-columns.has-gutters .column:last-child,
.about__section.has-2-columns.has-gutters .column:last-child,
.about__section.has-3-columns.has-gutters .column:last-child {
margin-bottom: 0;
}
.about__section.has-3-columns .column:nth-of-type(n) {
padding-top: 16px; padding-top: 16px;
padding-bottom: 16px; padding-bottom: 16px;
} }
.about__section.has-4-columns {
-ms-grid-columns: (1fr)[2];
grid-template-columns: repeat(2, 1fr);
}
.about__section.has-4-columns .column:nth-of-type(2n+1) {
-ms-grid-column: 1;
grid-column-start: 1;
}
.about__section.has-4-columns .column:nth-of-type(2n) {
-ms-grid-column: 2;
grid-column-start: 2;
}
.about__section.has-4-columns .column:nth-of-type(4n+3),
.about__section.has-4-columns .column:nth-of-type(4n) {
-ms-grid-row: 2;
grid-row-start: 2;
}
.about__section.has-4-columns .is-section-header {
-ms-grid-column-span: 2;
grid-column-end: span 2;
}
.about__section.has-4-columns .is-section-header ~ .column:nth-of-type(4n+3),
.about__section.has-4-columns .is-section-header ~ .column:nth-of-type(4n) {
-ms-grid-row: 3;
grid-row-start: 3;
}
.about__section.has-overlap-style {
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
}
/* At this size, the two columns fully overlap */
.about__section.has-overlap-style .column.column {
-ms-grid-column: 1;
grid-column-start: 1;
-ms-grid-column-span: 1;
grid-column-end: 2;
-ms-grid-row: 1;
grid-row-start: 1;
-ms-grid-row-span: 1;
grid-row-end: 2;
}
} }
@media screen and (max-width: 600px) { @media screen and (max-width: 600px) {
.about__section.has-2-columns { .about__section.has-2-columns {
display: flex; /* This is flex, not block, so we can use order below. */ display: block;
flex-wrap: wrap;
align-content: stretch;
padding-bottom: 16px; padding-bottom: 16px;
} }
.about__section.has-2-columns.has-gutters .column {
margin-bottom: 16px;
}
.about__section.has-2-columns.has-gutters .column:last-child {
margin-bottom: 0;
}
.about__section.has-2-columns .column:nth-of-type(n) { .about__section.has-2-columns .column:nth-of-type(n) {
padding-top: 16px; padding-top: 16px;
padding-bottom: 16px; padding-bottom: 16px;
} }
}
.about__section.has-2-columns .is-edge-to-edge { @media screen and (max-width: 480px) {
order: -1; .about__section.has-4-columns {
display: block;
padding-bottom: 16px;
}
.about__section.has-4-columns.has-gutters .column {
margin-bottom: 16px;
}
.about__section.has-4-columns.has-gutters .column:last-child {
margin-bottom: 0;
}
.about__section.has-4-columns .column:nth-of-type(n) {
padding-top: 16px;
padding-bottom: 16px;
} }
} }
@ -332,6 +471,8 @@
.about__container { .about__container {
line-height: 1.4; line-height: 1.4;
color: #000;
color: var(--text);
} }
.about__container h1 { .about__container h1 {
@ -342,16 +483,19 @@
} }
.about__container h1, .about__container h1,
.about__container h2 { .about__container h2,
.about__container h3.is-larger-heading {
margin-top: 0; margin-top: 0;
font-size: 1.4em; margin-bottom: 0.5em;
line-height: 1.4; font-size: 2.9em;
line-height: 1.2;
font-weight: 400;
} }
.about__container h3, .about__container h3,
.about__container h2.is-smaller-heading { .about__container h2.is-smaller-heading {
margin-top: 0; margin-top: 0;
font-size: 1em; font-size: 1.5em;
} }
.about__container p { .about__container p {
@ -360,15 +504,15 @@
} }
.about__section a { .about__section a {
color: #b04329; color: #000;
color: var(--accent-3); color: var(--accent-2);
text-decoration: underline; text-decoration: underline;
} }
.about__section a:hover, .about__section a:hover,
.about__section a:active, .about__section a:active,
.about__section a:focus { .about__section a:focus {
color: #bd7331; color: #000;
color: var(--accent-2); color: var(--accent-2);
text-decoration: none; text-decoration: none;
} }
@ -423,6 +567,13 @@
height: 8px; height: 8px;
} }
.about__container hr.is-large {
height: 64px;
width: 2px;
margin: 16px auto;
background: currentColor;
}
.about__container div.updated, .about__container div.updated,
.about__container div.error, .about__container div.error,
.about__container .notice { .about__container .notice {
@ -444,67 +595,94 @@
font-size: 1.4em; font-size: 1.4em;
font-weight: 500; font-weight: 500;
} }
.about__container h1,
.about__container h2,
.about__container h3.is-larger-heading {
font-size: 2em;
}
} }
/* 1.3 - Header */ /* 1.3 - Header */
.about__header { .about__header {
padding-top: 8em;
margin-bottom: 32px; margin-bottom: 32px;
background-color: #ebcd3d; padding-top: 3em;
background-color: #d1e4dd;
background-color: var(--accent-1); background-color: var(--accent-1);
color: #322d2b; color: #000;
color: var(--text); color: var(--text);
} }
.about__header-image {
margin: 0 32px 3em;
}
.about__header-container {
display: -ms-grid;
display: grid;
-ms-grid-columns: 3fr 1fr;
grid-template-columns: 3fr 1fr;
-ms-grid-rows: auto auto;
grid-template-rows: auto auto;
justify-items: start;
}
.about__header-title { .about__header-title {
display: flex; display: inline-block;
align-items: center; padding: 1em 0;
justify-content: center; margin: 0 32px 4em;
height: 20vh;
max-height: 16em;
padding: 32px;
margin-bottom: 4em;
text-align: center; text-align: center;
border-width: 3px 0;
border-style: solid;
border-color: currentColor;
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
grid-row: 1;
} }
.about__header-title p { .about__header-title p {
margin: 0; margin: 0;
padding: 0; padding: 0;
font-size: 4em; font-size: 6em;
line-height: 1; line-height: 1;
font-weight: 500; font-weight: 500;
} }
.about__header-title p span {
display: block;
font-size: 2em;
}
.about__header-text { .about__header-text {
display: inline-block; margin: 0 32px 3em;
margin-right: -16px; max-width: 13em;
padding: 16px 48px;
font-size: 1.5em; font-size: 1.5em;
line-height: 1.4; line-height: 1.4;
background: #b04329; -ms-grid-column: 1;
background: var(--accent-3); grid-column: 1;
color: #f2edd4; -ms-grid-row: 2;
color: var(--text-light); grid-row: 2;
} }
.about__header-text p { .about__header-text p {
margin: 0; margin: 0;
} }
.about__header-badge {
-ms-grid-column: 2;
grid-column: 2;
-ms-grid-row: 1;
-ms-grid-row-span: 2;
grid-row: 1 / span 2;
-ms-grid-row-align: center;
align-self: center;
}
.about__header-navigation { .about__header-navigation {
clear: both; clear: both;
padding-top: 0; padding-top: 0;
background: #f2edd4; background: #fff;
background: var(--nav-background); background: var(--nav-background);
color: #b04329; color: #767676;
color: var(--nav-color); color: var(--nav-color);
border-bottom: 3px solid #ebcd3d; border-bottom: 3px solid #767676;
border-bottom: 3px solid var(--nav-border); border-bottom: 3px solid var(--nav-border);
} }
@ -522,26 +700,28 @@
.about__header-navigation .nav-tab:hover, .about__header-navigation .nav-tab:hover,
.about__header-navigation .nav-tab:active { .about__header-navigation .nav-tab:active {
background-color: #322d2b; background-color: #000;
background-color: var(--text); background-color: var(--text);
color: #f2edd4; color: #fff;
color: var(--text-light); color: var(--text-light);
} }
.about__header-navigation .nav-tab-active { .about__header-navigation .nav-tab-active {
margin-bottom: -3px; margin-bottom: -3px;
color: #000;
color: var(--nav-current);
border-width: 0 0 6px; border-width: 0 0 6px;
border-color: #b04329; border-color: #000;
border-color: var(--nav-current); border-color: var(--nav-current);
} }
.about__header-navigation .nav-tab-active:hover, .about__header-navigation .nav-tab-active:hover,
.about__header-navigation .nav-tab-active:active { .about__header-navigation .nav-tab-active:active {
background-color: #322d2b; background-color: #000;
background-color: var(--text); background-color: var(--text);
color: #f2edd4; color: #fff;
color: var(--text-light); color: var(--text-light);
border-color: #b04329; border-color: #000;
border-color: var(--nav-current); border-color: var(--nav-current);
} }
@ -550,10 +730,24 @@
font-size: 1.4em; font-size: 1.4em;
} }
.about__header-title { .about__header-container {
min-height: 0; display: block;
max-height: none; }
height: auto;
.about__header-title,
.about__header-text,
.about__header-image,
.about__header-badge {
margin-right: 16px;
margin-left: 16px;
}
.about__header-text {
margin-bottom: 1em;
}
.about__header-badge {
margin-bottom: 3em;
} }
.about__header-navigation .nav-tab { .about__header-navigation .nav-tab {
@ -627,7 +821,7 @@
font-size: 1.4em; font-size: 1.4em;
font-weight: 600; font-weight: 600;
text-decoration: none; text-decoration: none;
color: #322d2b; color: #000;
color: var(--text); color: var(--text);
} }
@ -1011,7 +1205,7 @@
width: 100%; width: 100%;
} }
/* Return to Dashboard Home link */ /* Go to Dashboard Home link */
.about-wrap .return-to-dashboard { .about-wrap .return-to-dashboard {
margin: 30px -5px 0 0; margin: 30px -5px 0 0;
@ -1114,7 +1308,7 @@
} }
.freedoms-php .column .freedoms-image { .freedoms-php .column .freedoms-image {
background-image: url('https://s.w.org/wp-content/themes/pub/wporg-main/images/freedoms-2x.png'); background-image: url('../images/freedoms.png');
background-size: 100%; background-size: 100%;
padding-top: 100%; padding-top: 100%;
} }

File diff suppressed because one or more lines are too long

View File

@ -19,21 +19,31 @@
------------------------------------------------------------------------------*/ ------------------------------------------------------------------------------*/
.about__container { .about__container {
/* Colors from Twenty Twenty-One, will be removed after 5.6 */
--global--color-green: #d1e4dd;
--global--color-blue: #d1dfe4;
--global--color-purple: #d1d1e4;
--global--color-red: #e4d1d1;
--global--color-orange: #e4dad1;
--global--color-yellow: #eeeadd;
/* Section backgrounds */ /* Section backgrounds */
--background: #fff; --background: #fff;
--subtle-background: #f2edd4; --subtle-background: var(--global--color-yellow);
/* Main text color */ /* Main text color */
--text: #322d2b; --text: #000;
--text-light: #f2edd4; --text-light: #fff;
/* Accent colors: used in header, on special classes. */ /* Accent colors: used in header, on special classes. */
--accent-1: #ebcd3d; /* Accent background */ --accent-1: var(--global--color-green); /* Accent background */
--accent-2: #bd7331; --accent-2: var(--text); /* Link color */
--accent-3: #b04329;
/* Navigation colors. */ /* Navigation colors. */
--nav-background: var(--subtle-background); --nav-background: var(--background);
--nav-border: var(--accent-1); --nav-border: #767676;
--nav-color: var(--accent-3); --nav-color: #767676;
--nav-current: var(--accent-3); --nav-current: #000;
} }
/*------------------------------------------------------------------------------ /*------------------------------------------------------------------------------
@ -104,7 +114,7 @@
} }
.about__container .has-accent-background-color { .about__container .has-accent-background-color {
background-color: #ebcd3d; background-color: #d1e4dd;
background-color: var(--accent-1); background-color: var(--accent-1);
} }
@ -113,21 +123,30 @@
} }
.about__container .has-accent-color { .about__container .has-accent-color {
color: #b04329; color: #000;
color: var(--accent-3); color: var(--text);
font-weight: bold;
}
.about__container .has-border {
border: 3px solid currentColor;
} }
.about__container .has-subtle-background-color { .about__container .has-subtle-background-color {
background-color: #f2edd4; background-color: #eeeadd;
background-color: var(--subtle-background); background-color: var(--subtle-background);
color: #322d2b; }
color: var(--text);
.about__container .has-background-image {
background-size: contain;
background-repeat: no-repeat;
background-position: center;
} }
/* 1.1 - Layout */ /* 1.1 - Layout */
.about__section { .about__section {
margin: 0; margin: 1em 0;
} }
.about__section .column { .about__section .column {
@ -138,6 +157,11 @@
padding-top: 0; padding-top: 0;
} }
.about__section .column[class*="background-color"],
.about__section .column.has-border {
padding-top: 32px;
}
.about__section .column.is-edge-to-edge { .about__section .column.is-edge-to-edge {
padding: 0; padding: 0;
} }
@ -189,11 +213,16 @@
.about__section.has-2-columns, .about__section.has-2-columns,
.about__section.has-3-columns, .about__section.has-3-columns,
.about__section.has-4-columns { .about__section.has-4-columns,
.about__section.has-overlap-style {
display: -ms-grid; display: -ms-grid;
display: grid; display: grid;
} }
.about__section.has-gutters {
gap: 16px;
}
.about__section.has-2-columns { .about__section.has-2-columns {
-ms-grid-columns: 1fr 1fr; -ms-grid-columns: 1fr 1fr;
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
@ -288,42 +317,152 @@
/* Any columns following a section header need to be expicitly put into the second row, for IE support. */ /* Any columns following a section header need to be expicitly put into the second row, for IE support. */
.about__section.has-2-columns .is-section-header ~ .column, .about__section.has-2-columns .is-section-header ~ .column,
.about__section.has-3-columns .is-section-header ~ .column, .about__section.has-3-columns .is-section-header ~ .column,
.about__section.has-4-columns .is-section-header ~ .column { .about__section.has-4-columns .is-section-header ~ .column,
.about__section.has-overlap-style .is-section-header ~ .column {
-ms-grid-row: 2; -ms-grid-row: 2;
grid-row-start: 2; grid-row-start: 2;
} }
.about__section.has-overlap-style {
-ms-grid-columns: (1fr)[7];
grid-template-columns: repeat(7, 1fr);
}
.about__section.has-overlap-style .column {
-ms-grid-row: 1;
grid-row-start: 1;
}
.about__section.has-overlap-style .column:nth-of-type(2n+1) {
-ms-grid-column: 2;
grid-column-start: 2;
-ms-grid-column-span: 3;
grid-column-end: span 3;
}
.about__section.has-overlap-style .column:nth-of-type(2n) {
-ms-grid-column: 4;
grid-column-start: 4;
-ms-grid-column-span: 3;
grid-column-end: span 3;
}
.about__section.has-overlap-style .column.is-top-layer {
z-index: 1;
}
@media screen and (max-width: 782px) { @media screen and (max-width: 782px) {
.about__section.has-2-columns.is-wider-right, .about__section.has-2-columns.is-wider-right,
.about__section.has-2-columns.is-wider-left, .about__section.has-2-columns.is-wider-left,
.about__section.has-3-columns, .about__section.has-3-columns {
.about__section.has-4-columns {
display: block; display: block;
padding-bottom: 16px; padding-bottom: 16px;
} }
.about__section.has-3-columns .column:nth-of-type(n), .about__section.has-2-columns.has-gutters .column,
.about__section.has-4-columns .column:nth-of-type(n) { .about__section.has-2-columns.has-gutters .column,
.about__section.has-3-columns.has-gutters .column {
margin-bottom: 16px;
}
.about__section.has-2-columns.has-gutters .column:last-child,
.about__section.has-2-columns.has-gutters .column:last-child,
.about__section.has-3-columns.has-gutters .column:last-child {
margin-bottom: 0;
}
.about__section.has-3-columns .column:nth-of-type(n) {
padding-top: 16px; padding-top: 16px;
padding-bottom: 16px; padding-bottom: 16px;
} }
.about__section.has-4-columns {
-ms-grid-columns: (1fr)[2];
grid-template-columns: repeat(2, 1fr);
}
.about__section.has-4-columns .column:nth-of-type(2n+1) {
-ms-grid-column: 1;
grid-column-start: 1;
}
.about__section.has-4-columns .column:nth-of-type(2n) {
-ms-grid-column: 2;
grid-column-start: 2;
}
.about__section.has-4-columns .column:nth-of-type(4n+3),
.about__section.has-4-columns .column:nth-of-type(4n) {
-ms-grid-row: 2;
grid-row-start: 2;
}
.about__section.has-4-columns .is-section-header {
-ms-grid-column-span: 2;
grid-column-end: span 2;
}
.about__section.has-4-columns .is-section-header ~ .column:nth-of-type(4n+3),
.about__section.has-4-columns .is-section-header ~ .column:nth-of-type(4n) {
-ms-grid-row: 3;
grid-row-start: 3;
}
.about__section.has-overlap-style {
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
}
/* At this size, the two columns fully overlap */
.about__section.has-overlap-style .column.column {
-ms-grid-column: 1;
grid-column-start: 1;
-ms-grid-column-span: 1;
grid-column-end: 2;
-ms-grid-row: 1;
grid-row-start: 1;
-ms-grid-row-span: 1;
grid-row-end: 2;
}
} }
@media screen and (max-width: 600px) { @media screen and (max-width: 600px) {
.about__section.has-2-columns { .about__section.has-2-columns {
display: flex; /* This is flex, not block, so we can use order below. */ display: block;
flex-wrap: wrap;
align-content: stretch;
padding-bottom: 16px; padding-bottom: 16px;
} }
.about__section.has-2-columns.has-gutters .column {
margin-bottom: 16px;
}
.about__section.has-2-columns.has-gutters .column:last-child {
margin-bottom: 0;
}
.about__section.has-2-columns .column:nth-of-type(n) { .about__section.has-2-columns .column:nth-of-type(n) {
padding-top: 16px; padding-top: 16px;
padding-bottom: 16px; padding-bottom: 16px;
} }
}
.about__section.has-2-columns .is-edge-to-edge { @media screen and (max-width: 480px) {
order: -1; .about__section.has-4-columns {
display: block;
padding-bottom: 16px;
}
.about__section.has-4-columns.has-gutters .column {
margin-bottom: 16px;
}
.about__section.has-4-columns.has-gutters .column:last-child {
margin-bottom: 0;
}
.about__section.has-4-columns .column:nth-of-type(n) {
padding-top: 16px;
padding-bottom: 16px;
} }
} }
@ -331,6 +470,8 @@
.about__container { .about__container {
line-height: 1.4; line-height: 1.4;
color: #000;
color: var(--text);
} }
.about__container h1 { .about__container h1 {
@ -341,16 +482,19 @@
} }
.about__container h1, .about__container h1,
.about__container h2 { .about__container h2,
.about__container h3.is-larger-heading {
margin-top: 0; margin-top: 0;
font-size: 1.4em; margin-bottom: 0.5em;
line-height: 1.4; font-size: 2.9em;
line-height: 1.2;
font-weight: 400;
} }
.about__container h3, .about__container h3,
.about__container h2.is-smaller-heading { .about__container h2.is-smaller-heading {
margin-top: 0; margin-top: 0;
font-size: 1em; font-size: 1.5em;
} }
.about__container p { .about__container p {
@ -359,15 +503,15 @@
} }
.about__section a { .about__section a {
color: #b04329; color: #000;
color: var(--accent-3); color: var(--accent-2);
text-decoration: underline; text-decoration: underline;
} }
.about__section a:hover, .about__section a:hover,
.about__section a:active, .about__section a:active,
.about__section a:focus { .about__section a:focus {
color: #bd7331; color: #000;
color: var(--accent-2); color: var(--accent-2);
text-decoration: none; text-decoration: none;
} }
@ -422,6 +566,13 @@
height: 8px; height: 8px;
} }
.about__container hr.is-large {
height: 64px;
width: 2px;
margin: 16px auto;
background: currentColor;
}
.about__container div.updated, .about__container div.updated,
.about__container div.error, .about__container div.error,
.about__container .notice { .about__container .notice {
@ -443,67 +594,94 @@
font-size: 1.4em; font-size: 1.4em;
font-weight: 500; font-weight: 500;
} }
.about__container h1,
.about__container h2,
.about__container h3.is-larger-heading {
font-size: 2em;
}
} }
/* 1.3 - Header */ /* 1.3 - Header */
.about__header { .about__header {
padding-top: 8em;
margin-bottom: 32px; margin-bottom: 32px;
background-color: #ebcd3d; padding-top: 3em;
background-color: #d1e4dd;
background-color: var(--accent-1); background-color: var(--accent-1);
color: #322d2b; color: #000;
color: var(--text); color: var(--text);
} }
.about__header-image {
margin: 0 32px 3em;
}
.about__header-container {
display: -ms-grid;
display: grid;
-ms-grid-columns: 3fr 1fr;
grid-template-columns: 3fr 1fr;
-ms-grid-rows: auto auto;
grid-template-rows: auto auto;
justify-items: start;
}
.about__header-title { .about__header-title {
display: flex; display: inline-block;
align-items: center; padding: 1em 0;
justify-content: center; margin: 0 32px 4em;
height: 20vh;
max-height: 16em;
padding: 32px;
margin-bottom: 4em;
text-align: center; text-align: center;
border-width: 3px 0;
border-style: solid;
border-color: currentColor;
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
grid-row: 1;
} }
.about__header-title p { .about__header-title p {
margin: 0; margin: 0;
padding: 0; padding: 0;
font-size: 4em; font-size: 6em;
line-height: 1; line-height: 1;
font-weight: 500; font-weight: 500;
} }
.about__header-title p span {
display: block;
font-size: 2em;
}
.about__header-text { .about__header-text {
display: inline-block; margin: 0 32px 3em;
margin-left: -16px; max-width: 13em;
padding: 16px 48px;
font-size: 1.5em; font-size: 1.5em;
line-height: 1.4; line-height: 1.4;
background: #b04329; -ms-grid-column: 1;
background: var(--accent-3); grid-column: 1;
color: #f2edd4; -ms-grid-row: 2;
color: var(--text-light); grid-row: 2;
} }
.about__header-text p { .about__header-text p {
margin: 0; margin: 0;
} }
.about__header-badge {
-ms-grid-column: 2;
grid-column: 2;
-ms-grid-row: 1;
-ms-grid-row-span: 2;
grid-row: 1 / span 2;
-ms-grid-row-align: center;
align-self: center;
}
.about__header-navigation { .about__header-navigation {
clear: both; clear: both;
padding-top: 0; padding-top: 0;
background: #f2edd4; background: #fff;
background: var(--nav-background); background: var(--nav-background);
color: #b04329; color: #767676;
color: var(--nav-color); color: var(--nav-color);
border-bottom: 3px solid #ebcd3d; border-bottom: 3px solid #767676;
border-bottom: 3px solid var(--nav-border); border-bottom: 3px solid var(--nav-border);
} }
@ -521,26 +699,28 @@
.about__header-navigation .nav-tab:hover, .about__header-navigation .nav-tab:hover,
.about__header-navigation .nav-tab:active { .about__header-navigation .nav-tab:active {
background-color: #322d2b; background-color: #000;
background-color: var(--text); background-color: var(--text);
color: #f2edd4; color: #fff;
color: var(--text-light); color: var(--text-light);
} }
.about__header-navigation .nav-tab-active { .about__header-navigation .nav-tab-active {
margin-bottom: -3px; margin-bottom: -3px;
color: #000;
color: var(--nav-current);
border-width: 0 0 6px; border-width: 0 0 6px;
border-color: #b04329; border-color: #000;
border-color: var(--nav-current); border-color: var(--nav-current);
} }
.about__header-navigation .nav-tab-active:hover, .about__header-navigation .nav-tab-active:hover,
.about__header-navigation .nav-tab-active:active { .about__header-navigation .nav-tab-active:active {
background-color: #322d2b; background-color: #000;
background-color: var(--text); background-color: var(--text);
color: #f2edd4; color: #fff;
color: var(--text-light); color: var(--text-light);
border-color: #b04329; border-color: #000;
border-color: var(--nav-current); border-color: var(--nav-current);
} }
@ -549,10 +729,24 @@
font-size: 1.4em; font-size: 1.4em;
} }
.about__header-title { .about__header-container {
min-height: 0; display: block;
max-height: none; }
height: auto;
.about__header-title,
.about__header-text,
.about__header-image,
.about__header-badge {
margin-left: 16px;
margin-right: 16px;
}
.about__header-text {
margin-bottom: 1em;
}
.about__header-badge {
margin-bottom: 3em;
} }
.about__header-navigation .nav-tab { .about__header-navigation .nav-tab {
@ -626,7 +820,7 @@
font-size: 1.4em; font-size: 1.4em;
font-weight: 600; font-weight: 600;
text-decoration: none; text-decoration: none;
color: #322d2b; color: #000;
color: var(--text); color: var(--text);
} }
@ -1010,7 +1204,7 @@
width: 100%; width: 100%;
} }
/* Return to Dashboard Home link */ /* Go to Dashboard Home link */
.about-wrap .return-to-dashboard { .about-wrap .return-to-dashboard {
margin: 30px 0 0 -5px; margin: 30px 0 0 -5px;
@ -1113,7 +1307,7 @@
} }
.freedoms-php .column .freedoms-image { .freedoms-php .column .freedoms-image {
background-image: url('https://s.w.org/wp-content/themes/pub/wporg-main/images/freedoms-2x.png'); background-image: url('../images/freedoms.png');
background-size: 100%; background-size: 100%;
padding-top: 100%; padding-top: 100%;
} }

File diff suppressed because one or more lines are too long

View File

@ -50,7 +50,7 @@
.icon16:before { .icon16:before {
color: #82878c; /* same as new icons */ color: #82878c; /* same as new icons */
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
padding: 6px 0; padding: 6px 0;
height: 34px; height: 34px;
width: 20px; width: 20px;
@ -347,7 +347,14 @@
} }
#adminmenu div.wp-menu-name { #adminmenu div.wp-menu-name {
padding: 8px 0; padding: 8px 36px 8px 8px;
overflow-wrap: break-word;
word-wrap: break-word;
-ms-word-break: break-all;
word-break: break-word;
-ms-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto;
} }
#adminmenu div.wp-menu-image { #adminmenu div.wp-menu-image {
@ -585,7 +592,7 @@ ul#adminmenu > li.current > a.current:after {
top: 7px; top: 7px;
text-align: center; text-align: center;
font: normal 20px/1 dashicons !important; font: normal 20px/1 dashicons !important;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
@ -683,7 +690,7 @@ li#wp-admin-bar-menu-toggle {
} }
.auto-fold #adminmenu a.menu-top { .auto-fold #adminmenu a.menu-top {
height: 34px; min-height: 34px;
} }
.auto-fold #adminmenu li.wp-menu-open { .auto-fold #adminmenu li.wp-menu-open {
@ -784,7 +791,6 @@ li#wp-admin-bar-menu-toggle {
/* Restore the menu names */ /* Restore the menu names */
.auto-fold #adminmenu .wp-menu-name { .auto-fold #adminmenu .wp-menu-name {
position: static; position: static;
margin-right: 35px;
} }
/* Switch the arrow side */ /* Switch the arrow side */

File diff suppressed because one or more lines are too long

View File

@ -49,7 +49,7 @@
.icon16:before { .icon16:before {
color: #82878c; /* same as new icons */ color: #82878c; /* same as new icons */
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
padding: 6px 0; padding: 6px 0;
height: 34px; height: 34px;
width: 20px; width: 20px;
@ -346,7 +346,14 @@
} }
#adminmenu div.wp-menu-name { #adminmenu div.wp-menu-name {
padding: 8px 0; padding: 8px 8px 8px 36px;
overflow-wrap: break-word;
word-wrap: break-word;
-ms-word-break: break-all;
word-break: break-word;
-ms-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto;
} }
#adminmenu div.wp-menu-image { #adminmenu div.wp-menu-image {
@ -584,7 +591,7 @@ ul#adminmenu > li.current > a.current:after {
top: 7px; top: 7px;
text-align: center; text-align: center;
font: normal 20px/1 dashicons !important; font: normal 20px/1 dashicons !important;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
@ -682,7 +689,7 @@ li#wp-admin-bar-menu-toggle {
} }
.auto-fold #adminmenu a.menu-top { .auto-fold #adminmenu a.menu-top {
height: 34px; min-height: 34px;
} }
.auto-fold #adminmenu li.wp-menu-open { .auto-fold #adminmenu li.wp-menu-open {
@ -783,7 +790,6 @@ li#wp-admin-bar-menu-toggle {
/* Restore the menu names */ /* Restore the menu names */
.auto-fold #adminmenu .wp-menu-name { .auto-fold #adminmenu .wp-menu-name {
position: static; position: static;
margin-left: 35px;
} }
/* Switch the arrow side */ /* Switch the arrow side */

File diff suppressed because one or more lines are too long

View File

@ -345,7 +345,7 @@ h3 {
} }
.update-core-php h2 { .update-core-php h2 {
margin-top: 2em; margin-top: 4em;
} }
.update-php h2, .update-php h2,
@ -792,7 +792,7 @@ img.emoji {
content: "\f153"; content: "\f153";
display: block; display: block;
font: normal 16px/20px dashicons; font: normal 16px/20px dashicons;
speak: none; speak: never;
height: 20px; height: 20px;
text-align: center; text-align: center;
width: 20px; width: 20px;
@ -1601,6 +1601,19 @@ form.upgrade .hint {
margin: -4px 0; margin: -4px 0;
} }
h2.wp-current-version {
margin-bottom: .3em;
}
p.update-last-checked {
margin-top: 0;
}
p.auto-update-status {
margin-top: 2em;
line-height: 1.8;
}
#ajax-loading, #ajax-loading,
.ajax-loading, .ajax-loading,
.ajax-feedback, .ajax-feedback,
@ -1639,7 +1652,7 @@ form.upgrade .hint {
.button.installing:before, .button.installing:before,
.button.installed:before, .button.installed:before,
.update-message p:before { .update-message p:before {
speak: none; speak: never;
} }
} }
@ -1730,7 +1743,7 @@ form.upgrade .hint {
left: 0; left: 0;
content: "\f140"; content: "\f140";
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
display: inline-block; display: inline-block;
padding: 0 0 0 5px; padding: 0 0 0 5px;
bottom: 2px; bottom: 2px;
@ -1934,6 +1947,7 @@ form.upgrade .hint {
html.wp-toolbar { html.wp-toolbar {
padding-top: 32px; padding-top: 32px;
box-sizing: border-box; box-sizing: border-box;
-ms-overflow-style: scrollbar; /* See ticket #48545 */
} }
.widefat th, .widefat th,
@ -3015,7 +3029,7 @@ div.action-links {
.plugin-details-modal #TB_closeWindowButton:after { .plugin-details-modal #TB_closeWindowButton:after {
content: "\f335"; content: "\f335";
font: normal 32px/29px 'dashicons'; font: normal 32px/29px 'dashicons';
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
@ -3043,7 +3057,7 @@ img {
content: "\f142"; content: "\f142";
display: inline-block; display: inline-block;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
text-decoration: none; text-decoration: none;
@ -3396,7 +3410,7 @@ img {
.accordion-section-title:after { .accordion-section-title:after {
content: "\f140"; content: "\f140";
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
display: block; display: block;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;

File diff suppressed because one or more lines are too long

View File

@ -344,7 +344,7 @@ h3 {
} }
.update-core-php h2 { .update-core-php h2 {
margin-top: 2em; margin-top: 4em;
} }
.update-php h2, .update-php h2,
@ -791,7 +791,7 @@ img.emoji {
content: "\f153"; content: "\f153";
display: block; display: block;
font: normal 16px/20px dashicons; font: normal 16px/20px dashicons;
speak: none; speak: never;
height: 20px; height: 20px;
text-align: center; text-align: center;
width: 20px; width: 20px;
@ -1600,6 +1600,19 @@ form.upgrade .hint {
margin: -4px 0; margin: -4px 0;
} }
h2.wp-current-version {
margin-bottom: .3em;
}
p.update-last-checked {
margin-top: 0;
}
p.auto-update-status {
margin-top: 2em;
line-height: 1.8;
}
#ajax-loading, #ajax-loading,
.ajax-loading, .ajax-loading,
.ajax-feedback, .ajax-feedback,
@ -1638,7 +1651,7 @@ form.upgrade .hint {
.button.installing:before, .button.installing:before,
.button.installed:before, .button.installed:before,
.update-message p:before { .update-message p:before {
speak: none; speak: never;
} }
} }
@ -1729,7 +1742,7 @@ form.upgrade .hint {
right: 0; right: 0;
content: "\f140"; content: "\f140";
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
display: inline-block; display: inline-block;
padding: 0 5px 0 0; padding: 0 5px 0 0;
bottom: 2px; bottom: 2px;
@ -1933,6 +1946,7 @@ form.upgrade .hint {
html.wp-toolbar { html.wp-toolbar {
padding-top: 32px; padding-top: 32px;
box-sizing: border-box; box-sizing: border-box;
-ms-overflow-style: scrollbar; /* See ticket #48545 */
} }
.widefat th, .widefat th,
@ -3014,7 +3028,7 @@ div.action-links {
.plugin-details-modal #TB_closeWindowButton:after { .plugin-details-modal #TB_closeWindowButton:after {
content: "\f335"; content: "\f335";
font: normal 32px/29px 'dashicons'; font: normal 32px/29px 'dashicons';
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
@ -3042,7 +3056,7 @@ img {
content: "\f142"; content: "\f142";
display: inline-block; display: inline-block;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
text-decoration: none; text-decoration: none;
@ -3395,7 +3409,7 @@ img {
.accordion-section-title:after { .accordion-section-title:after {
content: "\f140"; content: "\f140";
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
display: block; display: block;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;

File diff suppressed because one or more lines are too long

View File

@ -1284,7 +1284,7 @@ p.customize-section-description {
.customize-control .dropdown-arrow:after { .customize-control .dropdown-arrow:after {
content: "\f140"; content: "\f140";
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
display: block; display: block;
padding: 0; padding: 0;
text-indent: 0; text-indent: 0;

File diff suppressed because one or more lines are too long

View File

@ -1283,7 +1283,7 @@ p.customize-section-description {
.customize-control .dropdown-arrow:after { .customize-control .dropdown-arrow:after {
content: "\f140"; content: "\f140";
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
display: block; display: block;
padding: 0; padding: 0;
text-indent: 0; text-indent: 0;

File diff suppressed because one or more lines are too long

View File

@ -66,6 +66,7 @@
.wp-customizer .menu-item-bar .menu-item-handle { .wp-customizer .menu-item-bar .menu-item-handle {
width: 100%; width: 100%;
max-width: 100%;
background: #fff; background: #fff;
} }
@ -323,7 +324,7 @@
content: "\f140"; content: "\f140";
display: block; display: block;
padding: 1px 0px 1px 2px; padding: 1px 0px 1px 2px;
speak: none; speak: never;
border-radius: 50%; border-radius: 50%;
color: #72777c; color: #72777c;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;

File diff suppressed because one or more lines are too long

View File

@ -65,6 +65,7 @@
.wp-customizer .menu-item-bar .menu-item-handle { .wp-customizer .menu-item-bar .menu-item-handle {
width: 100%; width: 100%;
max-width: 100%;
background: #fff; background: #fff;
} }
@ -322,7 +323,7 @@
content: "\f140"; content: "\f140";
display: block; display: block;
padding: 1px 2px 1px 0px; padding: 1px 2px 1px 0px;
speak: none; speak: never;
border-radius: 50%; border-radius: 50%;
color: #72777c; color: #72777c;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;

File diff suppressed because one or more lines are too long

View File

@ -233,7 +233,7 @@
#dashboard_right_now .search-engines-info:before { #dashboard_right_now .search-engines-info:before {
color: #606a73; color: #606a73;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
display: inline-block; display: inline-block;
padding: 0 0 0 10px; padding: 0 0 0 10px;
position: relative; position: relative;

File diff suppressed because one or more lines are too long

View File

@ -232,7 +232,7 @@
#dashboard_right_now .search-engines-info:before { #dashboard_right_now .search-engines-info:before {
color: #606a73; color: #606a73;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
display: inline-block; display: inline-block;
padding: 0 10px 0 0; padding: 0 10px 0 0;
position: relative; position: relative;

File diff suppressed because one or more lines are too long

View File

@ -460,6 +460,8 @@ form#tags-filter {
#post-body .misc-pub-post-status:before, #post-body .misc-pub-post-status:before,
#post-body #visibility:before, #post-body #visibility:before,
.curtime #timestamp:before, .curtime #timestamp:before,
#post-body .misc-pub-uploadedby:before,
#post-body .misc-pub-uploadedto:before,
#post-body .misc-pub-revisions:before, #post-body .misc-pub-revisions:before,
#post-body .misc-pub-response-to:before, #post-body .misc-pub-response-to:before,
#post-body .misc-pub-comment-status:before { #post-body .misc-pub-comment-status:before {
@ -469,11 +471,13 @@ form#tags-filter {
#post-body .misc-pub-post-status:before, #post-body .misc-pub-post-status:before,
#post-body #visibility:before, #post-body #visibility:before,
.curtime #timestamp:before, .curtime #timestamp:before,
#post-body .misc-pub-uploadedby:before,
#post-body .misc-pub-uploadedto:before,
#post-body .misc-pub-revisions:before, #post-body .misc-pub-revisions:before,
#post-body .misc-pub-response-to:before, #post-body .misc-pub-response-to:before,
#post-body .misc-pub-comment-status:before { #post-body .misc-pub-comment-status:before {
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
display: inline-block; display: inline-block;
margin-right: -1px; margin-right: -1px;
padding-left: 3px; padding-left: 3px;
@ -497,6 +501,18 @@ form#tags-filter {
top: -1px; top: -1px;
} }
#post-body .misc-pub-uploadedby:before {
content: "\f110";
position: relative;
top: -1px;
}
#post-body .misc-pub-uploadedto:before {
content: "\f318";
position: relative;
top: -1px;
}
#post-body .misc-pub-revisions:before { #post-body .misc-pub-revisions:before {
content: "\f321"; content: "\f321";
} }
@ -726,7 +742,19 @@ form#tags-filter {
.text-removed .policy-text { .text-removed .policy-text {
color: #666; color: #666;
font-weight: 600; font-weight: 300;
padding-right: 1em;
border-right: 3px solid #ffb900;
}
.text-removed .policy-text h1,
.text-removed .policy-text h2,
.text-removed .policy-text h3,
.text-removed .policy-text h4,
.text-removed .policy-text h5,
.text-removed .policy-text h6 {
color: #39424a;
font-weight: 500;
} }
.privacy-text-actions { .privacy-text-actions {
@ -950,7 +978,7 @@ strong.privacy-policy-tutorial {
margin-left: 7px; margin-left: 7px;
color: #ddd; color: #ddd;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
@ -1212,7 +1240,7 @@ p.popular-tags a {
display: inline-block; display: inline-block;
} }
/* Suggest.js autocomplete, no more used by core. */ /* Back-compat styles from deprecated jQuery.suggest, see ticket #40260. */
.ac_results { .ac_results {
display: none; display: none;
margin: -1px 0 0; margin: -1px 0 0;
@ -1785,6 +1813,10 @@ table.links-table {
padding: 10px 0; padding: 10px 0;
} }
.edit-term-notes {
display: none;
}
.privacy-text-box { .privacy-text-box {
width: auto; width: auto;
} }

File diff suppressed because one or more lines are too long

View File

@ -459,6 +459,8 @@ form#tags-filter {
#post-body .misc-pub-post-status:before, #post-body .misc-pub-post-status:before,
#post-body #visibility:before, #post-body #visibility:before,
.curtime #timestamp:before, .curtime #timestamp:before,
#post-body .misc-pub-uploadedby:before,
#post-body .misc-pub-uploadedto:before,
#post-body .misc-pub-revisions:before, #post-body .misc-pub-revisions:before,
#post-body .misc-pub-response-to:before, #post-body .misc-pub-response-to:before,
#post-body .misc-pub-comment-status:before { #post-body .misc-pub-comment-status:before {
@ -468,11 +470,13 @@ form#tags-filter {
#post-body .misc-pub-post-status:before, #post-body .misc-pub-post-status:before,
#post-body #visibility:before, #post-body #visibility:before,
.curtime #timestamp:before, .curtime #timestamp:before,
#post-body .misc-pub-uploadedby:before,
#post-body .misc-pub-uploadedto:before,
#post-body .misc-pub-revisions:before, #post-body .misc-pub-revisions:before,
#post-body .misc-pub-response-to:before, #post-body .misc-pub-response-to:before,
#post-body .misc-pub-comment-status:before { #post-body .misc-pub-comment-status:before {
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
display: inline-block; display: inline-block;
margin-left: -1px; margin-left: -1px;
padding-right: 3px; padding-right: 3px;
@ -496,6 +500,18 @@ form#tags-filter {
top: -1px; top: -1px;
} }
#post-body .misc-pub-uploadedby:before {
content: "\f110";
position: relative;
top: -1px;
}
#post-body .misc-pub-uploadedto:before {
content: "\f318";
position: relative;
top: -1px;
}
#post-body .misc-pub-revisions:before { #post-body .misc-pub-revisions:before {
content: "\f321"; content: "\f321";
} }
@ -725,7 +741,19 @@ form#tags-filter {
.text-removed .policy-text { .text-removed .policy-text {
color: #666; color: #666;
font-weight: 600; font-weight: 300;
padding-left: 1em;
border-left: 3px solid #ffb900;
}
.text-removed .policy-text h1,
.text-removed .policy-text h2,
.text-removed .policy-text h3,
.text-removed .policy-text h4,
.text-removed .policy-text h5,
.text-removed .policy-text h6 {
color: #39424a;
font-weight: 500;
} }
.privacy-text-actions { .privacy-text-actions {
@ -949,7 +977,7 @@ strong.privacy-policy-tutorial {
margin-right: 7px; margin-right: 7px;
color: #ddd; color: #ddd;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
@ -1211,7 +1239,7 @@ p.popular-tags a {
display: inline-block; display: inline-block;
} }
/* Suggest.js autocomplete, no more used by core. */ /* Back-compat styles from deprecated jQuery.suggest, see ticket #40260. */
.ac_results { .ac_results {
display: none; display: none;
margin: -1px 0 0; margin: -1px 0 0;
@ -1784,6 +1812,10 @@ table.links-table {
padding: 10px 0; padding: 10px 0;
} }
.edit-term-notes {
display: none;
}
.privacy-text-box { .privacy-text-box {
width: auto; width: auto;
} }

File diff suppressed because one or more lines are too long

View File

@ -173,7 +173,7 @@ input[type="radio"]:checked::before {
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
width: 1rem; width: 1rem;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
@ -239,10 +239,12 @@ textarea[readonly] {
color: #72777c; color: #72777c;
} }
.form-invalid input, .form-invalid .form-required,
.form-invalid input:focus, .form-invalid .form-required:focus,
.form-invalid select, .form-invalid.form-required input,
.form-invalid select:focus { .form-invalid.form-required input:focus,
.form-invalid.form-required select,
.form-invalid.form-required select:focus {
border-color: #dc3232 !important; border-color: #dc3232 !important;
box-shadow: 0 0 2px rgba(204, 0, 0, 0.8); box-shadow: 0 0 2px rgba(204, 0, 0, 0.8);
} }
@ -534,6 +536,14 @@ fieldset label,
margin: 0 0 1em; margin: 0 0 1em;
} }
.wp-generate-pw {
margin-top: 1em;
}
.wp-pwd {
margin-top: 1em;
}
#misc-publishing-actions label { #misc-publishing-actions label {
vertical-align: baseline; vertical-align: baseline;
} }
@ -842,6 +852,36 @@ table.form-table td .updated p {
cursor: pointer; cursor: pointer;
} }
.create-application-password .form-field {
max-width: 25em;
}
.create-application-password label {
font-weight: 600;
}
.create-application-password p.submit {
margin-bottom: 0;
padding-bottom: 0;
}
#application-passwords-section .notice {
margin-top: 20px;
margin-bottom: 0;
}
.application-password-display input.code {
width: 19em;
}
.auth-app-card.card {
max-width: 768px;
}
.authorize-application-php .form-wrap p {
display: block !important;
}
/*------------------------------------------------------------------------------ /*------------------------------------------------------------------------------
19.0 - Tools 19.0 - Tools
------------------------------------------------------------------------------*/ ------------------------------------------------------------------------------*/
@ -1295,7 +1335,7 @@ table.form-table td .updated p {
display: inline-block; display: inline-block;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
margin: 3px -2px 0 5px; margin: 3px -2px 0 5px;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
vertical-align: top; vertical-align: top;

File diff suppressed because one or more lines are too long

View File

@ -172,7 +172,7 @@ input[type="radio"]:checked::before {
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
width: 1rem; width: 1rem;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
@ -238,10 +238,12 @@ textarea[readonly] {
color: #72777c; color: #72777c;
} }
.form-invalid input, .form-invalid .form-required,
.form-invalid input:focus, .form-invalid .form-required:focus,
.form-invalid select, .form-invalid.form-required input,
.form-invalid select:focus { .form-invalid.form-required input:focus,
.form-invalid.form-required select,
.form-invalid.form-required select:focus {
border-color: #dc3232 !important; border-color: #dc3232 !important;
box-shadow: 0 0 2px rgba(204, 0, 0, 0.8); box-shadow: 0 0 2px rgba(204, 0, 0, 0.8);
} }
@ -533,6 +535,14 @@ fieldset label,
margin: 0 0 1em; margin: 0 0 1em;
} }
.wp-generate-pw {
margin-top: 1em;
}
.wp-pwd {
margin-top: 1em;
}
#misc-publishing-actions label { #misc-publishing-actions label {
vertical-align: baseline; vertical-align: baseline;
} }
@ -841,6 +851,36 @@ table.form-table td .updated p {
cursor: pointer; cursor: pointer;
} }
.create-application-password .form-field {
max-width: 25em;
}
.create-application-password label {
font-weight: 600;
}
.create-application-password p.submit {
margin-bottom: 0;
padding-bottom: 0;
}
#application-passwords-section .notice {
margin-top: 20px;
margin-bottom: 0;
}
.application-password-display input.code {
width: 19em;
}
.auth-app-card.card {
max-width: 768px;
}
.authorize-application-php .form-wrap p {
display: block !important;
}
/*------------------------------------------------------------------------------ /*------------------------------------------------------------------------------
19.0 - Tools 19.0 - Tools
------------------------------------------------------------------------------*/ ------------------------------------------------------------------------------*/
@ -1294,7 +1334,7 @@ table.form-table td .updated p {
display: inline-block; display: inline-block;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
margin: 3px 5px 0 -2px; margin: 3px 5px 0 -2px;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
vertical-align: top; vertical-align: top;

File diff suppressed because one or more lines are too long

View File

@ -269,7 +269,7 @@ th .comment-grey-bubble {
th .comment-grey-bubble:before { th .comment-grey-bubble:before {
content: "\f101"; content: "\f101";
font: normal 20px/.5 dashicons; font: normal 20px/.5 dashicons;
speak: none; speak: never;
display: inline-block; display: inline-block;
padding: 0; padding: 0;
top: 4px; top: 4px;
@ -314,6 +314,9 @@ table.fixed {
.fixed .column-posts { .fixed .column-posts {
width: 74px; width: 74px;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
} }
.fixed .column-comment .comment-author { .fixed .column-comment .comment-author {
@ -451,7 +454,7 @@ table.media .column-title .filename {
.sorting-indicator:before { .sorting-indicator:before {
content: "\f142"; content: "\f142";
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
display: inline-block; display: inline-block;
padding: 0; padding: 0;
top: -4px; top: -4px;
@ -523,7 +526,7 @@ th.asc a:focus span.sorting-indicator:before {
line-height: 1; line-height: 1;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
speak: none; speak: never;
} }
.wp-list-table .is-expanded .toggle-row:before { .wp-list-table .is-expanded .toggle-row:before {
@ -542,7 +545,7 @@ th.asc a:focus span.sorting-indicator:before {
content: "\f160"; content: "\f160";
display: inline-block; display: inline-block;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
vertical-align: middle; vertical-align: middle;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
@ -710,7 +713,7 @@ th.asc a:focus span.sorting-indicator {
color: #b4b9be; color: #b4b9be;
display: inline-block; display: inline-block;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
vertical-align: middle; vertical-align: middle;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
@ -1313,7 +1316,7 @@ ul.cat-checklist {
display: inline-block; display: inline-block;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
margin: 3px -2px 0 5px; margin: 3px -2px 0 5px;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
vertical-align: top; vertical-align: top;
@ -1523,7 +1526,7 @@ div.action-links,
.plugin-card .column-compatibility span:before { .plugin-card .column-compatibility span:before {
font: normal 20px/.5 dashicons; font: normal 20px/.5 dashicons;
speak: none; speak: never;
display: inline-block; display: inline-block;
padding: 0; padding: 0;
top: 4px; top: 4px;
@ -1697,7 +1700,7 @@ div.action-links,
} }
.tablenav.bottom .tablenav-pages.one-page { .tablenav.bottom .tablenav-pages.one-page {
margin: 15px 0 0 0; margin-top: 15px;
height: 0; height: 0;
} }
@ -2153,6 +2156,18 @@ div.action-links,
grid-template-columns: auto auto; grid-template-columns: auto auto;
} }
.tablenav.bottom .displaying-num {
position: relative;
top: 0;
display: block;
text-align: left;
padding-bottom: 0.5em;
}
.tablenav.bottom .tablenav-pages.one-page {
height: auto;
}
.tablenav-pages .tablenav-paging-text { .tablenav-pages .tablenav-paging-text {
float: right; float: right;
width: 100%; width: 100%;

File diff suppressed because one or more lines are too long

View File

@ -268,7 +268,7 @@ th .comment-grey-bubble {
th .comment-grey-bubble:before { th .comment-grey-bubble:before {
content: "\f101"; content: "\f101";
font: normal 20px/.5 dashicons; font: normal 20px/.5 dashicons;
speak: none; speak: never;
display: inline-block; display: inline-block;
padding: 0; padding: 0;
top: 4px; top: 4px;
@ -313,6 +313,9 @@ table.fixed {
.fixed .column-posts { .fixed .column-posts {
width: 74px; width: 74px;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
} }
.fixed .column-comment .comment-author { .fixed .column-comment .comment-author {
@ -450,7 +453,7 @@ table.media .column-title .filename {
.sorting-indicator:before { .sorting-indicator:before {
content: "\f142"; content: "\f142";
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
display: inline-block; display: inline-block;
padding: 0; padding: 0;
top: -4px; top: -4px;
@ -522,7 +525,7 @@ th.asc a:focus span.sorting-indicator:before {
line-height: 1; line-height: 1;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
speak: none; speak: never;
} }
.wp-list-table .is-expanded .toggle-row:before { .wp-list-table .is-expanded .toggle-row:before {
@ -541,7 +544,7 @@ th.asc a:focus span.sorting-indicator:before {
content: "\f160"; content: "\f160";
display: inline-block; display: inline-block;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
vertical-align: middle; vertical-align: middle;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
@ -709,7 +712,7 @@ th.asc a:focus span.sorting-indicator {
color: #b4b9be; color: #b4b9be;
display: inline-block; display: inline-block;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
vertical-align: middle; vertical-align: middle;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
@ -1312,7 +1315,7 @@ ul.cat-checklist {
display: inline-block; display: inline-block;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
margin: 3px 5px 0 -2px; margin: 3px 5px 0 -2px;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
vertical-align: top; vertical-align: top;
@ -1522,7 +1525,7 @@ div.action-links,
.plugin-card .column-compatibility span:before { .plugin-card .column-compatibility span:before {
font: normal 20px/.5 dashicons; font: normal 20px/.5 dashicons;
speak: none; speak: never;
display: inline-block; display: inline-block;
padding: 0; padding: 0;
top: 4px; top: 4px;
@ -1696,7 +1699,7 @@ div.action-links,
} }
.tablenav.bottom .tablenav-pages.one-page { .tablenav.bottom .tablenav-pages.one-page {
margin: 15px 0 0 0; margin-top: 15px;
height: 0; height: 0;
} }
@ -2152,6 +2155,18 @@ div.action-links,
grid-template-columns: auto auto; grid-template-columns: auto auto;
} }
.tablenav.bottom .displaying-num {
position: relative;
top: 0;
display: block;
text-align: right;
padding-bottom: 0.5em;
}
.tablenav.bottom .tablenav-pages.one-page {
height: auto;
}
.tablenav-pages .tablenav-paging-text { .tablenav-pages .tablenav-paging-text {
float: left; float: left;
width: 100%; width: 100%;

File diff suppressed because one or more lines are too long

View File

@ -202,6 +202,10 @@
display: block; display: block;
} }
#html-upload-ui #async-upload {
font-size: 1em;
}
.media-upload-form .media-item.error, .media-upload-form .media-item.error,
.media-upload-form .media-item .error { .media-upload-form .media-item .error {
width: auto; width: auto;
@ -322,7 +326,7 @@
#find-posts-close:before { #find-posts-close:before {
font: normal 20px/36px dashicons; font: normal 20px/36px dashicons;
vertical-align: top; vertical-align: top;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
content: "\f158"; content: "\f158";
@ -805,7 +809,12 @@ border color while dragging a file over the uploader drop area */
clear: both; clear: both;
} }
.copy-to-clipboard-container .copy-attachment-url {
white-space: normal;
}
.copy-to-clipboard-container .success { .copy-to-clipboard-container .success {
color: #40860a;
margin-right: 8px; margin-right: 8px;
} }
@ -954,7 +963,7 @@ border color while dragging a file over the uploader drop area */
.imgedit-menu .button:before { .imgedit-menu .button:before {
font: normal 16px/1 dashicons; font: normal 16px/1 dashicons;
margin-left: 8px; margin-left: 8px;
speak: none; speak: never;
vertical-align: middle; vertical-align: middle;
position: relative; position: relative;
top: -2px; top: -2px;
@ -1170,15 +1179,19 @@ audio, video {
max-width: 100%; max-width: 100%;
} }
.mejs-container { .wp-core-ui .mejs-container {
width: 100%; width: 100%;
max-width: 100%; max-width: 100%;
} }
.mejs-container .mejs-controls { .wp-core-ui .mejs-container * {
box-sizing: border-box; box-sizing: border-box;
} }
.wp-core-ui .mejs-time {
box-sizing: content-box;
}
/* =Media Queries /* =Media Queries
-------------------------------------------------------------- */ -------------------------------------------------------------- */

File diff suppressed because one or more lines are too long

View File

@ -201,6 +201,10 @@
display: block; display: block;
} }
#html-upload-ui #async-upload {
font-size: 1em;
}
.media-upload-form .media-item.error, .media-upload-form .media-item.error,
.media-upload-form .media-item .error { .media-upload-form .media-item .error {
width: auto; width: auto;
@ -321,7 +325,7 @@
#find-posts-close:before { #find-posts-close:before {
font: normal 20px/36px dashicons; font: normal 20px/36px dashicons;
vertical-align: top; vertical-align: top;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
content: "\f158"; content: "\f158";
@ -804,7 +808,12 @@ border color while dragging a file over the uploader drop area */
clear: both; clear: both;
} }
.copy-to-clipboard-container .copy-attachment-url {
white-space: normal;
}
.copy-to-clipboard-container .success { .copy-to-clipboard-container .success {
color: #40860a;
margin-left: 8px; margin-left: 8px;
} }
@ -953,7 +962,7 @@ border color while dragging a file over the uploader drop area */
.imgedit-menu .button:before { .imgedit-menu .button:before {
font: normal 16px/1 dashicons; font: normal 16px/1 dashicons;
margin-right: 8px; margin-right: 8px;
speak: none; speak: never;
vertical-align: middle; vertical-align: middle;
position: relative; position: relative;
top: -2px; top: -2px;
@ -1169,15 +1178,19 @@ audio, video {
max-width: 100%; max-width: 100%;
} }
.mejs-container { .wp-core-ui .mejs-container {
width: 100%; width: 100%;
max-width: 100%; max-width: 100%;
} }
.mejs-container .mejs-controls { .wp-core-ui .mejs-container * {
box-sizing: border-box; box-sizing: border-box;
} }
.wp-core-ui .mejs-time {
box-sizing: content-box;
}
/* =Media Queries /* =Media Queries
-------------------------------------------------------------- */ -------------------------------------------------------------- */

File diff suppressed because one or more lines are too long

View File

@ -446,7 +446,7 @@ ul.add-menu-item-tabs li {
padding: 10px 15px; padding: 10px 15px;
height: auto; height: auto;
min-height: 20px; min-height: 20px;
width: 382px; max-width: 382px;
line-height: 2.30769230; line-height: 2.30769230;
overflow: hidden; overflow: hidden;
word-wrap: break-word; word-wrap: break-word;
@ -640,8 +640,8 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
.menu-item-settings { .menu-item-settings {
display: block; display: block;
width: 402px; max-width: 392px;
padding: 10px 10px 10px 0; padding: 10px;
position: relative; position: relative;
z-index: 10; /* Keep .item-title's shadow from appearing on top of .menu-item-settings */ z-index: 10; /* Keep .item-title's shadow from appearing on top of .menu-item-settings */
border: 1px solid #ccd0d4; border: 1px solid #ccd0d4;
@ -711,11 +711,15 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
} }
.description-thin { .description-thin {
width: 190px; width: calc(50% - 5px);
}
.menu-item-settings .description-thin + .description-thin {
margin-left: 0;
} }
.description-wide { .description-wide {
width: 390px; width: 100%;
} }
.menu-item-actions { .menu-item-actions {
@ -760,22 +764,18 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
/* =Media Queries /* =Media Queries
-------------------------------------------------------------- */ -------------------------------------------------------------- */
@media only screen and (min-width: 769px) and (max-width: 1000px){ @media only screen and (min-width: 769px) and (max-width: 1000px) {
body.menu-max-depth-0 { body.menu-max-depth-0 {
min-width: 0 !important; min-width: 0 !important;
} }
#menu-management-liquid{ #menu-management-liquid {
width: 100%; width: 100%;
} }
.nav-menus-php #post-body-content{ .nav-menus-php #post-body-content {
min-width: 0; min-width: 0;
} }
.menu-item-bar .menu-item-handle{
width: 90%;
}
} }
@media screen and (max-width: 782px) { @media screen and (max-width: 782px) {

File diff suppressed because one or more lines are too long

View File

@ -445,7 +445,7 @@ ul.add-menu-item-tabs li {
padding: 10px 15px; padding: 10px 15px;
height: auto; height: auto;
min-height: 20px; min-height: 20px;
width: 382px; max-width: 382px;
line-height: 2.30769230; line-height: 2.30769230;
overflow: hidden; overflow: hidden;
word-wrap: break-word; word-wrap: break-word;
@ -639,8 +639,8 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
.menu-item-settings { .menu-item-settings {
display: block; display: block;
width: 402px; max-width: 392px;
padding: 10px 0 10px 10px; padding: 10px;
position: relative; position: relative;
z-index: 10; /* Keep .item-title's shadow from appearing on top of .menu-item-settings */ z-index: 10; /* Keep .item-title's shadow from appearing on top of .menu-item-settings */
border: 1px solid #ccd0d4; border: 1px solid #ccd0d4;
@ -710,11 +710,15 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
} }
.description-thin { .description-thin {
width: 190px; width: calc(50% - 5px);
}
.menu-item-settings .description-thin + .description-thin {
margin-right: 0;
} }
.description-wide { .description-wide {
width: 390px; width: 100%;
} }
.menu-item-actions { .menu-item-actions {
@ -759,22 +763,18 @@ body.menu-max-depth-11 { min-width: 1280px !important; }
/* =Media Queries /* =Media Queries
-------------------------------------------------------------- */ -------------------------------------------------------------- */
@media only screen and (min-width: 769px) and (max-width: 1000px){ @media only screen and (min-width: 769px) and (max-width: 1000px) {
body.menu-max-depth-0 { body.menu-max-depth-0 {
min-width: 0 !important; min-width: 0 !important;
} }
#menu-management-liquid{ #menu-management-liquid {
width: 100%; width: 100%;
} }
.nav-menus-php #post-body-content{ .nav-menus-php #post-body-content {
min-width: 0; min-width: 0;
} }
.menu-item-bar .menu-item-handle{
width: 90%;
}
} }
@media screen and (max-width: 782px) { @media screen and (max-width: 782px) {

File diff suppressed because one or more lines are too long

View File

@ -492,7 +492,7 @@ div.revisions-controls > .wp-slider > .ui-slider-handle {
color: #555; color: #555;
content: "\f229"; content: "\f229";
font: normal 18px/1 dashicons; font: normal 18px/1 dashicons;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }

File diff suppressed because one or more lines are too long

View File

@ -491,7 +491,7 @@ div.revisions-controls > .wp-slider > .ui-slider-handle {
color: #555; color: #555;
content: "\f229"; content: "\f229";
font: normal 18px/1 dashicons; font: normal 18px/1 dashicons;
speak: none; speak: never;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }

File diff suppressed because one or more lines are too long

View File

@ -15,7 +15,6 @@
} }
.health-check-body h2 { .health-check-body h2 {
padding: 1rem 0;
line-height: 1.4; line-height: 1.4;
} }

File diff suppressed because one or more lines are too long

View File

@ -14,7 +14,6 @@
} }
.health-check-body h2 { .health-check-body h2 {
padding: 1rem 0;
line-height: 1.4; line-height: 1.4;
} }

File diff suppressed because one or more lines are too long

View File

@ -1600,7 +1600,7 @@ body.full-overlay-active {
content: "\f148"; content: "\f148";
background: #eee; background: #eee;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
padding: 0; padding: 0;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
@ -1976,6 +1976,6 @@ body.full-overlay-active {
.theme-info .updating-message:before, .theme-info .updating-message:before,
.theme-info .updated-message:before, .theme-info .updated-message:before,
.theme-install.updating-message:before { .theme-install.updating-message:before {
speak: none; speak: never;
} }
} }

File diff suppressed because one or more lines are too long

View File

@ -1599,7 +1599,7 @@ body.full-overlay-active {
content: "\f148"; content: "\f148";
background: #eee; background: #eee;
font: normal 20px/1 dashicons; font: normal 20px/1 dashicons;
speak: none; speak: never;
padding: 0; padding: 0;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
@ -1975,6 +1975,6 @@ body.full-overlay-active {
.theme-info .updating-message:before, .theme-info .updating-message:before,
.theme-info .updated-message:before, .theme-info .updated-message:before,
.theme-install.updating-message:before { .theme-install.updating-message:before {
speak: none; speak: never;
} }
} }

File diff suppressed because one or more lines are too long

View File

@ -120,7 +120,7 @@ if ( $doaction ) {
$redirect_to = add_query_arg( 'deleted', $deleted, $redirect_to ); $redirect_to = add_query_arg( 'deleted', $deleted, $redirect_to );
} }
if ( $trashed || $spammed ) { if ( $trashed || $spammed ) {
$redirect_to = add_query_arg( 'ids', join( ',', $comment_ids ), $redirect_to ); $redirect_to = add_query_arg( 'ids', implode( ',', $comment_ids ), $redirect_to );
} }
wp_safe_redirect( $redirect_to ); wp_safe_redirect( $redirect_to );
@ -232,8 +232,8 @@ if ( isset( $_REQUEST['s'] ) && strlen( $_REQUEST['s'] ) ) {
echo '<span class="subtitle">'; echo '<span class="subtitle">';
printf( printf(
/* translators: %s: Search query. */ /* translators: %s: Search query. */
__( 'Search results for &#8220;%s&#8221;' ), __( 'Search results for: %s' ),
wp_html_excerpt( esc_html( wp_unslash( $_REQUEST['s'] ) ), 50, '&hellip;' ) '<strong>' . wp_html_excerpt( esc_html( wp_unslash( $_REQUEST['s'] ) ), 50, '&hellip;' ) . '</strong>'
); );
echo '</span>'; echo '</span>';
} }
@ -329,7 +329,7 @@ if ( isset( $_REQUEST['approved'] ) || isset( $_REQUEST['deleted'] ) || isset( $
<?php $wp_list_table->search_box( __( 'Search Comments' ), 'comment' ); ?> <?php $wp_list_table->search_box( __( 'Search Comments' ), 'comment' ); ?>
<?php if ( $post_id ) : ?> <?php if ( $post_id ) : ?>
<input type="hidden" name="p" value="<?php echo esc_attr( intval( $post_id ) ); ?>" /> <input type="hidden" name="p" value="<?php echo esc_attr( (int) $post_id ); ?>" />
<?php endif; ?> <?php endif; ?>
<input type="hidden" name="comment_status" value="<?php echo esc_attr( $comment_status ); ?>" /> <input type="hidden" name="comment_status" value="<?php echo esc_attr( $comment_status ); ?>" />
<input type="hidden" name="pagegen_timestamp" value="<?php echo esc_attr( current_time( 'mysql', 1 ) ); ?>" /> <input type="hidden" name="pagegen_timestamp" value="<?php echo esc_attr( current_time( 'mysql', 1 ) ); ?>" />

View File

@ -44,22 +44,24 @@ wp_enqueue_script( 'post' );
$_wp_editor_expand = false; $_wp_editor_expand = false;
$_content_editor_dfw = false; $_content_editor_dfw = false;
/** if ( post_type_supports( $post_type, 'editor' )
* Filters whether to enable the 'expand' functionality in the post editor. && ! wp_is_mobile()
* && ! ( $is_IE && preg_match( '/MSIE [5678]/', $_SERVER['HTTP_USER_AGENT'] ) )
* @since 4.0.0 ) {
* @since 4.1.0 Added the `$post_type` parameter. /**
* * Filters whether to enable the 'expand' functionality in the post editor.
* @param bool $expand Whether to enable the 'expand' functionality. Default true. *
* @param string $post_type Post type. * @since 4.0.0
*/ * @since 4.1.0 Added the `$post_type` parameter.
if ( post_type_supports( $post_type, 'editor' ) && ! wp_is_mobile() && *
! ( $is_IE && preg_match( '/MSIE [5678]/', $_SERVER['HTTP_USER_AGENT'] ) ) && * @param bool $expand Whether to enable the 'expand' functionality. Default true.
apply_filters( 'wp_editor_expand', true, $post_type ) ) { * @param string $post_type Post type.
*/
wp_enqueue_script( 'editor-expand' ); if ( apply_filters( 'wp_editor_expand', true, $post_type ) ) {
$_content_editor_dfw = true; wp_enqueue_script( 'editor-expand' );
$_wp_editor_expand = ( 'on' === get_user_setting( 'editor_expand', 'on' ) ); $_content_editor_dfw = true;
$_wp_editor_expand = ( 'on' === get_user_setting( 'editor_expand', 'on' ) );
}
} }
if ( wp_is_mobile() ) { if ( wp_is_mobile() ) {
@ -169,9 +171,9 @@ if ( $viewable ) {
$scheduled_date = sprintf( $scheduled_date = sprintf(
/* translators: Publish box date string. 1: Date, 2: Time. */ /* translators: Publish box date string. 1: Date, 2: Time. */
__( '%1$s at %2$s' ), __( '%1$s at %2$s' ),
/* translators: Publish box date format, see https://www.php.net/date */ /* translators: Publish box date format, see https://www.php.net/manual/datetime.format.php */
date_i18n( _x( 'M j, Y', 'publish box date format' ), strtotime( $post->post_date ) ), date_i18n( _x( 'M j, Y', 'publish box date format' ), strtotime( $post->post_date ) ),
/* translators: Publish box time format, see https://www.php.net/date */ /* translators: Publish box time format, see https://www.php.net/manual/datetime.format.php */
date_i18n( _x( 'H:i', 'publish box time format' ), strtotime( $post->post_date ) ) date_i18n( _x( 'H:i', 'publish box time format' ), strtotime( $post->post_date ) )
); );

View File

@ -32,6 +32,11 @@ $current_screen->is_block_editor( true );
*/ */
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
/*
* Block editor implements its own Options menu for toggling Document Panels.
*/
add_filter( 'screen_options_show_screen', '__return_false' );
wp_enqueue_script( 'heartbeat' ); wp_enqueue_script( 'heartbeat' );
wp_enqueue_script( 'wp-edit-post' ); wp_enqueue_script( 'wp-edit-post' );
wp_enqueue_script( 'wp-format-library' ); wp_enqueue_script( 'wp-format-library' );
@ -69,7 +74,7 @@ $preload_paths = apply_filters( 'block_editor_preload_paths', $preload_paths, $p
* Because API preloading can call the_content and other filters, plugins * Because API preloading can call the_content and other filters, plugins
* can unexpectedly modify $post. * can unexpectedly modify $post.
*/ */
$backup_global_post = $post; $backup_global_post = clone $post;
$preload_data = array_reduce( $preload_data = array_reduce(
$preload_paths, $preload_paths,
@ -125,7 +130,11 @@ $meta_box_url = add_query_arg(
), ),
$meta_box_url $meta_box_url
); );
wp_localize_script( 'wp-editor', '_wpMetaBoxUrl', $meta_box_url ); wp_add_inline_script(
'wp-editor',
sprintf( 'var _wpMetaBoxUrl = %s;', wp_json_encode( $meta_box_url ) ),
'before'
);
/* /*

View File

@ -124,9 +124,9 @@ switch ( $comment->comment_approved ) {
$submitted = sprintf( $submitted = sprintf(
/* translators: 1: Comment date, 2: Comment time. */ /* translators: 1: Comment date, 2: Comment time. */
__( '%1$s at %2$s' ), __( '%1$s at %2$s' ),
/* translators: Publish box date format, see https://www.php.net/date */ /* translators: Publish box date format, see https://www.php.net/manual/datetime.format.php */
date_i18n( _x( 'M j, Y', 'publish box date format' ), strtotime( $comment->comment_date ) ), date_i18n( _x( 'M j, Y', 'publish box date format' ), strtotime( $comment->comment_date ) ),
/* translators: Publish box time format, see https://www.php.net/date */ /* translators: Publish box time format, see https://www.php.net/manual/datetime.format.php */
date_i18n( _x( 'H:i', 'publish box time format' ), strtotime( $comment->comment_date ) ) date_i18n( _x( 'H:i', 'publish box time format' ), strtotime( $comment->comment_date ) )
); );
?> ?>

View File

@ -138,7 +138,7 @@ if ( isset( $tag->name ) ) {
<th scope="row"><label for="slug"><?php _e( 'Slug' ); ?></label></th> <th scope="row"><label for="slug"><?php _e( 'Slug' ); ?></label></th>
<?php <?php
/** /**
* Filters the editable slug. * Filters the editable slug for a post or term.
* *
* Note: This is a multi-use hook in that it is leveraged both for editable * Note: This is a multi-use hook in that it is leveraged both for editable
* post URIs and term slugs. * post URIs and term slugs.
@ -148,7 +148,7 @@ if ( isset( $tag->name ) ) {
* *
* @param string $slug The editable slug. Will be either a term slug or post URI depending * @param string $slug The editable slug. Will be either a term slug or post URI depending
* upon the context in which it is evaluated. * upon the context in which it is evaluated.
* @param WP_Term|WP_Post $tag Term or WP_Post object. * @param WP_Term|WP_Post $tag Term or post object.
*/ */
$slug = isset( $tag->slug ) ? apply_filters( 'editable_slug', $tag->slug, $tag ) : ''; $slug = isset( $tag->slug ) ? apply_filters( 'editable_slug', $tag->slug, $tag ) : '';
?> ?>

View File

@ -338,8 +338,13 @@ if ( is_plugin_active( 'wpcat2tag-importer/wpcat2tag-importer.php' ) ) {
<?php <?php
if ( isset( $_REQUEST['s'] ) && strlen( $_REQUEST['s'] ) ) { if ( isset( $_REQUEST['s'] ) && strlen( $_REQUEST['s'] ) ) {
/* translators: %s: Search query. */ echo '<span class="subtitle">';
printf( '<span class="subtitle">' . __( 'Search results for &#8220;%s&#8221;' ) . '</span>', esc_html( wp_unslash( $_REQUEST['s'] ) ) ); printf(
/* translators: %s: Search query. */
__( 'Search results for: %s' ),
'<strong>' . esc_html( wp_unslash( $_REQUEST['s'] ) ) . '</strong>'
);
echo '</span>';
} }
?> ?>

View File

@ -126,7 +126,7 @@ if ( $doaction ) {
$sendback = add_query_arg( $sendback = add_query_arg(
array( array(
'trashed' => $trashed, 'trashed' => $trashed,
'ids' => join( ',', $post_ids ), 'ids' => implode( ',', $post_ids ),
'locked' => $locked, 'locked' => $locked,
), ),
$sendback $sendback
@ -134,6 +134,11 @@ if ( $doaction ) {
break; break;
case 'untrash': case 'untrash':
$untrashed = 0; $untrashed = 0;
if ( isset( $_GET['doaction'] ) && ( 'undo' === $_GET['doaction'] ) ) {
add_filter( 'wp_untrash_post_status', 'wp_untrash_post_set_previous_status', 10, 3 );
}
foreach ( (array) $post_ids as $post_id ) { foreach ( (array) $post_ids as $post_id ) {
if ( ! current_user_can( 'delete_post', $post_id ) ) { if ( ! current_user_can( 'delete_post', $post_id ) ) {
wp_die( __( 'Sorry, you are not allowed to restore this item from the Trash.' ) ); wp_die( __( 'Sorry, you are not allowed to restore this item from the Trash.' ) );
@ -146,6 +151,9 @@ if ( $doaction ) {
$untrashed++; $untrashed++;
} }
$sendback = add_query_arg( 'untrashed', $untrashed, $sendback ); $sendback = add_query_arg( 'untrashed', $untrashed, $sendback );
remove_filter( 'wp_untrash_post_status', 'wp_untrash_post_set_previous_status', 10, 3 );
break; break;
case 'delete': case 'delete':
$deleted = 0; $deleted = 0;
@ -398,8 +406,13 @@ if ( current_user_can( $post_type_object->cap->create_posts ) ) {
} }
if ( isset( $_REQUEST['s'] ) && strlen( $_REQUEST['s'] ) ) { if ( isset( $_REQUEST['s'] ) && strlen( $_REQUEST['s'] ) ) {
/* translators: %s: Search query. */ echo '<span class="subtitle">';
printf( ' <span class="subtitle">' . __( 'Search results for &#8220;%s&#8221;' ) . '</span>', get_search_query() ); printf(
/* translators: %s: Search query. */
__( 'Search results for: %s' ),
'<strong>' . get_search_query() . '</strong>'
);
echo '</span>';
} }
?> ?>
@ -419,10 +432,22 @@ foreach ( $bulk_counts as $message => $count ) {
$ids = preg_replace( '/[^0-9,]/', '', $_REQUEST['ids'] ); $ids = preg_replace( '/[^0-9,]/', '', $_REQUEST['ids'] );
$messages[] = '<a href="' . esc_url( wp_nonce_url( "edit.php?post_type=$post_type&doaction=undo&action=untrash&ids=$ids", 'bulk-posts' ) ) . '">' . __( 'Undo' ) . '</a>'; $messages[] = '<a href="' . esc_url( wp_nonce_url( "edit.php?post_type=$post_type&doaction=undo&action=untrash&ids=$ids", 'bulk-posts' ) ) . '">' . __( 'Undo' ) . '</a>';
} }
if ( 'untrashed' === $message && isset( $_REQUEST['ids'] ) ) {
$ids = explode( ',', $_REQUEST['ids'] );
if ( 1 === count( $ids ) && current_user_can( 'edit_post', $ids[0] ) ) {
$messages[] = sprintf(
'<a href="%1$s">%2$s</a>',
esc_url( get_edit_post_link( $ids[0] ) ),
esc_html( get_post_type_object( get_post_type( $ids[0] ) )->labels->edit_item )
);
}
}
} }
if ( $messages ) { if ( $messages ) {
echo '<div id="message" class="updated notice is-dismissible"><p>' . join( ' ', $messages ) . '</p></div>'; echo '<div id="message" class="updated notice is-dismissible"><p>' . implode( ' ', $messages ) . '</p></div>';
} }
unset( $messages ); unset( $messages );
@ -457,7 +482,7 @@ if ( $wp_list_table->has_items() ) {
?> ?>
<div id="ajax-response"></div> <div id="ajax-response"></div>
<br class="clear" /> <div class="clear" /></div>
</div> </div>
<?php <?php

View File

@ -10,7 +10,7 @@
require_once __DIR__ . '/admin.php'; require_once __DIR__ . '/admin.php';
if ( ! current_user_can( 'erase_others_personal_data' ) || ! current_user_can( 'delete_users' ) ) { if ( ! current_user_can( 'erase_others_personal_data' ) || ! current_user_can( 'delete_users' ) ) {
wp_die( __( 'Sorry, you are not allowed to erase data on this site.' ) ); wp_die( __( 'Sorry, you are not allowed to erase personal data on this site.' ) );
} }
// Handle list table actions. // Handle list table actions.

View File

@ -24,15 +24,27 @@ require_once ABSPATH . 'wp-admin/admin-header.php';
<div class="wrap about__container"> <div class="wrap about__container">
<div class="about__header"> <div class="about__header">
<div class="about__header-text"> <div class="about__header-image">
<?php _e( 'Speed. Search. Security.' ); ?> <picture>
<source media="(max-width: 782px)" srcset="data:image/svg+xml,<?php echo rawurlencode( '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 205 109" width="205"><g fill="none" fill-rule="evenodd"><path fill="#000" fill-rule="nonzero" d="M65.901 108.433c2.546-5.254 4.927-9.195 7.143-11.822H1.246v-5.173h71.798c-2.216-2.627-4.597-6.568-7.143-11.822h4.31c5.173 5.993 10.592 10.427 16.257 13.3v2.217c-5.665 2.791-11.084 7.225-16.256 13.3h-4.31z"/><path fill="#000" fill-rule="nonzero" d="M29.345 26.834c-.129 1.365-.633 2.432-1.512 3.2-.879.76-2.048 1.142-3.507 1.142-1.02 0-1.919-.24-2.698-.72-.773-.487-1.371-1.176-1.793-2.066-.422-.891-.641-1.925-.659-3.103v-1.195c0-1.207.214-2.27.642-3.19.427-.92 1.04-1.63 1.836-2.128.803-.498 1.729-.747 2.778-.747 1.412 0 2.549.384 3.41 1.152.861.767 1.362 1.851 1.503 3.252H27.13c-.105-.92-.375-1.582-.809-1.987-.427-.41-1.057-.615-1.89-.615-.966 0-1.71.355-2.232 1.064-.515.703-.779 1.737-.79 3.102v1.134c0 1.383.245 2.437.738 3.164.498.727 1.224 1.09 2.18 1.09.872 0 1.529-.197 1.968-.59.44-.392.718-1.045.835-1.959h2.215zm14.008-1.898c0 1.253-.217 2.355-.65 3.304-.434.944-1.055 1.67-1.864 2.18-.803.504-1.728.756-2.777.756-1.037 0-1.963-.252-2.777-.756-.809-.51-1.436-1.234-1.881-2.171-.44-.938-.662-2.018-.668-3.243v-.72c0-1.249.22-2.35.659-3.306.445-.955 1.07-1.684 1.872-2.188.809-.51 1.734-.765 2.777-.765 1.043 0 1.966.252 2.769.756.808.498 1.432 1.219 1.872 2.162.44.938.662 2.03.668 3.279v.712zm-2.224-.668c0-1.418-.27-2.505-.808-3.261-.534-.756-1.292-1.134-2.277-1.134-.96 0-1.714.378-2.258 1.134-.54.75-.815 1.813-.827 3.19v.739c0 1.406.273 2.493.818 3.26.55.768 1.312 1.152 2.285 1.152.984 0 1.74-.375 2.267-1.125.534-.75.8-1.846.8-3.287v-.668zM47.368 31V18.203h3.78c1.13 0 2.132.252 3.005.756a5.146 5.146 0 012.039 2.145c.48.925.72 1.986.72 3.181v.642c0 1.213-.243 2.28-.729 3.199a5.057 5.057 0 01-2.065 2.127c-.89.498-1.913.747-3.068.747h-3.682zm2.223-11.004v9.229h1.45c1.167 0 2.06-.364 2.681-1.09.627-.733.947-1.782.958-3.147v-.712c0-1.388-.302-2.449-.905-3.181-.604-.733-1.48-1.099-2.628-1.099h-1.556zm18.816 5.291h-5.256v3.938h6.144V31h-8.368V18.203h8.306v1.793h-6.082v3.533h5.256v1.758zM81.534 31H79.32V18.203h2.215V31zm11.222-3.296c0-.562-.199-.996-.597-1.3-.393-.305-1.105-.613-2.136-.924-1.031-.31-1.852-.656-2.461-1.037-1.166-.732-1.75-1.687-1.75-2.865 0-1.031.42-1.88 1.258-2.549.843-.668 1.936-1.002 3.278-1.002.89 0 1.685.164 2.382.492a3.898 3.898 0 011.643 1.407c.399.603.598 1.274.598 2.013h-2.215c0-.669-.21-1.19-.633-1.565-.416-.38-1.013-.571-1.793-.571-.726 0-1.292.155-1.696.466-.398.31-.598.744-.598 1.3 0 .47.217.862.65 1.178.434.31 1.15.615 2.145.914.996.293 1.796.63 2.4 1.01.603.376 1.046.81 1.327 1.302.281.486.422 1.057.422 1.713 0 1.067-.41 1.916-1.23 2.55-.815.626-1.923.94-3.323.94-.926 0-1.778-.17-2.558-.51-.773-.346-1.376-.82-1.81-1.424-.428-.603-.642-1.306-.642-2.11h2.224c0 .727.24 1.29.72 1.688.481.399 1.17.598 2.066.598.774 0 1.354-.155 1.74-.466.393-.316.59-.732.59-1.248zm14.481-1.459V31h-2.224V18.203h4.896c1.43 0 2.563.372 3.401 1.116.844.745 1.266 1.729 1.266 2.954 0 1.253-.413 2.229-1.239 2.926-.821.697-1.972 1.046-3.454 1.046h-2.646zm0-1.784h2.672c.791 0 1.395-.185 1.811-.554.416-.375.624-.914.624-1.617 0-.691-.211-1.242-.633-1.652-.422-.416-1.002-.63-1.74-.642h-2.734v4.465zm21.303.475c0 1.253-.217 2.355-.65 3.304-.434.944-1.055 1.67-1.864 2.18-.802.504-1.728.756-2.777.756-1.037 0-1.963-.252-2.777-.756-.809-.51-1.436-1.234-1.881-2.171-.44-.938-.662-2.018-.668-3.243v-.72c0-1.249.22-2.35.659-3.306.445-.955 1.069-1.684 1.872-2.188.809-.51 1.734-.765 2.777-.765 1.043 0 1.966.252 2.769.756.809.498 1.433 1.219 1.872 2.162.44.938.662 2.03.668 3.279v.712zm-2.224-.668c0-1.418-.269-2.505-.808-3.261-.533-.756-1.292-1.134-2.277-1.134-.96 0-1.713.378-2.258 1.134-.539.75-.815 1.813-.827 3.19v.739c0 1.406.273 2.493.818 3.26.551.768 1.312 1.152 2.285 1.152.984 0 1.74-.375 2.268-1.125.533-.75.799-1.846.799-3.287v-.668zm13.718 1.02h-5.255v3.937h6.143V31h-8.367V18.203h8.306v1.793h-6.082v3.533h5.255v1.758zm13.92-5.292h-3.99V31h-2.206V19.996h-3.955v-1.793h10.151v1.793zm8.19 6.073h-2.478V31h-2.224V18.203h4.5c1.477 0 2.616.331 3.419.993.803.662 1.204 1.62 1.204 2.874 0 .856-.208 1.574-.624 2.154-.41.574-.984 1.016-1.723 1.327l2.874 5.335V31h-2.381l-2.567-4.93zm-2.478-1.784h2.285c.75 0 1.336-.187 1.758-.562.421-.381.632-.9.632-1.556 0-.686-.196-1.216-.588-1.59-.387-.376-.967-.57-1.741-.58h-2.346v4.288zm14.561-.017l2.945-6.065h2.461l-4.289 8.086V31h-2.233v-4.71l-4.298-8.087h2.47l2.944 6.065z"/><path stroke="#000" stroke-width="2" d="M2 1h201v46H2z"/></g></svg>' ); ?>" />
<img alt="<?php _e( 'Code is Poetry' ); ?>" src="data:image/svg+xml,<?php echo rawurlencode( '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 1210 48"><path fill="#000" d="M65.875 39.875c2.583-5.333 5-9.333 7.25-12H.25v-5.25h72.875c-2.25-2.667-4.667-6.667-7.25-12h4.375c5.25 6.083 10.75 10.583 16.5 13.5v2.25c-5.75 2.833-11.25 7.333-16.5 13.5h-4.375zM1035.34 26.834c-.12 1.365-.63 2.432-1.51 3.2-.88.76-2.04 1.142-3.5 1.142-1.02 0-1.92-.24-2.7-.72-.78-.487-1.37-1.176-1.79-2.066-.43-.891-.65-1.925-.66-3.103v-1.195c0-1.207.21-2.27.64-3.19.43-.92 1.04-1.63 1.83-2.128.81-.498 1.73-.747 2.78-.747 1.41 0 2.55.384 3.41 1.152.86.767 1.36 1.851 1.5 3.252h-2.21c-.11-.92-.37-1.582-.81-1.987-.43-.41-1.06-.615-1.89-.615-.96 0-1.71.355-2.23 1.064-.52.703-.78 1.737-.79 3.102v1.134c0 1.383.24 2.437.74 3.164.49.727 1.22 1.09 2.18 1.09.87 0 1.53-.197 1.97-.59.43-.392.71-1.045.83-1.959h2.21zm14.01-1.898c0 1.253-.21 2.355-.65 3.304-.43.944-1.05 1.67-1.86 2.18-.8.504-1.73.756-2.78.756-1.04 0-1.96-.252-2.78-.756-.8-.51-1.43-1.234-1.88-2.171-.44-.938-.66-2.018-.66-3.243v-.72c0-1.249.22-2.35.65-3.306.45-.955 1.07-1.684 1.88-2.188.81-.51 1.73-.765 2.77-.765 1.05 0 1.97.252 2.77.756.81.498 1.44 1.219 1.87 2.162.44.938.67 2.03.67 3.279v.712zm-2.22-.668c0-1.418-.27-2.505-.81-3.261-.53-.756-1.29-1.134-2.28-1.134-.96 0-1.71.378-2.25 1.134-.54.75-.82 1.813-.83 3.19v.739c0 1.406.27 2.493.82 3.26.55.768 1.31 1.152 2.28 1.152.99 0 1.74-.375 2.27-1.125s.8-1.846.8-3.287v-.668zm6.24 6.732V18.203h3.78c1.13 0 2.13.252 3 .756a5.138 5.138 0 012.04 2.145c.48.925.72 1.986.72 3.181v.642c0 1.213-.24 2.28-.73 3.199a5.08 5.08 0 01-2.06 2.127c-.89.498-1.92.747-3.07.747h-3.68zm2.22-11.004v9.229h1.45c1.17 0 2.06-.364 2.68-1.09.63-.733.95-1.782.96-3.147v-.712c0-1.388-.3-2.449-.9-3.181-.61-.733-1.48-1.099-2.63-1.099h-1.56zm18.82 5.291h-5.26v3.938h6.14V31h-8.36V18.203h8.3v1.793h-6.08v3.533h5.26v1.758zM1087.53 31h-2.21V18.203h2.21V31zm11.23-3.296c0-.562-.2-.996-.6-1.3-.39-.305-1.11-.613-2.14-.924-1.03-.31-1.85-.656-2.46-1.037-1.16-.732-1.75-1.687-1.75-2.865 0-1.031.42-1.88 1.26-2.549.84-.668 1.94-1.002 3.28-1.002.89 0 1.68.164 2.38.492.7.329 1.25.797 1.64 1.407.4.603.6 1.274.6 2.013h-2.21c0-.669-.21-1.19-.64-1.565-.41-.38-1.01-.571-1.79-.571-.73 0-1.29.155-1.7.466-.39.31-.59.744-.59 1.3 0 .47.21.862.65 1.178.43.31 1.15.615 2.14.914 1 .293 1.8.63 2.4 1.01.6.376 1.05.81 1.33 1.302.28.486.42 1.057.42 1.713 0 1.067-.41 1.916-1.23 2.55-.82.626-1.92.94-3.32.94-.93 0-1.78-.17-2.56-.51-.77-.346-1.38-.82-1.81-1.424-.43-.603-.64-1.306-.64-2.11h2.22c0 .727.24 1.29.72 1.688.48.399 1.17.598 2.07.598.77 0 1.35-.155 1.74-.466.39-.316.59-.732.59-1.248zm14.48-1.459V31h-2.23V18.203h4.9c1.43 0 2.56.372 3.4 1.116.84.745 1.27 1.729 1.27 2.954 0 1.253-.42 2.229-1.24 2.926-.82.697-1.97 1.046-3.46 1.046h-2.64zm0-1.784h2.67c.79 0 1.39-.185 1.81-.554.42-.375.62-.914.62-1.617 0-.691-.21-1.242-.63-1.652-.42-.416-1-.63-1.74-.642h-2.73v4.465zm21.3.475c0 1.253-.22 2.355-.65 3.304-.43.944-1.06 1.67-1.86 2.18-.81.504-1.73.756-2.78.756-1.04 0-1.96-.252-2.78-.756-.81-.51-1.43-1.234-1.88-2.171-.44-.938-.66-2.018-.67-3.243v-.72c0-1.249.22-2.35.66-3.306.45-.955 1.07-1.684 1.87-2.188.81-.51 1.74-.765 2.78-.765 1.04 0 1.97.252 2.77.756.81.498 1.43 1.219 1.87 2.162.44.938.66 2.03.67 3.279v.712zm-2.22-.668c0-1.418-.27-2.505-.81-3.261-.54-.756-1.29-1.134-2.28-1.134-.96 0-1.71.378-2.26 1.134-.54.75-.81 1.813-.82 3.19v.739c0 1.406.27 2.493.81 3.26.55.768 1.32 1.152 2.29 1.152.98 0 1.74-.375 2.27-1.125s.8-1.846.8-3.287v-.668zm13.71 1.02h-5.25v3.937h6.14V31h-8.37V18.203h8.31v1.793h-6.08v3.533h5.25v1.758zm13.92-5.292h-3.99V31h-2.2V19.996h-3.96v-1.793h10.15v1.793zm8.19 6.073h-2.47V31h-2.23V18.203h4.5c1.48 0 2.62.331 3.42.993.8.662 1.21 1.62 1.21 2.874 0 .856-.21 1.574-.63 2.154-.41.574-.98 1.016-1.72 1.327l2.87 5.335V31h-2.38l-2.57-4.93zm-2.47-1.784h2.28c.75 0 1.34-.187 1.76-.562.42-.381.63-.9.63-1.556 0-.686-.19-1.216-.59-1.59-.38-.376-.96-.57-1.74-.58h-2.34v4.288zm14.56-.017l2.94-6.065h2.46l-4.29 8.086V31h-2.23v-4.71l-4.3-8.087h2.47l2.95 6.065z"/><path stroke="#000" stroke-width="2" d="M1008 1h201v46h-201z"/></svg>' ); ?>" />
</picture>
</div> </div>
<div class="about__header-title"> <div class="about__header-container">
<p> <div class="about__header-title">
<?php _e( 'WordPress' ); ?> <p>
<span><?php echo $display_version; ?></span> <?php _e( 'WordPress' ); ?>
</p> <?php echo $display_version; ?>
</p>
</div>
<div class="about__header-text">
<?php _e( 'Sharing your stories has never been easier' ); ?>
</div>
<div class="about__header-badge">
<img alt="<?php _e( 'New' ); ?>" src="data:image/svg+xml,<?php echo rawurlencode( '<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 153 153" width="115"><circle cx="76.5" cy="76.5" r="76.5" fill="#000"/><path fill="#D1CFE4" d="M53.333 86h-2.827L39.769 69.564V86H36.94V64.672h2.828L50.535 81.18V64.67h2.798V86zm26.05-9.858h-9.242V83.7h10.737V86h-13.55V64.672h13.403v2.314h-10.59v6.856h9.243v2.3zm18.596 3.134l.41 2.813.6-2.534 4.219-14.883h2.373l4.116 14.883.586 2.578.454-2.871 3.311-14.59h2.827L111.704 86h-2.563l-4.395-15.542-.337-1.626-.337 1.626L99.517 86h-2.564l-5.156-21.328h2.812l3.37 14.604z"/></svg>' ); ?>" />
</div>
</div> </div>
<nav class="about__header-navigation nav-tab-wrapper wp-clearfix" aria-label="<?php esc_attr_e( 'Secondary menu' ); ?>"> <nav class="about__header-navigation nav-tab-wrapper wp-clearfix" aria-label="<?php esc_attr_e( 'Secondary menu' ); ?>">
@ -82,9 +94,7 @@ require_once ABSPATH . 'wp-admin/admin-header.php';
</div> </div>
</div> </div>
<hr /> <div class="about__section has-1-column">
<div class="about__section">
<div class="column"> <div class="column">
<p> <p>
<?php <?php

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 KiB

BIN
wp-admin/images/privacy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View File

@ -162,7 +162,7 @@ function wp_ajax_ajax_tag_search() {
) )
); );
echo join( "\n", $results ); echo implode( "\n", $results );
wp_die(); wp_die();
} }
@ -227,7 +227,7 @@ function wp_ajax_wp_compression_test() {
* @since 3.1.0 * @since 3.1.0
*/ */
function wp_ajax_imgedit_preview() { function wp_ajax_imgedit_preview() {
$post_id = intval( $_GET['postid'] ); $post_id = (int) $_GET['postid'];
if ( empty( $post_id ) || ! current_user_can( 'edit_post', $post_id ) ) { if ( empty( $post_id ) || ! current_user_can( 'edit_post', $post_id ) ) {
wp_die( -1 ); wp_die( -1 );
} }
@ -1954,7 +1954,7 @@ function wp_ajax_menu_quick_search() {
*/ */
function wp_ajax_get_permalink() { function wp_ajax_get_permalink() {
check_ajax_referer( 'getpermalink', 'getpermalinknonce' ); check_ajax_referer( 'getpermalink', 'getpermalinknonce' );
$post_id = isset( $_POST['post_id'] ) ? intval( $_POST['post_id'] ) : 0; $post_id = isset( $_POST['post_id'] ) ? (int) $_POST['post_id'] : 0;
wp_die( get_preview_post_link( $post_id ) ); wp_die( get_preview_post_link( $post_id ) );
} }
@ -1965,7 +1965,7 @@ function wp_ajax_get_permalink() {
*/ */
function wp_ajax_sample_permalink() { function wp_ajax_sample_permalink() {
check_ajax_referer( 'samplepermalink', 'samplepermalinknonce' ); check_ajax_referer( 'samplepermalink', 'samplepermalinknonce' );
$post_id = isset( $_POST['post_id'] ) ? intval( $_POST['post_id'] ) : 0; $post_id = isset( $_POST['post_id'] ) ? (int) $_POST['post_id'] : 0;
$title = isset( $_POST['new_title'] ) ? $_POST['new_title'] : ''; $title = isset( $_POST['new_title'] ) ? $_POST['new_title'] : '';
$slug = isset( $_POST['new_slug'] ) ? $_POST['new_slug'] : null; $slug = isset( $_POST['new_slug'] ) ? $_POST['new_slug'] : null;
wp_die( get_sample_permalink_html( $post_id, $title, $slug ) ); wp_die( get_sample_permalink_html( $post_id, $title, $slug ) );
@ -2205,7 +2205,7 @@ function wp_ajax_find_posts() {
if ( '0000-00-00 00:00:00' === $post->post_date ) { if ( '0000-00-00 00:00:00' === $post->post_date ) {
$time = ''; $time = '';
} else { } else {
/* translators: Date format in table columns, see https://www.php.net/date */ /* translators: Date format in table columns, see https://www.php.net/manual/datetime.format.php */
$time = mysql2date( __( 'Y/m/d' ), $post->post_date ); $time = mysql2date( __( 'Y/m/d' ), $post->post_date );
} }
@ -2370,7 +2370,7 @@ function wp_ajax_save_widget() {
} }
/** /**
* Ajax handler for saving a widget. * Ajax handler for updating a widget.
* *
* @since 3.9.0 * @since 3.9.0
* *
@ -2594,7 +2594,7 @@ function wp_ajax_upload_attachment() {
* @since 3.1.0 * @since 3.1.0
*/ */
function wp_ajax_image_editor() { function wp_ajax_image_editor() {
$attachment_id = intval( $_POST['postid'] ); $attachment_id = (int) $_POST['postid'];
if ( empty( $attachment_id ) || ! current_user_can( 'edit_post', $attachment_id ) ) { if ( empty( $attachment_id ) || ! current_user_can( 'edit_post', $attachment_id ) ) {
wp_die( -1 ); wp_die( -1 );
@ -2651,12 +2651,12 @@ function wp_ajax_image_editor() {
function wp_ajax_set_post_thumbnail() { function wp_ajax_set_post_thumbnail() {
$json = ! empty( $_REQUEST['json'] ); // New-style request. $json = ! empty( $_REQUEST['json'] ); // New-style request.
$post_ID = intval( $_POST['post_id'] ); $post_ID = (int) $_POST['post_id'];
if ( ! current_user_can( 'edit_post', $post_ID ) ) { if ( ! current_user_can( 'edit_post', $post_ID ) ) {
wp_die( -1 ); wp_die( -1 );
} }
$thumbnail_id = intval( $_POST['thumbnail_id'] ); $thumbnail_id = (int) $_POST['thumbnail_id'];
if ( $json ) { if ( $json ) {
check_ajax_referer( "update-post_$post_ID" ); check_ajax_referer( "update-post_$post_ID" );
@ -2687,7 +2687,7 @@ function wp_ajax_set_post_thumbnail() {
* @since 4.6.0 * @since 4.6.0
*/ */
function wp_ajax_get_post_thumbnail_html() { function wp_ajax_get_post_thumbnail_html() {
$post_ID = intval( $_POST['post_id'] ); $post_ID = (int) $_POST['post_id'];
check_ajax_referer( "update-post_$post_ID" ); check_ajax_referer( "update-post_$post_ID" );
@ -2695,7 +2695,7 @@ function wp_ajax_get_post_thumbnail_html() {
wp_die( -1 ); wp_die( -1 );
} }
$thumbnail_id = intval( $_POST['thumbnail_id'] ); $thumbnail_id = (int) $_POST['thumbnail_id'];
// For backward compatibility, -1 refers to no featured image. // For backward compatibility, -1 refers to no featured image.
if ( -1 === $thumbnail_id ) { if ( -1 === $thumbnail_id ) {
@ -3208,7 +3208,7 @@ function wp_ajax_send_attachment_to_editor() {
$attachment = wp_unslash( $_POST['attachment'] ); $attachment = wp_unslash( $_POST['attachment'] );
$id = intval( $attachment['id'] ); $id = (int) $attachment['id'];
$post = get_post( $id ); $post = get_post( $id );
if ( ! $post ) { if ( ! $post ) {
@ -3221,7 +3221,7 @@ function wp_ajax_send_attachment_to_editor() {
if ( current_user_can( 'edit_post', $id ) ) { if ( current_user_can( 'edit_post', $id ) ) {
// If this attachment is unattached, attach it. Primarily a back compat thing. // If this attachment is unattached, attach it. Primarily a back compat thing.
$insert_into_post_id = intval( $_POST['post_id'] ); $insert_into_post_id = (int) $_POST['post_id'];
if ( 0 == $post->post_parent && $insert_into_post_id ) { if ( 0 == $post->post_parent && $insert_into_post_id ) {
wp_update_post( wp_update_post(
@ -3622,7 +3622,7 @@ function wp_ajax_parse_embed() {
wp_send_json_error(); wp_send_json_error();
} }
$post_id = isset( $_POST['post_ID'] ) ? intval( $_POST['post_ID'] ) : 0; $post_id = isset( $_POST['post_ID'] ) ? (int) $_POST['post_ID'] : 0;
if ( $post_id > 0 ) { if ( $post_id > 0 ) {
$post = get_post( $post_id ); $post = get_post( $post_id );
@ -3674,9 +3674,9 @@ function wp_ajax_parse_embed() {
// Set $content_width so any embeds fit in the destination iframe. // Set $content_width so any embeds fit in the destination iframe.
if ( isset( $_POST['maxwidth'] ) && is_numeric( $_POST['maxwidth'] ) && $_POST['maxwidth'] > 0 ) { if ( isset( $_POST['maxwidth'] ) && is_numeric( $_POST['maxwidth'] ) && $_POST['maxwidth'] > 0 ) {
if ( ! isset( $content_width ) ) { if ( ! isset( $content_width ) ) {
$content_width = intval( $_POST['maxwidth'] ); $content_width = (int) $_POST['maxwidth'];
} else { } else {
$content_width = min( $content_width, intval( $_POST['maxwidth'] ) ); $content_width = min( $content_width, (int) $_POST['maxwidth'] );
} }
} }
@ -5142,8 +5142,21 @@ function wp_ajax_wp_privacy_erase_personal_data() {
* Ajax handler for site health checks on server communication. * Ajax handler for site health checks on server communication.
* *
* @since 5.2.0 * @since 5.2.0
* @deprecated 5.6.0 Use WP_REST_Site_Health_Controller::test_dotorg_communication()
* @see WP_REST_Site_Health_Controller::test_dotorg_communication()
*/ */
function wp_ajax_health_check_dotorg_communication() { function wp_ajax_health_check_dotorg_communication() {
_doing_it_wrong(
'wp_ajax_health_check_dotorg_communication',
sprintf(
// translators: 1: The Site Health action that is no longer used by core. 2: The new function that replaces it.
__( 'The Site Health check for %1$s has been replaced with %2$s.' ),
'wp_ajax_health_check_dotorg_communication',
'WP_REST_Site_Health_Controller::test_dotorg_communication'
),
'5.6.0'
);
check_ajax_referer( 'health-check-site-status' ); check_ajax_referer( 'health-check-site-status' );
if ( ! current_user_can( 'view_site_health_checks' ) ) { if ( ! current_user_can( 'view_site_health_checks' ) ) {
@ -5158,32 +5171,25 @@ function wp_ajax_health_check_dotorg_communication() {
wp_send_json_success( $site_health->get_test_dotorg_communication() ); wp_send_json_success( $site_health->get_test_dotorg_communication() );
} }
/**
* Ajax handler for site health checks on debug mode.
*
* @since 5.2.0
*/
function wp_ajax_health_check_is_in_debug_mode() {
wp_verify_nonce( 'health-check-site-status' );
if ( ! current_user_can( 'view_site_health_checks' ) ) {
wp_send_json_error();
}
if ( ! class_exists( 'WP_Site_Health' ) ) {
require_once ABSPATH . 'wp-admin/includes/class-wp-site-health.php';
}
$site_health = WP_Site_Health::get_instance();
wp_send_json_success( $site_health->get_test_is_in_debug_mode() );
}
/** /**
* Ajax handler for site health checks on background updates. * Ajax handler for site health checks on background updates.
* *
* @since 5.2.0 * @since 5.2.0
* @deprecated 5.6.0 Use WP_REST_Site_Health_Controller::test_background_updates()
* @see WP_REST_Site_Health_Controller::test_background_updates()
*/ */
function wp_ajax_health_check_background_updates() { function wp_ajax_health_check_background_updates() {
_doing_it_wrong(
'wp_ajax_health_check_background_updates',
sprintf(
// translators: 1: The Site Health action that is no longer used by core. 2: The new function that replaces it.
__( 'The Site Health check for %1$s has been replaced with %2$s.' ),
'wp_ajax_health_check_background_updates',
'WP_REST_Site_Health_Controller::test_background_updates'
),
'5.6.0'
);
check_ajax_referer( 'health-check-site-status' ); check_ajax_referer( 'health-check-site-status' );
if ( ! current_user_can( 'view_site_health_checks' ) ) { if ( ! current_user_can( 'view_site_health_checks' ) ) {
@ -5202,8 +5208,21 @@ function wp_ajax_health_check_background_updates() {
* Ajax handler for site health checks on loopback requests. * Ajax handler for site health checks on loopback requests.
* *
* @since 5.2.0 * @since 5.2.0
* @deprecated 5.6.0 Use WP_REST_Site_Health_Controller::test_loopback_requests()
* @see WP_REST_Site_Health_Controller::test_loopback_requests()
*/ */
function wp_ajax_health_check_loopback_requests() { function wp_ajax_health_check_loopback_requests() {
_doing_it_wrong(
'wp_ajax_health_check_loopback_requests',
sprintf(
// translators: 1: The Site Health action that is no longer used by core. 2: The new function that replaces it.
__( 'The Site Health check for %1$s has been replaced with %2$s.' ),
'wp_ajax_health_check_loopback_requests',
'WP_REST_Site_Health_Controller::test_loopback_requests'
),
'5.6.0'
);
check_ajax_referer( 'health-check-site-status' ); check_ajax_referer( 'health-check-site-status' );
if ( ! current_user_can( 'view_site_health_checks' ) ) { if ( ! current_user_can( 'view_site_health_checks' ) ) {
@ -5239,8 +5258,21 @@ function wp_ajax_health_check_site_status_result() {
* Ajax handler for site health check to get directories and database sizes. * Ajax handler for site health check to get directories and database sizes.
* *
* @since 5.2.0 * @since 5.2.0
* @deprecated 5.6.0 Use WP_REST_Site_Health_Controller::get_directory_sizes()
* @see WP_REST_Site_Health_Controller::get_directory_sizes()
*/ */
function wp_ajax_health_check_get_sizes() { function wp_ajax_health_check_get_sizes() {
_doing_it_wrong(
'wp_ajax_health_check_get_sizes',
sprintf(
// translators: 1: The Site Health action that is no longer used by core. 2: The new function that replaces it.
__( 'The Site Health check for %1$s has been replaced with %2$s.' ),
'wp_ajax_health_check_get_sizes',
'WP_REST_Site_Health_Controller::get_directory_sizes'
),
'5.6.0'
);
check_ajax_referer( 'health-check-site-status-result' ); check_ajax_referer( 'health-check-site-status-result' );
if ( ! current_user_can( 'view_site_health_checks' ) || is_multisite() ) { if ( ! current_user_can( 'view_site_health_checks' ) || is_multisite() ) {

View File

@ -142,13 +142,34 @@ function get_link_to_edit( $link ) {
} }
/** /**
* Inserts/updates links into/in the database. * Inserts a link into the database, or updates an existing link.
*
* Runs all the necessary sanitizing, provides default values if arguments are missing,
* and finally saves the link.
* *
* @since 2.0.0 * @since 2.0.0
* *
* @global wpdb $wpdb WordPress database abstraction object. * @global wpdb $wpdb WordPress database abstraction object.
* *
* @param array $linkdata Elements that make up the link to insert. * @param array $linkdata {
* Elements that make up the link to insert.
*
* @type int $link_id Optional. The ID of the existing link if updating.
* @type string $link_url The URL the link points to.
* @type string $link_name The title of the link.
* @type string $link_image Optional. A URL of an image.
* @type string $link_target Optional. The target element for the anchor tag.
* @type string $link_description Optional. A short description of the link.
* @type string $link_visible Optional. 'Y' means visible, anything else means not.
* @type int $link_owner Optional. A user ID.
* @type int $link_rating Optional. A rating for the link.
* @type string $link_updated Optional. When the link was last updated.
* @type string $link_rel Optional. A relationship of the link to you.
* @type string $link_notes Optional. An extended description of or notes on the link.
* @type string $link_rss Optional. A URL of an associated RSS feed.
* @type int $link_category Optional. The term ID of the link category.
* If empty, uses default link category.
* }
* @param bool $wp_error Optional. Whether to return a WP_Error object on failure. Default false. * @param bool $wp_error Optional. Whether to return a WP_Error object on failure. Default false.
* @return int|WP_Error Value 0 or WP_Error on failure. The link ID on success. * @return int|WP_Error Value 0 or WP_Error on failure. The link ID on success.
*/ */
@ -274,7 +295,7 @@ function wp_set_link_cats( $link_id = 0, $link_categories = array() ) {
* *
* @since 2.0.0 * @since 2.0.0
* *
* @param array $linkdata Link data to update. * @param array $linkdata Link data to update. See wp_insert_link() for accepted arguments.
* @return int|WP_Error Value 0 or WP_Error on failure. The updated link ID on success. * @return int|WP_Error Value 0 or WP_Error on failure. The updated link ID on success.
*/ */
function wp_update_link( $linkdata ) { function wp_update_link( $linkdata ) {

View File

@ -8,7 +8,7 @@
*/ */
/** /**
* Upgrader Skin for Automatic WordPress Upgrades * Upgrader Skin for Automatic WordPress Upgrades.
* *
* This skin is designed to be used when no output is intended, all output * This skin is designed to be used when no output is intended, all output
* is captured and stored for the caller to process and log/email/discard. * is captured and stored for the caller to process and log/email/discard.
@ -52,14 +52,22 @@ class Automatic_Upgrader_Skin extends WP_Upgrader_Skin {
} }
/** /**
* @return array * Retrieves the upgrade messages.
*
* @since 3.7.0
*
* @return array Messages during an upgrade.
*/ */
public function get_upgrade_messages() { public function get_upgrade_messages() {
return $this->messages; return $this->messages;
} }
/** /**
* @param string|array|WP_Error $data * Stores a message about the upgrade.
*
* @since 3.7.0
*
* @param string|array|WP_Error $data Message data.
* @param mixed ...$args Optional text replacements. * @param mixed ...$args Optional text replacements.
*/ */
public function feedback( $data, ...$args ) { public function feedback( $data, ...$args ) {
@ -103,12 +111,18 @@ class Automatic_Upgrader_Skin extends WP_Upgrader_Skin {
} }
/** /**
* Creates a new output buffer.
*
* @since 3.7.0
*/ */
public function header() { public function header() {
ob_start(); ob_start();
} }
/** /**
* Retrieves the buffered content, deletes the buffer, and processes the output.
*
* @since 3.7.0
*/ */
public function footer() { public function footer() {
$output = ob_get_clean(); $output = ob_get_clean();

View File

@ -48,12 +48,12 @@ class Bulk_Plugin_Upgrader_Skin extends Bulk_Upgrader_Skin {
'plugins_page' => sprintf( 'plugins_page' => sprintf(
'<a href="%s" target="_parent">%s</a>', '<a href="%s" target="_parent">%s</a>',
self_admin_url( 'plugins.php' ), self_admin_url( 'plugins.php' ),
__( 'Return to Plugins page' ) __( 'Go to Plugins page' )
), ),
'updates_page' => sprintf( 'updates_page' => sprintf(
'<a href="%s" target="_parent">%s</a>', '<a href="%s" target="_parent">%s</a>',
self_admin_url( 'update-core.php' ), self_admin_url( 'update-core.php' ),
__( 'Return to WordPress Updates page' ) __( 'Go to WordPress Updates page' )
), ),
); );

View File

@ -48,12 +48,12 @@ class Bulk_Theme_Upgrader_Skin extends Bulk_Upgrader_Skin {
'themes_page' => sprintf( 'themes_page' => sprintf(
'<a href="%s" target="_parent">%s</a>', '<a href="%s" target="_parent">%s</a>',
self_admin_url( 'themes.php' ), self_admin_url( 'themes.php' ),
__( 'Return to Themes page' ) __( 'Go to Themes page' )
), ),
'updates_page' => sprintf( 'updates_page' => sprintf(
'<a href="%s" target="_parent">%s</a>', '<a href="%s" target="_parent">%s</a>',
self_admin_url( 'update-core.php' ), self_admin_url( 'update-core.php' ),
__( 'Return to WordPress Updates page' ) __( 'Go to WordPress Updates page' )
), ),
); );

View File

@ -279,18 +279,21 @@ class Core_Upgrader extends WP_Upgrader {
$current_is_development_version = (bool) strpos( $wp_version, '-' ); $current_is_development_version = (bool) strpos( $wp_version, '-' );
// Defaults: // Defaults:
$upgrade_dev = true; $upgrade_dev = get_site_option( 'auto_update_core_dev', 'enabled' ) === 'enabled';
$upgrade_minor = true; $upgrade_minor = get_site_option( 'auto_update_core_minor', 'enabled' ) === 'enabled';
$upgrade_major = false; $upgrade_major = get_site_option( 'auto_update_core_major', 'unset' ) === 'enabled';
// WP_AUTO_UPDATE_CORE = true (all), 'minor', false. // WP_AUTO_UPDATE_CORE = true (all), 'beta', 'rc', 'minor', false.
if ( defined( 'WP_AUTO_UPDATE_CORE' ) ) { if ( defined( 'WP_AUTO_UPDATE_CORE' ) ) {
if ( false === WP_AUTO_UPDATE_CORE ) { if ( false === WP_AUTO_UPDATE_CORE ) {
// Defaults to turned off, unless a filter allows it. // Defaults to turned off, unless a filter allows it.
$upgrade_dev = false; $upgrade_dev = false;
$upgrade_minor = false; $upgrade_minor = false;
$upgrade_major = false; $upgrade_major = false;
} elseif ( true === WP_AUTO_UPDATE_CORE ) { } elseif ( true === WP_AUTO_UPDATE_CORE
|| 'beta' === WP_AUTO_UPDATE_CORE
|| 'rc' === WP_AUTO_UPDATE_CORE
) {
// ALL updates for core. // ALL updates for core.
$upgrade_dev = true; $upgrade_dev = true;
$upgrade_minor = true; $upgrade_minor = true;

View File

@ -75,7 +75,7 @@ class Language_Pack_Upgrader_Skin extends WP_Upgrader_Skin {
'updates_page' => sprintf( 'updates_page' => sprintf(
'<a href="%s" target="_parent">%s</a>', '<a href="%s" target="_parent">%s</a>',
self_admin_url( 'update-core.php' ), self_admin_url( 'update-core.php' ),
__( 'Return to WordPress Updates page' ) __( 'Go to WordPress Updates page' )
), ),
); );

View File

@ -309,17 +309,18 @@ class Language_Pack_Upgrader extends WP_Upgrader {
} }
/** /**
* Check the package source to make sure there are .mo and .po files. * Checks that the package source contains .mo and .po files.
* *
* Hooked to the {@see 'upgrader_source_selection'} filter by * Hooked to the {@see 'upgrader_source_selection'} filter by
* Language_Pack_Upgrader::bulk_upgrade(). * Language_Pack_Upgrader::bulk_upgrade().
* *
* @since 3.7.0 * @since 3.7.0
* *
* @global WP_Filesystem_Base $wp_filesystem Subclass * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
* *
* @param string|WP_Error $source * @param string|WP_Error $source The path to the downloaded package source.
* @param string $remote_source * @param string $remote_source Remote file source location.
* @return string|WP_Error The source as passed, or a WP_Error object on failure.
*/ */
public function check_package( $source, $remote_source ) { public function check_package( $source, $remote_source ) {
global $wp_filesystem; global $wp_filesystem;

View File

@ -1171,7 +1171,7 @@
$this->privErrorReset(); $this->privErrorReset();
// ----- Look if the $p_archive is a PclZip object // ----- Look if the $p_archive is a PclZip object
if ((is_object($p_archive)) && (get_class($p_archive) == 'pclzip')) if (is_object($p_archive) && $p_archive instanceof pclzip)
{ {
// ----- Duplicate the archive // ----- Duplicate the archive
@ -1235,7 +1235,7 @@
} }
// ----- Look if the $p_archive_to_add is a PclZip object // ----- Look if the $p_archive_to_add is a PclZip object
if ((is_object($p_archive_to_add)) && (get_class($p_archive_to_add) == 'pclzip')) if (is_object($p_archive_to_add) && $p_archive_to_add instanceof pclzip)
{ {
// ----- Merge the archive // ----- Merge the archive

View File

@ -107,7 +107,7 @@ class Plugin_Installer_Skin extends WP_Upgrader_Skin {
$install_actions['activate_plugin'] = sprintf( $install_actions['activate_plugin'] = sprintf(
'<a class="button button-primary" href="%s" target="_parent">%s</a>', '<a class="button button-primary" href="%s" target="_parent">%s</a>',
wp_nonce_url( 'plugins.php?action=activate&amp;from=press-this&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file ), wp_nonce_url( 'plugins.php?action=activate&amp;from=press-this&amp;plugin=' . urlencode( $plugin_file ), 'activate-plugin_' . $plugin_file ),
__( 'Activate Plugin &amp; Return to Press This' ) __( 'Activate Plugin &amp; Go to Press This' )
); );
} else { } else {
$install_actions['activate_plugin'] = sprintf( $install_actions['activate_plugin'] = sprintf(
@ -130,25 +130,25 @@ class Plugin_Installer_Skin extends WP_Upgrader_Skin {
$install_actions['importers_page'] = sprintf( $install_actions['importers_page'] = sprintf(
'<a href="%s" target="_parent">%s</a>', '<a href="%s" target="_parent">%s</a>',
admin_url( 'import.php' ), admin_url( 'import.php' ),
__( 'Return to Importers' ) __( 'Go to Importers' )
); );
} elseif ( 'web' === $this->type ) { } elseif ( 'web' === $this->type ) {
$install_actions['plugins_page'] = sprintf( $install_actions['plugins_page'] = sprintf(
'<a href="%s" target="_parent">%s</a>', '<a href="%s" target="_parent">%s</a>',
self_admin_url( 'plugin-install.php' ), self_admin_url( 'plugin-install.php' ),
__( 'Return to Plugin Installer' ) __( 'Go to Plugin Installer' )
); );
} elseif ( 'upload' === $this->type && 'plugins' === $from ) { } elseif ( 'upload' === $this->type && 'plugins' === $from ) {
$install_actions['plugins_page'] = sprintf( $install_actions['plugins_page'] = sprintf(
'<a href="%s">%s</a>', '<a href="%s">%s</a>',
self_admin_url( 'plugin-install.php' ), self_admin_url( 'plugin-install.php' ),
__( 'Return to Plugin Installer' ) __( 'Go to Plugin Installer' )
); );
} else { } else {
$install_actions['plugins_page'] = sprintf( $install_actions['plugins_page'] = sprintf(
'<a href="%s" target="_parent">%s</a>', '<a href="%s" target="_parent">%s</a>',
self_admin_url( 'plugins.php' ), self_admin_url( 'plugins.php' ),
__( 'Return to Plugins page' ) __( 'Go to Plugins page' )
); );
} }

View File

@ -22,7 +22,7 @@ class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
* *
* @since 2.8.0 * @since 2.8.0
* *
* @var object * @var string
*/ */
public $plugin = ''; public $plugin = '';
@ -98,7 +98,7 @@ class Plugin_Upgrader_Skin extends WP_Upgrader_Skin {
'plugins_page' => sprintf( 'plugins_page' => sprintf(
'<a href="%s" target="_parent">%s</a>', '<a href="%s" target="_parent">%s</a>',
self_admin_url( 'plugins.php' ), self_admin_url( 'plugins.php' ),
__( 'Return to Plugins page' ) __( 'Go to Plugins page' )
), ),
); );

View File

@ -398,21 +398,20 @@ class Plugin_Upgrader extends WP_Upgrader {
} }
/** /**
* Check a source package to be sure it contains a plugin. * Checks that the source package contains a valid plugin.
* *
* This function is added to the {@see 'upgrader_source_selection'} filter by * Hooked to the {@see 'upgrader_source_selection'} filter by Plugin_Upgrader::install().
* Plugin_Upgrader::install().
* *
* @since 3.3.0 * @since 3.3.0
* *
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
* @global string $wp_version The WordPress version string.
* *
* @param string $source The path to the downloaded package source. * @param string $source The path to the downloaded package source.
* @return string|WP_Error The source as passed, or a WP_Error object * @return string|WP_Error The source as passed, or a WP_Error object on failure.
* if no plugins were found.
*/ */
public function check_package( $source ) { public function check_package( $source ) {
global $wp_filesystem; global $wp_filesystem, $wp_version;
$this->new_plugin_data = array(); $this->new_plugin_data = array();
@ -459,7 +458,7 @@ class Plugin_Upgrader extends WP_Upgrader {
$error = sprintf( $error = sprintf(
/* translators: 1: Current WordPress version, 2: Version required by the uploaded plugin. */ /* translators: 1: Current WordPress version, 2: Version required by the uploaded plugin. */
__( 'Your WordPress version is %1$s, however the uploaded plugin requires %2$s.' ), __( 'Your WordPress version is %1$s, however the uploaded plugin requires %2$s.' ),
$GLOBALS['wp_version'], $wp_version,
$requires_wp $requires_wp
); );

View File

@ -155,13 +155,13 @@ class Theme_Installer_Skin extends WP_Upgrader_Skin {
$install_actions['themes_page'] = sprintf( $install_actions['themes_page'] = sprintf(
'<a href="%s" target="_parent">%s</a>', '<a href="%s" target="_parent">%s</a>',
self_admin_url( 'theme-install.php' ), self_admin_url( 'theme-install.php' ),
__( 'Return to Theme Installer' ) __( 'Go to Theme Installer' )
); );
} elseif ( current_user_can( 'switch_themes' ) || current_user_can( 'edit_theme_options' ) ) { } elseif ( current_user_can( 'switch_themes' ) || current_user_can( 'edit_theme_options' ) ) {
$install_actions['themes_page'] = sprintf( $install_actions['themes_page'] = sprintf(
'<a href="%s" target="_parent">%s</a>', '<a href="%s" target="_parent">%s</a>',
self_admin_url( 'themes.php' ), self_admin_url( 'themes.php' ),
__( 'Return to Themes page' ) __( 'Go to Themes page' )
); );
} }

View File

@ -22,7 +22,7 @@ class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
* *
* @since 2.8.0 * @since 2.8.0
* *
* @var object * @var string
*/ */
public $theme = ''; public $theme = '';
@ -124,7 +124,7 @@ class Theme_Upgrader_Skin extends WP_Upgrader_Skin {
$update_actions['themes_page'] = sprintf( $update_actions['themes_page'] = sprintf(
'<a href="%s" target="_parent">%s</a>', '<a href="%s" target="_parent">%s</a>',
self_admin_url( 'themes.php' ), self_admin_url( 'themes.php' ),
__( 'Return to Themes page' ) __( 'Go to Themes page' )
); );
/** /**

View File

@ -510,21 +510,20 @@ class Theme_Upgrader extends WP_Upgrader {
} }
/** /**
* Check that the package source contains a valid theme. * Checks that the package source contains a valid theme.
* *
* Hooked to the {@see 'upgrader_source_selection'} filter by Theme_Upgrader::install(). * Hooked to the {@see 'upgrader_source_selection'} filter by Theme_Upgrader::install().
* It will return an error if the theme doesn't have style.css or index.php
* files.
* *
* @since 3.3.0 * @since 3.3.0
* *
* @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass.
* @global string $wp_version The WordPress version string.
* *
* @param string $source The full path to the package source. * @param string $source The path to the downloaded package source.
* @return string|WP_Error The source or a WP_Error. * @return string|WP_Error The source as passed, or a WP_Error object on failure.
*/ */
public function check_package( $source ) { public function check_package( $source ) {
global $wp_filesystem; global $wp_filesystem, $wp_version;
$this->new_theme_data = array(); $this->new_theme_data = array();
@ -606,7 +605,7 @@ class Theme_Upgrader extends WP_Upgrader {
$error = sprintf( $error = sprintf(
/* translators: 1: Current WordPress version, 2: Version required by the uploaded theme. */ /* translators: 1: Current WordPress version, 2: Version required by the uploaded theme. */
__( 'Your WordPress version is %1$s, however the uploaded theme requires %2$s.' ), __( 'Your WordPress version is %1$s, however the uploaded theme requires %2$s.' ),
$GLOBALS['wp_version'], $wp_version,
$requires_wp $requires_wp
); );

View File

@ -62,11 +62,11 @@ class Walker_Category_Checklist extends Walker {
* *
* @since 2.5.1 * @since 2.5.1
* *
* @param string $output Used to append additional content (passed by reference). * @param string $output Used to append additional content (passed by reference).
* @param object $category The current term object. * @param WP_Term $category The current term object.
* @param int $depth Depth of the term in reference to parents. Default 0. * @param int $depth Depth of the term in reference to parents. Default 0.
* @param array $args An array of arguments. @see wp_terms_checklist() * @param array $args An array of arguments. @see wp_terms_checklist()
* @param int $id ID of the current term. * @param int $id ID of the current term.
*/ */
public function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) { public function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
if ( empty( $args['taxonomy'] ) ) { if ( empty( $args['taxonomy'] ) ) {
@ -121,10 +121,10 @@ class Walker_Category_Checklist extends Walker {
* *
* @since 2.5.1 * @since 2.5.1
* *
* @param string $output Used to append additional content (passed by reference). * @param string $output Used to append additional content (passed by reference).
* @param object $category The current term object. * @param WP_Term $category The current term object.
* @param int $depth Depth of the term in reference to parents. Default 0. * @param int $depth Depth of the term in reference to parents. Default 0.
* @param array $args An array of arguments. @see wp_terms_checklist() * @param array $args An array of arguments. @see wp_terms_checklist()
*/ */
public function end_el( &$output, $category, $depth = 0, $args = array() ) { public function end_el( &$output, $category, $depth = 0, $args = array() ) {
$output .= "</li>\n"; $output .= "</li>\n";

View File

@ -74,7 +74,7 @@ class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu {
public function start_el( &$output, $item, $depth = 0, $args = null, $id = 0 ) { public function start_el( &$output, $item, $depth = 0, $args = null, $id = 0 ) {
global $_nav_menu_placeholder, $nav_menu_selected_id; global $_nav_menu_placeholder, $nav_menu_selected_id;
$_nav_menu_placeholder = ( 0 > $_nav_menu_placeholder ) ? intval( $_nav_menu_placeholder ) - 1 : -1; $_nav_menu_placeholder = ( 0 > $_nav_menu_placeholder ) ? (int) $_nav_menu_placeholder - 1 : -1;
$possible_object_id = isset( $item->post_type ) && 'nav_menu_item' === $item->post_type ? $item->object_id : $_nav_menu_placeholder; $possible_object_id = isset( $item->post_type ) && 'nav_menu_item' === $item->post_type ? $item->object_id : $_nav_menu_placeholder;
$possible_db_id = ( ! empty( $item->ID ) ) && ( 0 < $possible_object_id ) ? (int) $item->ID : 0; $possible_db_id = ( ! empty( $item->ID ) ) && ( 0 < $possible_object_id ) ? (int) $item->ID : 0;

View File

@ -81,7 +81,7 @@ class WP_Ajax_Upgrader_Skin extends Automatic_Upgrader_Skin {
} }
/** /**
* Stores a log entry for an error. * Stores an error message about the upgrade.
* *
* @since 4.6.0 * @since 4.6.0
* @since 5.3.0 Formalized the existing `...$args` parameter by adding it * @since 5.3.0 Formalized the existing `...$args` parameter by adding it
@ -116,13 +116,13 @@ class WP_Ajax_Upgrader_Skin extends Automatic_Upgrader_Skin {
} }
/** /**
* Stores a log entry. * Stores a message about the upgrade.
* *
* @since 4.6.0 * @since 4.6.0
* @since 5.3.0 Formalized the existing `...$args` parameter by adding it * @since 5.3.0 Formalized the existing `...$args` parameter by adding it
* to the function signature. * to the function signature.
* *
* @param string|array|WP_Error $data Log entry data. * @param string|array|WP_Error $data Message data.
* @param mixed ...$args Optional text replacements. * @param mixed ...$args Optional text replacements.
*/ */
public function feedback( $data, ...$args ) { public function feedback( $data, ...$args ) {

View File

@ -0,0 +1,267 @@
<?php
/**
* List Table API: WP_Application_Passwords_List_Table class
*
* @package WordPress
* @subpackage Administration
* @since 5.6.0
*/
/**
* Class for displaying the list of application password items.
*
* @since 5.6.0
* @access private
*
* @see WP_List_Table
*/
class WP_Application_Passwords_List_Table extends WP_List_Table {
/**
* Gets the list of columns.
*
* @since 5.6.0
*
* @return array
*/
public function get_columns() {
return array(
'name' => __( 'Name' ),
'created' => __( 'Created' ),
'last_used' => __( 'Last Used' ),
'last_ip' => __( 'Last IP' ),
'revoke' => __( 'Revoke' ),
);
}
/**
* Prepares the list of items for displaying.
*
* @since 5.6.0
*
* @global int $user_id User ID.
*/
public function prepare_items() {
global $user_id;
$this->items = array_reverse( WP_Application_Passwords::get_user_application_passwords( $user_id ) );
}
/**
* Handles the name column output.
*
* @since 5.6.0
*
* @param array $item The current application password item.
*/
public function column_name( $item ) {
echo esc_html( $item['name'] );
}
/**
* Handles the created column output.
*
* @since 5.6.0
*
* @param array $item The current application password item.
*/
public function column_created( $item ) {
if ( empty( $item['created'] ) ) {
echo '&mdash;';
} else {
echo date_i18n( __( 'F j, Y' ), $item['created'] );
}
}
/**
* Handles the last used column output.
*
* @since 5.6.0
*
* @param array $item The current application password item.
*/
public function column_last_used( $item ) {
if ( empty( $item['last_used'] ) ) {
echo '&mdash;';
} else {
echo date_i18n( __( 'F j, Y' ), $item['last_used'] );
}
}
/**
* Handles the last ip column output.
*
* @since 5.6.0
*
* @param array $item The current application password item.
*/
public function column_last_ip( $item ) {
if ( empty( $item['last_ip'] ) ) {
echo '&mdash;';
} else {
echo $item['last_ip'];
}
}
/**
* Handles the revoke column output.
*
* @since 5.6.0
*
* @param array $item The current application password item.
*/
public function column_revoke( $item ) {
submit_button(
__( 'Revoke' ),
'delete',
'revoke-application-password-' . $item['uuid'],
false,
array(
/* translators: %s: the application password's given name. */
'aria-label' => sprintf( __( 'Revoke "%s"' ), $item['name'] ),
)
);
}
/**
* Generates content for a single row of the table
*
* @since 5.6.0
*
* @param array $item The current item.
* @param string $column_name The current column name.
*/
protected function column_default( $item, $column_name ) {
/**
* Fires for each custom column in the Application Passwords list table.
*
* Custom columns are registered using the {@see 'manage_application-passwords-user_columns'} filter.
*
* @since 5.6.0
*
* @param string $column_name Name of the custom column.
* @param array $item The application password item.
*/
do_action( "manage_{$this->screen->id}_custom_column", $column_name, $item );
}
/**
* Generates custom table navigation to prevent conflicting nonces.
*
* @since 5.6.0
*
* @param string $which The location of the bulk actions: 'top' or 'bottom'.
*/
protected function display_tablenav( $which ) {
?>
<div class="tablenav <?php echo esc_attr( $which ); ?>">
<?php if ( 'bottom' === $which ) : ?>
<div class="alignright">
<?php submit_button( __( 'Revoke all application passwords' ), 'delete', 'revoke-all-application-passwords', false ); ?>
</div>
<?php endif; ?>
<div class="alignleft actions bulkactions">
<?php $this->bulk_actions( $which ); ?>
</div>
<?php
$this->extra_tablenav( $which );
$this->pagination( $which );
?>
<br class="clear" />
</div>
<?php
}
/**
* Generates content for a single row of the table.
*
* @since 5.6.0
*
* @param array $item The current item.
*/
public function single_row( $item ) {
echo '<tr data-uuid="' . esc_attr( $item['uuid'] ) . '">';
$this->single_row_columns( $item );
echo '</tr>';
}
/**
* Gets the name of the default primary column.
*
* @since 5.6.0
*
* @return string Name of the default primary column, in this case, 'name'.
*/
protected function get_default_primary_column_name() {
return 'name';
}
/**
* Prints the JavaScript template for the new row item.
*
* @since 5.6.0
*/
public function print_js_template_row() {
list( $columns, $hidden, , $primary ) = $this->get_column_info();
echo '<tr data-uuid="{{ data.uuid }}">';
foreach ( $columns as $column_name => $display_name ) {
$is_primary = $primary === $column_name;
$classes = "{$column_name} column-{$column_name}";
if ( $is_primary ) {
$classes .= ' has-row-actions column-primary';
}
if ( in_array( $column_name, $hidden, true ) ) {
$classes .= ' hidden';
}
printf( '<td class="%s" data-colname="%s">', esc_attr( $classes ), esc_attr( wp_strip_all_tags( $display_name ) ) );
switch ( $column_name ) {
case 'name':
echo '{{ data.name }}';
break;
case 'created':
// JSON encoding automatically doubles backslashes to ensure they don't get lost when printing the inline JS.
echo '<# print( wp.date.dateI18n( ' . wp_json_encode( __( 'F j, Y' ) ) . ', data.created ) ) #>';
break;
case 'last_used':
echo '<# print( data.last_used !== null ? wp.date.dateI18n( ' . wp_json_encode( __( 'F j, Y' ) ) . ", data.last_used ) : '—' ) #>";
break;
case 'last_ip':
echo "{{ data.last_ip || '—' }}";
break;
case 'revoke':
printf(
'<input type="submit" class="button delete" value="%1$s" aria-label="%2$s">',
esc_attr( __( 'Revoke' ) ),
/* translators: %s: the application password's given name. */
esc_attr( sprintf( __( 'Revoke "%s"' ), '{{ data.name }}' ) )
);
break;
default:
/**
* Fires in the JavaScript row template for each custom column in the Application Passwords list table.
*
* Custom columns are registered using the {@see 'manage_application-passwords-user_columns'} filter.
*
* @since 5.6.0
*
* @param string $column_name Name of the custom column.
*/
do_action( "manage_{$this->screen->id}_custom_column_js_template", $column_name );
break;
}
if ( $is_primary ) {
echo '<button type="button" class="toggle-row"><span class="screen-reader-text">' . __( 'Show more details' ) . '</span></button>';
}
echo '</td>';
}
echo '</tr>';
}
}

View File

@ -62,7 +62,7 @@ class WP_Automatic_Updater {
* filesystem to the top of the drive, erring on the side of detecting a VCS * filesystem to the top of the drive, erring on the side of detecting a VCS
* checkout somewhere. * checkout somewhere.
* *
* ABSPATH is always checked in addition to whatever $context is (which may be the * ABSPATH is always checked in addition to whatever `$context` is (which may be the
* wp-content directory, for example). The underlying assumption is that if you are * wp-content directory, for example). The underlying assumption is that if you are
* using version control *anywhere*, then you should be making decisions for * using version control *anywhere*, then you should be making decisions for
* how things get updated. * how things get updated.
@ -70,6 +70,8 @@ class WP_Automatic_Updater {
* @since 3.7.0 * @since 3.7.0
* *
* @param string $context The filesystem path to check, in addition to ABSPATH. * @param string $context The filesystem path to check, in addition to ABSPATH.
* @return bool True if a VCS checkout was discovered at `$context` or ABSPATH,
* or anywhere higher. False otherwise.
*/ */
public function is_vcs_checkout( $context ) { public function is_vcs_checkout( $context ) {
$context_dirs = array( untrailingslashit( $context ) ); $context_dirs = array( untrailingslashit( $context ) );
@ -112,7 +114,7 @@ class WP_Automatic_Updater {
* *
* @since 3.7.0 * @since 3.7.0
* *
* @param bool $checkout Whether a VCS checkout was discovered at $context * @param bool $checkout Whether a VCS checkout was discovered at `$context`
* or ABSPATH, or anywhere higher. * or ABSPATH, or anywhere higher.
* @param string $context The filesystem context (a path) against which * @param string $context The filesystem context (a path) against which
* filesystem status should be checked. * filesystem status should be checked.
@ -132,6 +134,7 @@ class WP_Automatic_Updater {
* @param object $item The update offer. * @param object $item The update offer.
* @param string $context The filesystem context (a path) against which filesystem * @param string $context The filesystem context (a path) against which filesystem
* access and status should be checked. * access and status should be checked.
* @return bool True if the item should be updated, false otherwise.
*/ */
public function should_update( $type, $item, $context ) { public function should_update( $type, $item, $context ) {
// Used to see if WP_Filesystem is set up to allow unattended updates. // Used to see if WP_Filesystem is set up to allow unattended updates.
@ -242,6 +245,8 @@ class WP_Automatic_Updater {
* @since 3.7.0 * @since 3.7.0
* *
* @param object $item The update offer. * @param object $item The update offer.
* @return bool True if the site administrator is notified of a core update,
* false otherwise.
*/ */
protected function send_core_update_notification_email( $item ) { protected function send_core_update_notification_email( $item ) {
$notified = get_site_option( 'auto_core_update_notified' ); $notified = get_site_option( 'auto_core_update_notified' );
@ -343,6 +348,11 @@ class WP_Automatic_Updater {
$upgrader_item = $item->theme; $upgrader_item = $item->theme;
$theme = wp_get_theme( $upgrader_item ); $theme = wp_get_theme( $upgrader_item );
$item_name = $theme->Get( 'Name' ); $item_name = $theme->Get( 'Name' );
// Add the current version so that it can be reported in the notification email.
$item->current_version = $theme->get( 'Version' );
if ( empty( $item->current_version ) ) {
$item->current_version = false;
}
/* translators: %s: Theme name. */ /* translators: %s: Theme name. */
$skin->feedback( __( 'Updating theme: %s' ), $item_name ); $skin->feedback( __( 'Updating theme: %s' ), $item_name );
break; break;
@ -350,6 +360,11 @@ class WP_Automatic_Updater {
$upgrader_item = $item->plugin; $upgrader_item = $item->plugin;
$plugin_data = get_plugin_data( $context . '/' . $upgrader_item ); $plugin_data = get_plugin_data( $context . '/' . $upgrader_item );
$item_name = $plugin_data['Name']; $item_name = $plugin_data['Name'];
// Add the current version so that it can be reported in the notification email.
$item->current_version = $plugin_data['Version'];
if ( empty( $item->current_version ) ) {
$item->current_version = false;
}
/* translators: %s: Plugin name. */ /* translators: %s: Plugin name. */
$skin->feedback( __( 'Updating plugin: %s' ), $item_name ); $skin->feedback( __( 'Updating plugin: %s' ), $item_name );
break; break;
@ -1065,12 +1080,22 @@ class WP_Automatic_Updater {
$body[] = __( 'These plugins failed to update:' ); $body[] = __( 'These plugins failed to update:' );
foreach ( $failed_updates['plugin'] as $item ) { foreach ( $failed_updates['plugin'] as $item ) {
$body[] = sprintf( if ( $item->item->current_version ) {
/* translators: 1: Plugin name, 2: Version number. */ $body[] = sprintf(
__( '- %1$s version %2$s' ), /* translators: 1: Plugin name, 2: Current version number, 3: New version number. */
$item->name, __( '- %1$s (from version %2$s to %3$s)' ),
$item->item->new_version $item->name,
); $item->item->current_version,
$item->item->new_version
);
} else {
$body[] = sprintf(
/* translators: 1: Plugin name, 2: Version number. */
__( '- %1$s version %2$s' ),
$item->name,
$item->item->new_version
);
}
$past_failure_emails[ $item->item->plugin ] = $item->item->new_version; $past_failure_emails[ $item->item->plugin ] = $item->item->new_version;
} }
@ -1083,12 +1108,22 @@ class WP_Automatic_Updater {
$body[] = __( 'These themes failed to update:' ); $body[] = __( 'These themes failed to update:' );
foreach ( $failed_updates['theme'] as $item ) { foreach ( $failed_updates['theme'] as $item ) {
$body[] = sprintf( if ( $item->item->current_version ) {
/* translators: 1: Theme name, 2: Version number. */ $body[] = sprintf(
__( '- %1$s version %2$s' ), /* translators: 1: Theme name, 2: Current version number, 3: New version number. */
$item->name, __( '- %1$s (from version %2$s to %3$s)' ),
$item->item->new_version $item->name,
); $item->item->current_version,
$item->item->new_version
);
} else {
$body[] = sprintf(
/* translators: 1: Theme name, 2: Version number. */
__( '- %1$s version %2$s' ),
$item->name,
$item->item->new_version
);
}
$past_failure_emails[ $item->item->theme ] = $item->item->new_version; $past_failure_emails[ $item->item->theme ] = $item->item->new_version;
} }
@ -1106,12 +1141,22 @@ class WP_Automatic_Updater {
$body[] = __( 'These plugins are now up to date:' ); $body[] = __( 'These plugins are now up to date:' );
foreach ( $successful_updates['plugin'] as $item ) { foreach ( $successful_updates['plugin'] as $item ) {
$body[] = sprintf( if ( $item->item->current_version ) {
/* translators: 1: Plugin name, 2: Version number. */ $body[] = sprintf(
__( '- %1$s version %2$s' ), /* translators: 1: Plugin name, 2: Current version number, 3: New version number. */
$item->name, __( '- %1$s (from version %2$s to %3$s)' ),
$item->item->new_version $item->name,
); $item->item->current_version,
$item->item->new_version
);
} else {
$body[] = sprintf(
/* translators: 1: Plugin name, 2: Version number. */
__( '- %1$s version %2$s' ),
$item->name,
$item->item->new_version
);
}
unset( $past_failure_emails[ $item->item->plugin ] ); unset( $past_failure_emails[ $item->item->plugin ] );
} }
@ -1124,12 +1169,22 @@ class WP_Automatic_Updater {
$body[] = __( 'These themes are now up to date:' ); $body[] = __( 'These themes are now up to date:' );
foreach ( $successful_updates['theme'] as $item ) { foreach ( $successful_updates['theme'] as $item ) {
$body[] = sprintf( if ( $item->item->current_version ) {
/* translators: 1: Theme name, 2: Version number. */ $body[] = sprintf(
__( '- %1$s version %2$s' ), /* translators: 1: Theme name, 2: Current version number, 3: New version number. */
$item->name, __( '- %1$s (from version %2$s to %3$s)' ),
$item->item->new_version $item->name,
); $item->item->current_version,
$item->item->new_version
);
} else {
$body[] = sprintf(
/* translators: 1: Theme name, 2: Version number. */
__( '- %1$s version %2$s' ),
$item->name,
$item->item->new_version
);
}
unset( $past_failure_emails[ $item->item->theme ] ); unset( $past_failure_emails[ $item->item->theme ] );
} }

View File

@ -390,11 +390,14 @@ class WP_Comments_List_Table extends WP_List_Table {
if ( ! isset( $has_items ) ) { if ( ! isset( $has_items ) ) {
$has_items = $this->has_items(); $has_items = $this->has_items();
} }
echo '<div class="alignleft actions">'; echo '<div class="alignleft actions">';
if ( 'top' === $which ) { if ( 'top' === $which ) {
ob_start(); ob_start();
$this->comment_status_dropdown( $comment_type ); $this->comment_type_dropdown( $comment_type );
/** /**
* Fires just before the Filter submit button for comment types. * Fires just before the Filter submit button for comment types.
* *
@ -406,7 +409,7 @@ class WP_Comments_List_Table extends WP_List_Table {
if ( ! empty( $output ) && $this->has_items() ) { if ( ! empty( $output ) && $this->has_items() ) {
echo $output; echo $output;
submit_button( esc_html__( 'Filter' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) ); submit_button( __( 'Filter' ), '', 'filter_action', false, array( 'id' => 'post-query-submit' ) );
} }
} }
@ -415,14 +418,18 @@ class WP_Comments_List_Table extends WP_List_Table {
$title = ( 'spam' === $comment_status ) ? esc_attr__( 'Empty Spam' ) : esc_attr__( 'Empty Trash' ); $title = ( 'spam' === $comment_status ) ? esc_attr__( 'Empty Spam' ) : esc_attr__( 'Empty Trash' );
submit_button( $title, 'apply', 'delete_all', false ); submit_button( $title, 'apply', 'delete_all', false );
} }
/** /**
* Fires after the Filter submit button for comment types. * Fires after the Filter submit button for comment types.
* *
* @since 2.5.0 * @since 2.5.0
* @since 5.6.0 The `$which` parameter was added.
* *
* @param string $comment_status The comment status name. Default 'All'. * @param string $comment_status The comment status name. Default 'All'.
* @param string $which The location of the extra table nav markup: 'top' or 'bottom'.
*/ */
do_action( 'manage_comments_nav', $comment_status ); do_action( 'manage_comments_nav', $comment_status, $which );
echo '</div>'; echo '</div>';
} }
@ -465,34 +472,35 @@ class WP_Comments_List_Table extends WP_List_Table {
} }
/** /**
* Displays a comment status drop-down for filtering on the Comments list table. * Displays a comment type drop-down for filtering on the Comments list table.
* *
* @since 5.5.0 * @since 5.5.0
* @since 5.6.0 Renamed from `comment_status_dropdown()` to `comment_type_dropdown()`.
* *
* @param string $comment_type The current comment type slug. * @param string $comment_type The current comment type slug.
*/ */
protected function comment_status_dropdown( $comment_type ) { protected function comment_type_dropdown( $comment_type ) {
/** /**
* Filters the comment types dropdown menu. * Filters the comment types shown in the drop-down menu on the Comments list table.
* *
* @since 2.7.0 * @since 2.7.0
* *
* @param array $comment_types An array of comment types. Accepts 'Comments', 'Pings'. * @param string[] $comment_types Array of comment type labels keyed by their name.
*/ */
$comment_types = apply_filters( $comment_types = apply_filters(
'admin_comment_types_dropdown', 'admin_comment_types_dropdown',
array( array(
'comment' => esc_html__( 'Comments' ), 'comment' => __( 'Comments' ),
'pings' => esc_html__( 'Pings' ), 'pings' => __( 'Pings' ),
) )
); );
if ( $comment_types && is_array( $comment_types ) ) { if ( $comment_types && is_array( $comment_types ) ) {
printf( '<label class="screen-reader-text" for="filter-by-comment-type">%s</label>', esc_html__( 'Filter by comment type' ) ); printf( '<label class="screen-reader-text" for="filter-by-comment-type">%s</label>', __( 'Filter by comment type' ) );
echo '<select id="filter-by-comment-type" name="comment_type">'; echo '<select id="filter-by-comment-type" name="comment_type">';
printf( "\t<option value=''>%s</option>", esc_html__( 'All comment types' ) ); printf( "\t<option value=''>%s</option>", __( 'All comment types' ) );
foreach ( $comment_types as $type => $label ) { foreach ( $comment_types as $type => $label ) {
if ( get_comments( if ( get_comments(
@ -607,7 +615,7 @@ class WP_Comments_List_Table extends WP_List_Table {
if ( ! $the_comment_class ) { if ( ! $the_comment_class ) {
$the_comment_class = ''; $the_comment_class = '';
} }
$the_comment_class = join( ' ', get_comment_class( $the_comment_class, $comment, $comment->comment_post_ID ) ); $the_comment_class = implode( ' ', get_comment_class( $the_comment_class, $comment, $comment->comment_post_ID ) );
if ( $comment->comment_post_ID > 0 ) { if ( $comment->comment_post_ID > 0 ) {
$post = get_post( $comment->comment_post_ID ); $post = get_post( $comment->comment_post_ID );
@ -947,9 +955,9 @@ class WP_Comments_List_Table extends WP_List_Table {
$submitted = sprintf( $submitted = sprintf(
/* translators: 1: Comment date, 2: Comment time. */ /* translators: 1: Comment date, 2: Comment time. */
__( '%1$s at %2$s' ), __( '%1$s at %2$s' ),
/* translators: Comment date format. See https://www.php.net/date */ /* translators: Comment date format. See https://www.php.net/manual/datetime.format.php */
get_comment_date( __( 'Y/m/d' ), $comment ), get_comment_date( __( 'Y/m/d' ), $comment ),
/* translators: Comment time format. See https://www.php.net/date */ /* translators: Comment time format. See https://www.php.net/manual/datetime.format.php */
get_comment_date( __( 'g:i a' ), $comment ) get_comment_date( __( 'g:i a' ), $comment )
); );

View File

@ -392,7 +392,7 @@ class WP_Community_Events {
* so that users can tell at a glance if the event is on a day they * so that users can tell at a glance if the event is on a day they
* are available, without having to open the link. * are available, without having to open the link.
*/ */
/* translators: Date format for upcoming events on the dashboard. Include the day of the week. See https://www.php.net/date */ /* translators: Date format for upcoming events on the dashboard. Include the day of the week. See https://www.php.net/manual/datetime.format.php */
$formatted_date = date_i18n( __( 'l, M j, Y' ), $timestamp ); $formatted_date = date_i18n( __( 'l, M j, Y' ), $timestamp );
$formatted_time = date_i18n( get_option( 'time_format' ), $timestamp ); $formatted_time = date_i18n( get_option( 'time_format' ), $timestamp );
@ -401,7 +401,7 @@ class WP_Community_Events {
$formatted_end_date = date_i18n( __( 'l, M j, Y' ), $end_timestamp ); $formatted_end_date = date_i18n( __( 'l, M j, Y' ), $end_timestamp );
if ( 'meetup' !== $event['type'] && $formatted_end_date !== $formatted_date ) { if ( 'meetup' !== $event['type'] && $formatted_end_date !== $formatted_date ) {
/* translators: Upcoming events month format. See https://www.php.net/date */ /* translators: Upcoming events month format. See https://www.php.net/manual/datetime.format.php */
$start_month = date_i18n( _x( 'F', 'upcoming events month format' ), $timestamp ); $start_month = date_i18n( _x( 'F', 'upcoming events month format' ), $timestamp );
$end_month = date_i18n( _x( 'F', 'upcoming events month format' ), $end_timestamp ); $end_month = date_i18n( _x( 'F', 'upcoming events month format' ), $end_timestamp );
@ -410,10 +410,10 @@ class WP_Community_Events {
/* translators: Date string for upcoming events. 1: Month, 2: Starting day, 3: Ending day, 4: Year. */ /* translators: Date string for upcoming events. 1: Month, 2: Starting day, 3: Ending day, 4: Year. */
__( '%1$s %2$d%3$d, %4$d' ), __( '%1$s %2$d%3$d, %4$d' ),
$start_month, $start_month,
/* translators: Upcoming events day format. See https://www.php.net/date */ /* translators: Upcoming events day format. See https://www.php.net/manual/datetime.format.php */
date_i18n( _x( 'j', 'upcoming events day format' ), $timestamp ), date_i18n( _x( 'j', 'upcoming events day format' ), $timestamp ),
date_i18n( _x( 'j', 'upcoming events day format' ), $end_timestamp ), date_i18n( _x( 'j', 'upcoming events day format' ), $end_timestamp ),
/* translators: Upcoming events year format. See https://www.php.net/date */ /* translators: Upcoming events year format. See https://www.php.net/manual/datetime.format.php */
date_i18n( _x( 'Y', 'upcoming events year format' ), $timestamp ) date_i18n( _x( 'Y', 'upcoming events year format' ), $timestamp )
); );
} else { } else {

View File

@ -974,12 +974,10 @@ class WP_Debug_Data {
'requires_php' => '', 'requires_php' => '',
'compatibility' => new stdClass(), 'compatibility' => new stdClass(),
); );
$item = array_merge( $item, array_intersect_key( $plugin, $item ) ); $item = wp_parse_args( $plugin, $item );
} }
$type = 'plugin'; $auto_update_forced = wp_is_auto_update_forced_for_item( 'plugin', null, (object) $item );
/** This filter is documented in wp-admin/includes/class-wp-automatic-updater.php */
$auto_update_forced = apply_filters( "auto_update_{$type}", null, (object) $item );
if ( ! is_null( $auto_update_forced ) ) { if ( ! is_null( $auto_update_forced ) ) {
$enabled = $auto_update_forced; $enabled = $auto_update_forced;
@ -1121,9 +1119,7 @@ class WP_Debug_Data {
); );
} }
$type = 'theme'; $auto_update_forced = wp_is_auto_update_forced_for_item( 'theme', null, (object) $item );
/** This filter is documented in wp-admin/includes/class-wp-automatic-updater.php */
$auto_update_forced = apply_filters( "auto_update_{$type}", null, (object) $item );
if ( ! is_null( $auto_update_forced ) ) { if ( ! is_null( $auto_update_forced ) ) {
$enabled = $auto_update_forced; $enabled = $auto_update_forced;
@ -1209,9 +1205,7 @@ class WP_Debug_Data {
); );
} }
$type = 'theme'; $auto_update_forced = wp_is_auto_update_forced_for_item( 'theme', null, (object) $item );
/** This filter is documented in wp-admin/includes/class-wp-automatic-updater.php */
$auto_update_forced = apply_filters( "auto_update_{$type}", null, (object) $item );
if ( ! is_null( $auto_update_forced ) ) { if ( ! is_null( $auto_update_forced ) ) {
$enabled = $auto_update_forced; $enabled = $auto_update_forced;
@ -1299,9 +1293,7 @@ class WP_Debug_Data {
); );
} }
$type = 'theme'; $auto_update_forced = wp_is_auto_update_forced_for_item( 'theme', null, (object) $item );
/** This filter is documented in wp-admin/includes/class-wp-automatic-updater.php */
$auto_update_forced = apply_filters( "auto_update_{$type}", null, (object) $item );
if ( ! is_null( $auto_update_forced ) ) { if ( ! is_null( $auto_update_forced ) ) {
$enabled = $auto_update_forced; $enabled = $auto_update_forced;
@ -1327,7 +1319,7 @@ class WP_Debug_Data {
$auto_updates_string = apply_filters( 'theme_auto_update_debug_string', $auto_updates_string, $theme, $enabled ); $auto_updates_string = apply_filters( 'theme_auto_update_debug_string', $auto_updates_string, $theme, $enabled );
$theme_version_string .= ' | ' . $auto_updates_string; $theme_version_string .= ' | ' . $auto_updates_string;
$theme_version_string_debug .= ',' . $auto_updates_string; $theme_version_string_debug .= ', ' . $auto_updates_string;
} }
$info['wp-themes-inactive']['fields'][ sanitize_text_field( $theme->name ) ] = array( $info['wp-themes-inactive']['fields'][ sanitize_text_field( $theme->name ) ] = array(

View File

@ -122,12 +122,12 @@ class WP_Filesystem_Base {
* Locates a folder on the remote filesystem. * Locates a folder on the remote filesystem.
* *
* @since 2.5.0 * @since 2.5.0
* @deprecated 2.7.0 use WP_Filesystem::abspath() or WP_Filesystem::wp_*_dir() instead. * @deprecated 2.7.0 use WP_Filesystem_Base::abspath() or WP_Filesystem_Base::wp_*_dir() instead.
* @see WP_Filesystem::abspath() * @see WP_Filesystem_Base::abspath()
* @see WP_Filesystem::wp_content_dir() * @see WP_Filesystem_Base::wp_content_dir()
* @see WP_Filesystem::wp_plugins_dir() * @see WP_Filesystem_Base::wp_plugins_dir()
* @see WP_Filesystem::wp_themes_dir() * @see WP_Filesystem_Base::wp_themes_dir()
* @see WP_Filesystem::wp_lang_dir() * @see WP_Filesystem_Base::wp_lang_dir()
* *
* @param string $base The folder to start searching from. * @param string $base The folder to start searching from.
* @param bool $echo True to display debug information. * @param bool $echo True to display debug information.
@ -135,7 +135,7 @@ class WP_Filesystem_Base {
* @return string The location of the remote path. * @return string The location of the remote path.
*/ */
public function find_base_dir( $base = '.', $echo = false ) { public function find_base_dir( $base = '.', $echo = false ) {
_deprecated_function( __FUNCTION__, '2.7.0', 'WP_Filesystem::abspath() or WP_Filesystem::wp_*_dir()' ); _deprecated_function( __FUNCTION__, '2.7.0', 'WP_Filesystem_Base::abspath() or WP_Filesystem_Base::wp_*_dir()' );
$this->verbose = $echo; $this->verbose = $echo;
return $this->abspath(); return $this->abspath();
} }
@ -144,19 +144,19 @@ class WP_Filesystem_Base {
* Locates a folder on the remote filesystem. * Locates a folder on the remote filesystem.
* *
* @since 2.5.0 * @since 2.5.0
* @deprecated 2.7.0 use WP_Filesystem::abspath() or WP_Filesystem::wp_*_dir() methods instead. * @deprecated 2.7.0 use WP_Filesystem_Base::abspath() or WP_Filesystem_Base::wp_*_dir() methods instead.
* @see WP_Filesystem::abspath() * @see WP_Filesystem_Base::abspath()
* @see WP_Filesystem::wp_content_dir() * @see WP_Filesystem_Base::wp_content_dir()
* @see WP_Filesystem::wp_plugins_dir() * @see WP_Filesystem_Base::wp_plugins_dir()
* @see WP_Filesystem::wp_themes_dir() * @see WP_Filesystem_Base::wp_themes_dir()
* @see WP_Filesystem::wp_lang_dir() * @see WP_Filesystem_Base::wp_lang_dir()
* *
* @param string $base The folder to start searching from. * @param string $base The folder to start searching from.
* @param bool $echo True to display debug information. * @param bool $echo True to display debug information.
* @return string The location of the remote path. * @return string The location of the remote path.
*/ */
public function get_base_dir( $base = '.', $echo = false ) { public function get_base_dir( $base = '.', $echo = false ) {
_deprecated_function( __FUNCTION__, '2.7.0', 'WP_Filesystem::abspath() or WP_Filesystem::wp_*_dir()' ); _deprecated_function( __FUNCTION__, '2.7.0', 'WP_Filesystem_Base::abspath() or WP_Filesystem_Base::wp_*_dir()' );
$this->verbose = $echo; $this->verbose = $echo;
return $this->abspath(); return $this->abspath();
} }

Some files were not shown because too many files have changed in this diff Show More