Compare commits

...

86 Commits

Author SHA1 Message Date
Andrew Nacin
54fc2e2441 Tag 3.7.5.
Built from https://develop.svn.wordpress.org/@30489


git-svn-id: http://core.svn.wordpress.org/tags/3.7.5@30478 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 19:58:33 +00:00
Andrew Nacin
f5f28b9b1b 3.7.5 version bumps.
Built from https://develop.svn.wordpress.org/branches/3.7@30472


git-svn-id: http://core.svn.wordpress.org/branches/3.7@30463 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 16:26:10 +00:00
Andrew Nacin
3762c63026 Prevent high resource usage when hashing large passwords. props mdawaffe, pento
Merges [30466] to the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@30470


git-svn-id: http://core.svn.wordpress.org/branches/3.7@30461 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 16:08:09 +00:00
Andrew Nacin
1e3fb4d13c Validate image data.
Merges [30458] to the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@30465


git-svn-id: http://core.svn.wordpress.org/branches/3.7@30456 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 16:00:09 +00:00
Andrew Nacin
0c8039be21 Anchor texturize to shortcodes to improve regex efficiency.
Merges [30452] to the 3.7 branch.

props miqrogroove.
see #29557 for segfault issues.

Built from https://develop.svn.wordpress.org/branches/3.7@30456


git-svn-id: http://core.svn.wordpress.org/branches/3.7@30447 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 14:40:09 +00:00
Andrew Nacin
1e0faa77d3 Better validation of the URL used in core HTTP requests.
Merges [30443] to the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@30447


git-svn-id: http://core.svn.wordpress.org/branches/3.7@30442 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 14:03:08 +00:00
Andrew Nacin
3d16a38fc4 Press This: Ensure the error message is printed. props johnbillion
Merges [30438] to the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@30442


git-svn-id: http://core.svn.wordpress.org/branches/3.7@30437 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 14:00:18 +00:00
Andrew Nacin
c2b7538b1c Invalidate password keys when a user's email changes.
Merges [30430] to the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@30434


git-svn-id: http://core.svn.wordpress.org/branches/3.7@30429 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 13:43:09 +00:00
Andrew Nacin
eeb9290b3b Fix typo in style filter. props miqrogroove
Merges [30425] to the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@30429


git-svn-id: http://core.svn.wordpress.org/branches/3.7@30424 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 13:17:09 +00:00
Andrew Nacin
61d9bd544b Form validation for password resets.
Merges [30417] to the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@30421


git-svn-id: http://core.svn.wordpress.org/branches/3.7@30416 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 12:25:19 +00:00
Andrew Nacin
7e1c039ed1 Use hash_equals() for old md5 hashes.
Merges [30412] to the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@30416


git-svn-id: http://core.svn.wordpress.org/branches/3.7@30411 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 12:06:10 +00:00
Andrew Nacin
a318c79670 Password resets: Use network_site_url() for form actions.
Merges [29631] to the 3.7 branch.

props mdawaffe.
fixes #29156.

Built from https://develop.svn.wordpress.org/branches/3.7@29640


git-svn-id: http://core.svn.wordpress.org/branches/3.7@29414 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-27 03:06:11 +00:00
Andrew Nacin
e4da99ec10 3.7.4
Built from https://develop.svn.wordpress.org/branches/3.7@29413


git-svn-id: http://core.svn.wordpress.org/branches/3.7@29191 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 18:27:35 +00:00
Andrew Nacin
635a071eda Use delimiters when building nonce hashes. Part two of [29388].
Built from https://develop.svn.wordpress.org/branches/3.7@29410


git-svn-id: http://core.svn.wordpress.org/branches/3.7@29188 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 17:59:09 +00:00
Andrew Nacin
69d28f882f Ignore entities in XML-RPC requests.
Merges [29404] to the 3.7 branch.

props mdawaffe, nacin.

Built from https://develop.svn.wordpress.org/branches/3.7@29407


git-svn-id: http://core.svn.wordpress.org/branches/3.7@29185 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 17:51:19 +00:00
Andrew Nacin
8b02ba1d76 Escape late in get_avatar().
Merges [29397] to the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@29400


git-svn-id: http://core.svn.wordpress.org/branches/3.7@29178 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 07:51:32 +00:00
Andrew Nacin
b9739cae41 Don't pass around the password reset key.
Merges [29327] and [29381] to the 3.7 branch.

props mdawaffe.
fixes #29060.

Built from https://develop.svn.wordpress.org/branches/3.7@29396


git-svn-id: http://core.svn.wordpress.org/branches/3.7@29174 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 06:40:11 +00:00
Andrew Nacin
746e87cf0a Disable external entities in ID3.
Merges [29378] to the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@29392


git-svn-id: http://core.svn.wordpress.org/branches/3.7@29170 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 05:58:19 +00:00
Andrew Nacin
2312c77dc5 Constant time for wp_verify_nonce().
Merges [29384] to the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@29388


git-svn-id: http://core.svn.wordpress.org/branches/3.7@29166 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 05:45:10 +00:00
Andrew Nacin
110becdc03 3.7.4-alpha
Built from https://develop.svn.wordpress.org/branches/3.7@29387


git-svn-id: http://core.svn.wordpress.org/branches/3.7@29165 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-06 05:44:11 +00:00
Andrew Nacin
d2044c3bb5 3.7.3
Built from https://develop.svn.wordpress.org/branches/3.7@28119


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27950 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-14 19:06:10 +00:00
Andrew Nacin
7331bf3e98 Avoid stomping of bulk postdata inside the bulk_edit_posts() loop.
Merges [28113] to the 3.7 branch.

Reverts [27992] which did not fix it for authors and comment/ping status.

props dd32, DrewAPicture.
fixes #27792.

Built from https://develop.svn.wordpress.org/branches/3.7@28115


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27946 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-14 08:13:10 +00:00
Andrew Nacin
1ea4ff28ce 3.7.3-RC1
Built from https://develop.svn.wordpress.org/branches/3.7@28078


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27909 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-11 17:30:09 +00:00
Andrew Nacin
9c1b1dd073 Recover auto-drafts lost via Quick Draft.
Merges [28075] from the 3.8 to the 3.7 branch. See [28074].

fixes #27734.

Built from https://develop.svn.wordpress.org/branches/3.7@28077


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27908 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-11 17:29:10 +00:00
Andrew Nacin
1f7cf009b3 Ensure edit_post() promotes an auto-draft to draft. Fixes Quick Draft.
Merges [28073] from the 3.8 branch to the 3.7 branch.

props dd32.
see #27734.

Built from https://develop.svn.wordpress.org/branches/3.7@28074


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27905 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-11 04:38:11 +00:00
Andrew Nacin
1dd3b9212e 3.7.2
Built from https://develop.svn.wordpress.org/branches/3.7@28056


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27888 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-08 18:13:10 +00:00
Andrew Nacin
e17e1d22e6 Bump Akismet external in the 3.7 branch to 2.6.0.
git-svn-id: http://core.svn.wordpress.org/branches/3.7@27886 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-08 18:10:19 +00:00
Andrew Nacin
4932c36533 Harden HMAC verification. props duck_. [28053] for 3.7.
Built from https://develop.svn.wordpress.org/branches/3.7@28055


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27885 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-08 18:08:10 +00:00
Andrew Nacin
ab7e094de3 3.7.2-RC1
Built from https://develop.svn.wordpress.org/branches/3.7@27993


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 19:40:11 +00:00
Andrew Nacin
e5ba4e75cb Avoid stomping of bulk postdata inside the bulk_edit_posts() loop.
Merges [27990] to the 3.7 branch.

props kovshenin.
see [27964], see #27452.

Built from https://develop.svn.wordpress.org/branches/3.7@27992


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27822 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 19:36:21 +00:00
Andrew Nacin
c322ca97ad Better checks for contributors when saving posts.
Merges [27976] from the 3.8 branch to the 3.7 branch.

props dd32, kovshenin, plocha.
fixes #27452.

Built from https://develop.svn.wordpress.org/branches/3.7@27977


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27807 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-06 22:17:10 +00:00
Dion Hulse
1d299753ff Background Updates: Fix a PHP Warning caused by a Upgrader instance being passed into the Theme & Plugin $extra_stats parameter.
Background Updates: Fix two variable typos in r27905

Merges [27906],	[27928]	to the 3.7 branch.
Fixes #27633.

Built from https://develop.svn.wordpress.org/branches/3.7@27930


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27760 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-03 05:47:09 +00:00
Andrew Nacin
d5744d72dc Background Updates: Record plugin & theme update statistics like we do for core updates.
Pass plugin/theme update objects into the Background updater for consistency with core & translations.

Merges [27905] to the 3.7 branch.

props dd32.
fixes #27633.

Built from https://develop.svn.wordpress.org/branches/3.7@27924


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27754 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-03 04:03:09 +00:00
Andrew Nacin
3ec57fa3e0 Update Plupload Silverlight binary to 1.5.8 in the 3.7 branch.
Built from https://develop.svn.wordpress.org/branches/3.7@27921


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27751 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-03 03:38:09 +00:00
Andrew Nacin
dc382aeae2 Remove links_recently_updated_time (hardening).
Merges [27917] from the 3.8 branch to 3.7 branch.

see #27649.

Built from https://develop.svn.wordpress.org/branches/3.7@27919


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27749 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-03 03:23:10 +00:00
Andrew Nacin
52f5555eca Prefix the notoptions cache key in the multisite site-options group with $wpdb->siteid to avoid collisions.
Merges [26304] (and [26305]) from 3.8 to the 3.7 branch.

props wonderboymusic.
fixes #25883.

Built from https://develop.svn.wordpress.org/branches/3.7@27888


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27719 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 04:07:09 +00:00
Andrew Nacin
3d8c17a9c8 Fix a regression in wp_mkdir_p() where the $mode of the parent folder is not correctly applied to all created paths.
Merges [26449] and [26927] from 3.8.x to the 3.7 branch.

props dd32.
fixes #25822.

Built from https://develop.svn.wordpress.org/branches/3.7@27887


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27718 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 04:02:10 +00:00
Andrew Nacin
7a01e960b5 Cron: Fix a case where a cache inconsistency can cause wp_clear_scheduled_hook() to enter an infinite loop.
Merges [26782] from 3.8 to the 3.7 branch.

props dd32.
fixes #25773.

Built from https://develop.svn.wordpress.org/branches/3.7@27886


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27717 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 03:40:10 +00:00
Andrew Nacin
8d9c69ffc4 Core Updates: Fix a case where options (db_version specifically) can end up with stale values in the cache after a update is performed.
Merges [26448] and [26734] from 3.8 to the 3.7 branch.

props dd32.
fixes #26173.

Built from https://develop.svn.wordpress.org/branches/3.7@27885


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27716 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 03:36:10 +00:00
Andrew Nacin
62f4a5b223 Updates: When a failed Background Update occurs, only show the failed update nag if the user hasn't yet updated if it was an early abort.
Merges [26186] from 3.8 to the 3.7 branch.

props SergeyBiryukov.
fixes #25887.

Built from https://develop.svn.wordpress.org/branches/3.7@27884


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27715 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 03:31:09 +00:00
Andrew Nacin
4aa0ca0aab Core Upgrader success statistics: Pass the version of WordPress we're upgrading from, as well as the version being upgraded to.
Merges [26016] and [26017] from 3.8 to the 3.7 branch.

fixes #25772.

Built from https://develop.svn.wordpress.org/branches/3.7@27883


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27714 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 03:29:10 +00:00
Andrew Nacin
8930937bf0 When checking filesystem permissions for core updates, only check the permissions of the files which we need to alter.
Merges [26014] from 3.8 to the 3.7 branch.

fixes #25771.

Built from https://develop.svn.wordpress.org/branches/3.7@27882


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27713 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 03:09:10 +00:00
Andrew Nacin
fe261114bd Background Updates: Fix a PHP fatal error which could be encountered on some systems when using FTP.
Merges [26148] from 3.8 to the 3.7 branch.

props dd32.
fixes #25817.

Built from https://develop.svn.wordpress.org/branches/3.7@27881


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27712 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-01 02:58:10 +00:00
Andrew Nacin
2486cbe932 Forward pingback IP during pingback verification.
Merges [27872] to the 3.7 branch.

props tellyworth, nacin.
fixes #27613.

Built from https://develop.svn.wordpress.org/branches/3.7@27878


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27709 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-31 21:36:11 +00:00
Andrew Nacin
a9ce0ee825 Default Themes: Update POT files for the 3.7 branch.
Built from https://develop.svn.wordpress.org/branches/3.7@27590


git-svn-id: http://core.svn.wordpress.org/branches/3.7@27433 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-18 19:20:11 +00:00
Andrew Nacin
cbb694c005 Update the 3.7 branch's version numbers. fixes #25985.
Built from https://develop.svn.wordpress.org/branches/3.7@26546


git-svn-id: http://core.svn.wordpress.org/branches/3.7@26438 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-02 23:16:11 +00:00
Dion Hulse
bd4a5ae14a Background Updates: Spread them over the hour. Props Pento. Merges r26149 to the 3.7 branch. Fixes #25833 for 3.7.
Built from https://develop.svn.wordpress.org/branches/3.7@26450


git-svn-id: http://core.svn.wordpress.org/branches/3.7@26348 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-28 02:35:11 +00:00
Andrew Nacin
f2e591e4c2 PHP4 compatibility for files loaded before we bail. fixes #25760.
Merges [25986] to the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@25987


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25923 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-29 20:08:08 +00:00
Andrew Nacin
2861721640 Final count of bug fixes in 3.7.1 is 10.
Built from https://develop.svn.wordpress.org/branches/3.7@25984


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-29 18:16:09 +00:00
Andrew Nacin
2d26855d11 3.7.1
Built from https://develop.svn.wordpress.org/branches/3.7@25982


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25921 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-29 17:20:08 +00:00
Andrew Nacin
7c591bacff Use correct variable in WP_Automatic_Updater::send_email().
Merges [25977] to the 3.7 branch and adds an inline comment.

props pento.
see #25757.

Built from https://develop.svn.wordpress.org/branches/3.7@25981


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25920 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-29 17:15:10 +00:00
Andrew Nacin
462ede7416 Avoid resetting the 'hierarchical' argument in get_pages() when 'parent' is -1, the default.
Merges [25974] and [25975] to the 3.7 branch.

Fixes a regression introduced in [25270]. Adds unit tests.

props chrisbliss18.
fixes #25750.

Built from https://develop.svn.wordpress.org/branches/3.7@25976


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25919 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-29 01:50:08 +00:00
Andrew Nacin
1171df59bc 3.7-RC1
Built from https://develop.svn.wordpress.org/branches/3.7@25958


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25917 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-27 21:14:10 +00:00
Andrew Nacin
4006a8aa0a When an HTTPS request to api.wordpress.org fails, try an insecure HTTP request and issue a warning.
Certain versions of cURL appear to claim OpenSSL support but fail to work. We need to not trap users on older versions while we work this out, and instead fall back to an insecure request.

Merges [25956] to the 3.7 branch.
fixes #25716 for the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@25957


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25916 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-27 21:10:09 +00:00
Andrew Nacin
a38ca7ef4c Query stopwords: Only eliminate single A-Z letters as search terms.
Merges [25954] to the 3.7 branch.

Stop trying to match any single letters that are not East Asian characters, as this requires PCRE with UTF-8 support; and because it doesn't actually work.

fixes #25709.

Built from https://develop.svn.wordpress.org/branches/3.7@25955


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25914 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-27 20:53:09 +00:00
Andrew Ozz
167918a364 Bump the (cache-busting) TinyMCE version for 3.7, see #25700.
Built from https://develop.svn.wordpress.org/branches/3.7@25943


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25902 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-26 21:43:09 +00:00
Andrew Nacin
1417f745d9 Fix the exclude_tree argument in get_terms(), which fixes the exclude argument in wp_list_categories().
Merges [25933] to the 3.7 branch.

This was a 3.7 regression caused by [25162].

props dd32.
fixes #25710.

Built from https://develop.svn.wordpress.org/branches/3.7@25936


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25895 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-26 19:01:09 +00:00
Andrew Nacin
bdb8c16d82 Update the about page for 3.7.1. Tentative bug count.
Built from https://develop.svn.wordpress.org/branches/3.7@25931


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25890 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-26 03:27:10 +00:00
Andrew Nacin
52cb471a00 Have get_current_user_id() return 0 when pluggable.php is not yet included (which brings the ability to set or get the current user).
Merges [25929] to the 3.7 branch.

fixes #25690.

Built from https://develop.svn.wordpress.org/branches/3.7@25930


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25889 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-26 03:22:09 +00:00
Andrew Nacin
376125f2bc 3.7.1-beta1
Built from https://develop.svn.wordpress.org/branches/3.7@25928


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25887 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-26 03:08:09 +00:00
Andrew Nacin
50dfcadf54 About page: Replace 3.7 with the current version (3.7.1, etc.).
Normally this would be sprintf'd in but we don't want to change a string at this point.

fixes #25683 for the 3.7 branch.

Built from https://develop.svn.wordpress.org/branches/3.7@25927


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25886 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-26 03:07:09 +00:00
Andrew Nacin
6098b84f76 In update_option(), call the update_option hook before the DB update.
Merges [25925] to the 3.7 branch.

Reverses a regression from [25664].

props calin.
fixes #25705.

Built from https://develop.svn.wordpress.org/branches/3.7@25926


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25885 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-26 02:58:09 +00:00
Andrew Nacin
45cb40226f 3.7 regression from [25119]: Have in_category() return false when the first argument is empty.
Merges [25923] to the 3.7 branch.

props ericlewis.
fixes #25706.

Built from https://develop.svn.wordpress.org/branches/3.7@25924


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-26 02:55:08 +00:00
Andrew Nacin
63b0a09a2f 3.7 regression: Fix the width of captioned images inserted into the visual editor.
Pulls some arithmetic outside of some string concatenation to avoid a nasty uglify.js regression: https://github.com/mishoo/UglifyJS2/pull/330.

Merges [25921] to the 3.7 branch.

props LucP.
fixes #25700.

Built from https://develop.svn.wordpress.org/branches/3.7@25922


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25881 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-26 02:52:09 +00:00
Andrew Nacin
01023d9bfa Avoid a notice for an undefined $checksums variable when updating from pre-3.7 to post-3.7.
Merges [25915] to the 3.7 branch.

props GaryJ.
fixes #25689.

Built from https://develop.svn.wordpress.org/branches/3.7@25916


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25879 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-25 20:17:09 +00:00
Andrew Nacin
337feb46b2 The 3.7 branch is now 3.7.1-alpha
Built from https://develop.svn.wordpress.org/branches/3.7@25914


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25877 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-25 20:13:09 +00:00
Andrew Nacin
d0cf0c467e POT update.
Built from https://develop.svn.wordpress.org/branches/3.7@25910


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25822 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 20:38:08 +00:00
Andrew Nacin
2644594c1d Translator comments are special, make sure they are parsed properly. see #25256, for the 3.7 branch.
Built from https://develop.svn.wordpress.org/branches/3.7@25909


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25821 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 20:31:09 +00:00
Andrew Nacin
f771ac8933 Twenty Thirteen: Restore the original "Not found" string. see #24891.
Built from https://develop.svn.wordpress.org/branches/3.7@25906


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25818 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 20:18:09 +00:00
Andrew Nacin
d52b298c31 Update POT files for Twenty Ten through Twenty Thirteen, for 3.7.
Built from https://develop.svn.wordpress.org/branches/3.7@25905


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25817 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 20:03:09 +00:00
Andrew Nacin
8d386de8e2 Bundled themes: bump version numbers (ignoring Twenty Ten).
Merges [25902] to 3.7.

Built from https://develop.svn.wordpress.org/branches/3.7@25903


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25815 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 19:39:10 +00:00
Andrew Nacin
cb481b6e95 3.7.
Built from https://develop.svn.wordpress.org/branches/3.7@25901


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25813 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 19:36:09 +00:00
Andrew Nacin
4fe2c2db1e Maintain the same output for get_avatar() as 3.6. see [25896]. For the 3.7 branch.
Built from https://develop.svn.wordpress.org/branches/3.7@25900


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25812 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 19:33:10 +00:00
Andrew Nacin
a49c3f07c8 Add editimage.min.js to $_old_files. see #24999. for the 3.7 branch.
Built from https://develop.svn.wordpress.org/branches/3.7@25898


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25810 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 19:29:10 +00:00
Andrew Nacin
66dc1e25a1 Always escape URLs at the last possible moment. for the 3.7 branch.
Built from https://develop.svn.wordpress.org/branches/3.7@25896


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25808 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 18:54:08 +00:00
Andrew Nacin
36a4f54379 Confirm delete_site_option() exists before calling it during an update.
This function won't yet exist when updating from 2.7 [sic].

Merges [25893] to the 3.7 branch.
fixes #25682.

Built from https://develop.svn.wordpress.org/branches/3.7@25894


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25806 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 18:21:10 +00:00
Andrew Nacin
a8bda30209 Remove debug code from WP_Automatic_Updater::send_email().
Merges [25891] to the 3.7 branch.

props markmcwilliams for initial patch.
fixes #25678.

Built from https://develop.svn.wordpress.org/branches/3.7@25892


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25804 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 02:00:09 +00:00
Andrew Nacin
71e4bdc269 Avoid notice with search feeds.
Merges [25889] to the 3.7 branch.

fixes #25677.

Built from https://develop.svn.wordpress.org/branches/3.7@25890


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25802 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-23 20:58:09 +00:00
Andrew Nacin
6ec5238145 3.7-RC2-25888
Built from https://develop.svn.wordpress.org/branches/3.7@25888


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25800 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-23 20:08:09 +00:00
Andrew Nacin
c7e5a7da23 About page: Cache our zxcvbn calls and limit the variation of the animation.
Merges [25884] to the 3.7 branch.

Diff is mostly whitespace.

props jorbin, azaozz.
fixes #25603.

Built from https://develop.svn.wordpress.org/branches/3.7@25887


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25799 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-23 19:55:09 +00:00
Andrew Nacin
1ba8a7f373 About page, updates section: Don't show a message on about.php if the updater is 100% disabled. Don't show it if the user can't update core. Don't show the email if notifications are disabled. New string.
Merges [25883] to the 3.7 branch.
see #25603.

Built from https://develop.svn.wordpress.org/branches/3.7@25886


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25798 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-23 19:54:18 +00:00
Andrew Nacin
4152cb0b4b Introduce a send_core_update_notification_email filter to control whether to send update notifications.
Merges [25882] to the 3.7 branch.

Currently, this is dependent on whether the automatic updater is enabled (generally). This is likely to be decoupled in a future release.

This refocuses the auto_core_update_send_email filter to specifically be for success/fail emails for auto updates, while the new filter is more general.

see #25603.

Built from https://develop.svn.wordpress.org/branches/3.7@25885


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25797 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-23 19:54:10 +00:00
Ryan Boren
85447a0bf3 Pinking shears
Built from https://develop.svn.wordpress.org/branches/3.7@25881


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25793 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-23 14:40:10 +00:00
Andrew Nacin
a9d0b1c785 Remove temporary 3.8 hooks from the 3.7 branch.
props nofearinc.
fixes #25656.

Built from https://develop.svn.wordpress.org/branches/3.7@25878


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25790 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-22 23:58:10 +00:00
Andrew Nacin
bd01235e18 Delete Twenty Fourteen from the 3.7 branch.
Built from https://develop.svn.wordpress.org/branches/3.7@25877


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25789 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-22 23:56:26 +00:00
Andrew Nacin
1f3ef3e28c Branch 3.7
Built from https://develop.svn.wordpress.org/trunk@25876


git-svn-id: http://core.svn.wordpress.org/branches/3.7@25788 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-22 23:47:27 +00:00
149 changed files with 1029 additions and 10228 deletions

View File

@@ -8,7 +8,7 @@
<body>
<h1 id="logo">
<a href="http://wordpress.org/"><img alt="WordPress" src="wp-admin/images/wordpress-logo.png" /></a>
<br /> Version 3.6
<br /> Version 3.7.5
</h1>
<p style="text-align: center">Semantic Personal Publishing Platform</p>

View File

@@ -21,7 +21,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
<div class="about-text"><?php printf( __( 'Thank you for updating to WordPress 3.7! You might not notice a thing, and we&#8217;re okay with that.' ), $display_version ); ?></div>
<div class="about-text"><?php echo str_replace( '3.7', $display_version, __( 'Thank you for updating to WordPress 3.7! You might not notice a thing, and we&#8217;re okay with that.' ) ); ?></div>
<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
@@ -35,6 +35,30 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
</a>
</h2>
<div class="changelog point-releases">
<h3><?php echo _n( 'Maintenance and Security Release', 'Maintenance and Security Releases', 5 ); ?></h3>
<p><?php printf( _n( '<strong>Version %1$s</strong> addressed a security issue.',
'<strong>Version %1$s</strong> addressed some security issues.', 8 ), '3.7.5', number_format_i18n( 8 ) ); ?>
<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.7.5' ); ?>
</p>
<p><?php printf( _n( '<strong>Version %1$s</strong> addressed a security issue.',
'<strong>Version %1$s</strong> addressed some security issues.', 5 ), '3.7.4', number_format_i18n( 5 ) ); ?>
<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.7.4' ); ?>
</p>
<p><?php printf( _n( '<strong>Version %1$s</strong> addressed %2$s bug.',
'<strong>Version %1$s</strong> addressed %2$s bugs.', 2 ), '3.7.3', number_format_i18n( 2 ) ); ?>
<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.7.3' ); ?>
</p>
<p><?php printf( _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.', 9 ), '3.7.2', number_format_i18n( 9 ) ); ?>
<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.7.2' ); ?>
</p>
<p><?php printf( _n( '<strong>Version %1$s</strong> addressed %2$s bug.',
'<strong>Version %1$s</strong> addressed %2$s bugs.', 11 ), '3.7.1', number_format_i18n( 11 ) ); ?>
<?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_3.7.1' ); ?>
</p>
</div>
<div class="changelog">
<h3><?php _e( 'Background Updates' ); ?></h3>
@@ -52,23 +76,36 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<p><?php _e( 'You&#8217;ll still need to click &#8220;Update Now&#8221; once WordPress 3.8 is released, but we&#8217;ve never had more confidence in that beautiful blue button.' ); ?></p>
</div>
<?php
$can_auto_update = wp_http_supports( 'ssl' );
if ( current_user_can( 'update_core' ) ) {
$future_minor_update = (object) array(
'current' => $wp_version . '.1.next.minor',
'version' => $wp_version . '.1.next.minor',
'php_version' => $required_php_version,
'mysql_version' => $required_mysql_version,
);
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
$updater = new WP_Automatic_Updater;
$can_auto_update = wp_http_supports( array( 'ssl' ) ) && $updater->should_update( 'core', $future_minor_update, ABSPATH );
if ( $can_auto_update ) {
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
$upgrader = new WP_Automatic_Updater;
$future_minor_update = (object) array(
'current' => $wp_version . '.1.next.minor',
'version' => $wp_version . '.1.next.minor',
'php_version' => $required_php_version,
'mysql_version' => $required_mysql_version,
);
$can_auto_update = $upgrader->should_update( 'core', $future_minor_update, ABSPATH );
echo '<p class="about-auto-update cool">' . __( 'This site <strong>is</strong> able to apply these updates automatically. Cool!' ). '</p>';
// If the updater is disabled entirely, don't show them anything.
} elseif ( ! $updater->is_disabled() ) {
echo '<p class="about-auto-update">';
// If this is is filtered to false, they won't get emails, so don't claim we will.
// Assumption: If the user can update core, they can see what the admin email is.
/** This filter is documented in wp-admin/includes/class-wp-upgrader.php */
if ( apply_filters( 'send_core_update_notification_email', true, $future_minor_update ) ) {
printf( __( 'This site <strong>is not</strong> able to apply these updates automatically. But we&#8217;ll email %s when there is a new security release.' ), esc_html( get_site_option( 'admin_email' ) ) );
} else {
_e( 'This site <strong>is not</strong> able to apply these updates automatically.' );
}
echo '</p>';
}
if ( $can_auto_update ) : ?>
<p class="about-auto-update cool"><?php _e( 'This site <strong>is</strong> able to apply these updates automatically. Cool!' ); ?></p>
<?php else : ?>
<p class="about-auto-update"><?php printf( __( 'This site <strong>is not</strong> able to apply these updates automatically. But we&#8217;ll email %s when there is a new security release.' ), esc_html( get_site_option( 'admin_email' ) ) ); ?></p>
<?php endif; ?>
}
?>
</div>
</div>

View File

@@ -21,17 +21,17 @@ if ( !defined('ABSPATH') )
* Fires after the opening tag for the admin footer.
*
* @since 2.5.0
*/
do_action( 'in_admin_footer' );
*/
do_action( 'in_admin_footer' );
?>
<p id="footer-left" class="alignleft">
<?php
/**
* Filter the "Thank you" text displayed in the admin footer.
*
*
* @since 2.8.0
* @param string The content that will be printed.
*/
*/
echo apply_filters( 'admin_footer_text', '<span id="footer-thankyou">' . __( 'Thank you for creating with <a href="http://wordpress.org/">WordPress</a>.' ) . '</span>' );
?>
</p>
@@ -42,11 +42,11 @@ if ( !defined('ABSPATH') )
*
* @see core_update_footer() WordPress prints the current version and update information,
* using core_update_footer() at priority 10.
*
*
* @since 2.3.0
* @param string The content that will be printed.
*/
echo apply_filters( 'update_footer', '' );
echo apply_filters( 'update_footer', '' );
?>
</p>
<div class="clear"></div>
@@ -54,7 +54,7 @@ if ( !defined('ABSPATH') )
<?php
/**
* Print scripts or data before the default footer scripts.
*
*
* @since 1.2.0
* @param string The data to print.
*/
@@ -62,16 +62,16 @@ do_action('admin_footer', '');
/**
* Prints any scripts and data queued for the footer.
*
*
* @since 2.8.0
*/
do_action('admin_print_footer_scripts');
/**
* Print scripts or data after the default footer scripts.
*
*
* @since 2.8.0
*
*
* @param string $GLOBALS['hook_suffix'] The current admin page.
*/
do_action("admin_footer-" . $GLOBALS['hook_suffix']);

View File

@@ -279,7 +279,7 @@ case 'editedcomment' :
edit_comment();
$location = ( empty( $_POST['referredby'] ) ? "edit-comments.php?p=$comment_post_id" : $_POST['referredby'] ) . '#comment-' . $comment_id;
/**
* Filter the URI the user is redirected to after editing a comment in the admin.
*

View File

@@ -81,7 +81,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
<div class="about-text"><?php printf( __( 'Thank you for updating to WordPress 3.7! You might not notice a thing, and we&#8217;re okay with that.' ), $display_version ); ?></div>
<div class="about-text"><?php echo str_replace( '3.7', $display_version, __( 'Thank you for updating to WordPress 3.7! You might not notice a thing, and we&#8217;re okay with that.' ) ); ?></div>
<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>

File diff suppressed because one or more lines are too long

View File

@@ -19,7 +19,7 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1>
<div class="about-text"><?php printf( __( 'Thank you for updating to WordPress 3.7! You might not notice a thing, and we&#8217;re okay with that.' ), $display_version ); ?></div>
<div class="about-text"><?php echo str_replace( '3.7', $display_version, __( 'Thank you for updating to WordPress 3.7! You might not notice a thing, and we&#8217;re okay with that.' ) ); ?></div>
<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>

View File

@@ -308,7 +308,7 @@ foreach ( $columns as $column_name => $column_display_name ) {
if ( $parent ) {
$title = _draft_or_post_title( $post->post_parent );
$parent_type = get_post_type_object( $parent->post_type );
$parent_type = get_post_type_object( $parent->post_type );
?>
<td <?php echo $attributes ?>><strong>
<?php if ( current_user_can( 'edit_post', $post->post_parent ) && $parent_type->show_ui ) { ?>

View File

@@ -832,7 +832,7 @@ class WP_Posts_List_Table extends WP_List_Table {
<?php if ( !$bulk ) echo $authors_dropdown;
endif; // post_type_supports author
if ( !$bulk ) :
if ( !$bulk && $can_publish ) :
?>
<div class="inline-edit-group">

View File

@@ -583,7 +583,7 @@ class Language_Pack_Upgrader_Skin extends WP_Upgrader_Skin {
/**
* 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.
*
* @package WordPress

View File

@@ -1314,7 +1314,9 @@ class Core_Upgrader extends WP_Upgrader {
}
function upgrade( $current, $args = array() ) {
global $wp_filesystem, $wp_version;
global $wp_filesystem;
include ABSPATH . WPINC . '/version.php'; // $wp_version;
$start_time = time();
@@ -1333,8 +1335,9 @@ class Core_Upgrader extends WP_Upgrader {
return new WP_Error('up_to_date', $this->strings['up_to_date']);
$res = $this->fs_connect( array(ABSPATH, WP_CONTENT_DIR) );
if ( is_wp_error($res) )
if ( ! $res || is_wp_error( $res ) ) {
return $res;
}
$wp_dir = trailingslashit($wp_filesystem->abspath());
@@ -1421,6 +1424,7 @@ class Core_Upgrader extends WP_Upgrader {
'fs_method' => $wp_filesystem->method,
'fs_method_forced' => defined( 'FS_METHOD' ) || has_filter( 'filesystem_method' ),
'time_taken' => time() - $start_time,
'reported' => $wp_version,
'attempted' => $current->version,
);
@@ -1739,7 +1743,7 @@ class WP_Automatic_Updater {
// If we can't do an auto core update, we may still be able to email the user.
if ( ! $skin->request_filesystem_credentials( false, $context ) || $this->is_vcs_checkout( $context ) ) {
if ( 'core' == $type )
$this->notify_core_update( $item );
$this->send_core_update_notification_email( $item );
return false;
}
@@ -1770,7 +1774,7 @@ class WP_Automatic_Updater {
if ( ! $update ) {
if ( 'core' == $type )
$this->notify_core_update( $item );
$this->send_core_update_notification_email( $item );
return false;
}
@@ -1798,11 +1802,7 @@ class WP_Automatic_Updater {
*
* @param object $item The update offer.
*/
protected function notify_core_update( $item ) {
// See if we need to notify users of a core update.
if ( empty( $item->notify_email ) )
return false;
protected function send_core_update_notification_email( $item ) {
$notify = true;
$notified = get_site_option( 'auto_core_update_notified' );
@@ -1810,6 +1810,28 @@ class WP_Automatic_Updater {
if ( $notified && $notified['email'] == get_site_option( 'admin_email' ) && $notified['version'] == $item->current )
return false;
// See if we need to notify users of a core update.
$notify = ! empty( $item->notify_email );
/**
* Whether to notify the site administrator of a new core update.
*
* By default, administrators are notified when the update offer received from WordPress.org
* sets a particular flag. This allows for discretion in if and when to notify.
*
* This filter only fires once per release -- if the same email address was already
* notified of the same new version, we won't repeatedly email the administrator.
*
* This filter is also used on about.php to check if a plugin has disabled these notifications.
*
* @since 3.7.0
*
* @param bool $notify Whether the site administrator is notified.
* @param object $item The update offer.
*/
if ( ! apply_filters( 'send_core_update_notification_email', $notify, $item ) )
return false;
$this->send_email( 'manual', $item );
return true;
}
@@ -1850,18 +1872,21 @@ class WP_Automatic_Updater {
if ( ! $this->should_update( $type, $item, $context ) )
return false;
$upgrader_item = $item;
switch ( $type ) {
case 'core':
$skin->feedback( __( 'Updating to WordPress %s' ), $item->version );
$item_name = sprintf( __( 'WordPress %s' ), $item->version );
break;
case 'theme':
$theme = wp_get_theme( $item );
$upgrader_item = $item->theme;
$theme = wp_get_theme( $upgrader_item );
$item_name = $theme->Get( 'Name' );
$skin->feedback( __( 'Updating theme: %s' ), $item_name );
break;
case 'plugin':
$plugin_data = get_plugin_data( $context . '/' . $item );
$upgrader_item = $item->plugin;
$plugin_data = get_plugin_data( $context . '/' . $upgrader_item );
$item_name = $plugin_data['Name'];
$skin->feedback( __( 'Updating plugin: %s' ), $item_name );
break;
@@ -1873,12 +1898,17 @@ class WP_Automatic_Updater {
}
// Boom, This sites about to get a whole new splash of paint!
$upgrade_result = $upgrader->upgrade( $item, array(
$upgrade_result = $upgrader->upgrade( $upgrader_item, array(
'clear_update_cache' => false,
'pre_check_md5' => false, /* always use partial builds if possible for core updates */
'attempt_rollback' => true, /* only available for core updates */
) );
// if the filesystem is unavailable, false is returned.
if ( false === $upgrade_result ) {
$upgrade_result = new WP_Error( 'fs_unavailable', __( 'Could not access filesystem.' ) );
}
// Core doesn't output this, so lets append it so we don't get confused
if ( 'core' == $type ) {
if ( is_wp_error( $upgrade_result ) ) {
@@ -1933,16 +1963,16 @@ class WP_Automatic_Updater {
update_option( $lock_name, time() );
// Don't automatically run these thins, as we'll handle it ourselves
remove_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 );
remove_action( 'upgrader_process_complete', 'wp_version_check' );
remove_action( 'upgrader_process_complete', 'wp_update_plugins' );
remove_action( 'upgrader_process_complete', 'wp_update_themes' );
remove_action( 'upgrader_process_complete', array( 'Language_Pack_Upgrader', 'async_upgrade' ), 20 );
remove_action( 'upgrader_process_complete', 'wp_version_check' );
remove_action( 'upgrader_process_complete', 'wp_update_plugins' );
remove_action( 'upgrader_process_complete', 'wp_update_themes' );
// Next, Plugins
wp_update_plugins(); // Check for Plugin updates
$plugin_updates = get_site_transient( 'update_plugins' );
if ( $plugin_updates && !empty( $plugin_updates->response ) ) {
foreach ( array_keys( $plugin_updates->response ) as $plugin ) {
foreach ( $plugin_updates->response as $plugin ) {
$this->update( 'plugin', $plugin );
}
// Force refresh of plugin update information
@@ -1953,8 +1983,8 @@ class WP_Automatic_Updater {
wp_update_themes(); // Check for Theme updates
$theme_updates = get_site_transient( 'update_themes' );
if ( $theme_updates && !empty( $theme_updates->response ) ) {
foreach ( array_keys( $theme_updates->response ) as $theme ) {
$this->update( 'theme', $theme );
foreach ( $theme_updates->response as $theme ) {
$this->update( 'theme', (object) $theme );
}
// Force refresh of theme update information
wp_clean_themes_cache();
@@ -1969,8 +1999,21 @@ class WP_Automatic_Updater {
// Clean up, and check for any pending translations
// (Core_Upgrader checks for core updates)
wp_update_themes(); // Check for Theme updates
wp_update_plugins(); // Check for Plugin updates
$theme_stats = array();
if ( isset( $this->update_results['theme'] ) ) {
foreach ( $this->update_results['theme'] as $upgrade ) {
$theme_stats[ $upgrade->item->theme ] = ( true === $upgrade->result );
}
}
wp_update_themes( $theme_stats ); // Check for Theme updates
$plugin_stats = array();
if ( isset( $this->update_results['plugin'] ) ) {
foreach ( $this->update_results['plugin'] as $upgrade ) {
$plugin_stats[ $upgrade->item->plugin ] = ( true === $upgrade->result );
}
}
wp_update_plugins( $plugin_stats ); // Check for Plugin updates
// Finally, Process any new translations
$language_updates = wp_get_translation_updates();
@@ -2117,21 +2160,19 @@ class WP_Automatic_Updater {
// If the update transient is empty, use the update we just performed
if ( ! $next_user_core_update )
$next_user_core_update = $core_update;
$newer_version_available = ( 'upgrade' == $next_user_core_update->response && version_compare( $next_user_core_update->version, $core_update, '>' ) );
$newer_version_available = ( 'upgrade' == $next_user_core_update->response && version_compare( $next_user_core_update->version, $core_update->version, '>' ) );
$newer_version_available = true;
$next_user_core_update->version = $next_user_core_update->current = '3.8.1';
/**
* Filter whether to send an email following an automatic background core update.
*
* @since 3.7.0
*
* @param bool $send Whether to send the email. Default true.
* @param string $type The type of email to send. Can be one of 'success', 'fail', 'manual', 'critical'.
* @param string $type The type of email to send. Can be one of 'success', 'fail', 'critical'.
* @param object $core_update The update offer that was attempted.
* @param mixed $result The result for the core update. Can be WP_Error.
*/
if ( ! apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result ) )
if ( 'manual' !== $type && ! apply_filters( 'auto_core_update_send_email', true, $type, $core_update, $result ) )
return;
switch ( $type ) {
@@ -2270,7 +2311,7 @@ class WP_Automatic_Updater {
* @type string $subject The email's subject.
* @type string $body The email message body.
* @type string $headers Any email headers, defaults to no headers.
* }
* }
* @param string $type The type of email being sent. Can be one of 'success', 'fail', 'manual', 'critical'.
* @param object $core_update The update offer that was attempted.
* @param mixed $result The result for the core update. Can be WP_Error.

View File

@@ -1121,8 +1121,8 @@ function wp_update_theme($theme, $feedback = '') {
* This was once used to display attachment links. Now it is deprecated and stubbed.
*
* {@internal Missing Short Description}}
*
* @since 2.0.0
*
* @since 2.0.0
* @deprecated 3.7.0
*
* @param unknown_type $id

View File

@@ -314,6 +314,12 @@ function wp_read_image_metadata( $file ) {
$meta[ $key ] = utf8_encode( $meta[ $key ] );
}
foreach ( $meta as &$value ) {
if ( is_string( $value ) ) {
$value = wp_kses_post( $value );
}
}
return apply_filters( 'wp_read_image_metadata', $meta, $file, $sourceImageType );
}

View File

@@ -62,7 +62,7 @@ function wpmu_delete_blog( $blog_id, $drop = false ) {
$blog = get_blog_details( $blog_id );
/**
* Fires before a blog is deleted.
* Fires before a blog is deleted.
*
* @since MU
*
@@ -295,7 +295,7 @@ function send_confirmation_on_profile_email() {
'newemail' => $_POST['email']
);
update_option( $current_user->ID . '_new_email', $new_user_email );
$email_text = __( 'Dear user,
You recently requested to have the email address on your account changed.
@@ -315,10 +315,10 @@ All at ###SITENAME###
* Filter the email text sent when a user changes emails.
*
* The following strings have a special meaning and will get replaced dynamically:
* ###ADMIN_URL### The link to click on to confirm the email change. Required otherwise this functunalty is will break.
* ###EMAIL### The new email.
* ###ADMIN_URL### The link to click on to confirm the email change. Required otherwise this functunalty is will break.
* ###EMAIL### The new email.
* ###SITENAME### The name of the site.
* ###SITEURL### The URL to the site.
* ###SITEURL### The URL to the site.
*
* @since MU
*
@@ -448,9 +448,9 @@ function update_user_status( $id, $pref, $value, $deprecated = null ) {
if ( $value == 1 ) {
/**
* Fires after the user is marked as a SPAM user.
*
*
* @since 3.0.0
*
*
* @param int $id ID of the user marked as SPAM.
*/
do_action( 'make_spam_user', $id );
@@ -459,7 +459,7 @@ function update_user_status( $id, $pref, $value, $deprecated = null ) {
* Fires after the user is marked as a HAM user. Opposite of SPAM.
*
* @since 3.0.0
*
*
* @param int $id ID of the user marked as HAM.
*/
do_action( 'make_ham_user', $id );
@@ -494,10 +494,10 @@ function format_code_lang( $code = '' ) {
'sg' => 'Sango', 'sa' => 'Sanskrit', 'sr' => 'Serbian', 'hr' => 'Croatian', 'si' => 'Sinhala; Sinhalese', 'sk' => 'Slovak', 'sl' => 'Slovenian', 'se' => 'Northern Sami', 'sm' => 'Samoan', 'sn' => 'Shona', 'sd' => 'Sindhi', 'so' => 'Somali', 'st' => 'Sotho, Southern', 'es' => 'Spanish; Castilian', 'sc' => 'Sardinian', 'ss' => 'Swati', 'su' => 'Sundanese', 'sw' => 'Swahili',
'sv' => 'Swedish', 'ty' => 'Tahitian', 'ta' => 'Tamil', 'tt' => 'Tatar', 'te' => 'Telugu', 'tg' => 'Tajik', 'tl' => 'Tagalog', 'th' => 'Thai', 'bo' => 'Tibetan', 'ti' => 'Tigrinya', 'to' => 'Tonga (Tonga Islands)', 'tn' => 'Tswana', 'ts' => 'Tsonga', 'tk' => 'Turkmen', 'tr' => 'Turkish', 'tw' => 'Twi', 'ug' => 'Uighur; Uyghur', 'uk' => 'Ukrainian', 'ur' => 'Urdu', 'uz' => 'Uzbek',
've' => 'Venda', 'vi' => 'Vietnamese', 'vo' => 'Volapük', 'cy' => 'Welsh','wa' => 'Walloon','wo' => 'Wolof', 'xh' => 'Xhosa', 'yi' => 'Yiddish', 'yo' => 'Yoruba', 'za' => 'Zhuang; Chuang', 'zu' => 'Zulu' );
/**
* Filter the language codes.
*
*
* @since MU
*
* @param array $lang_codes Key/value pair of language codes where key is the short version.
@@ -699,7 +699,7 @@ function grant_super_admin( $user_id ) {
// If global super_admins override is defined, there is nothing to do here.
if ( isset( $super_admins ) )
return false;
/**
* Fires before the user is granted Super Admin privileges.
*
@@ -716,7 +716,7 @@ function grant_super_admin( $user_id ) {
if ( $user && ! in_array( $user->user_login, $super_admins ) ) {
$super_admins[] = $user->user_login;
update_site_option( 'site_admins' , $super_admins );
/**
* Fires after the user is granted Super Admin privileges.
*
@@ -760,7 +760,7 @@ function revoke_super_admin( $user_id ) {
if ( false !== ( $key = array_search( $user->user_login, $super_admins ) ) ) {
unset( $super_admins[$key] );
update_site_option( 'site_admins', $super_admins );
/**
* Fires after the user's Super Admin privileges are revoked.
*

View File

@@ -60,17 +60,23 @@ function plugins_api($action, $args = null) {
$res = apply_filters( 'plugins_api', false, $action, $args );
if ( false === $res ) {
$url = 'http://api.wordpress.org/plugins/info/1.0/';
if ( wp_http_supports( array( 'ssl' ) ) )
$url = $http_url = 'http://api.wordpress.org/plugins/info/1.0/';
if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
$url = set_url_scheme( $url, 'https' );
$request = wp_remote_post( $url, array(
$args = array(
'timeout' => 15,
'body' => array(
'action' => $action,
'request' => serialize( $args )
)
) );
);
$request = wp_remote_post( $url, $args );
if ( $ssl && is_wp_error( $request ) ) {
trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ) . ' ' . '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)', headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
$request = wp_remote_post( $http_url, $args );
}
if ( is_wp_error($request) ) {
$res = new WP_Error('plugins_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );

View File

@@ -542,7 +542,7 @@ function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silen
if ( ! $silent ) {
/**
* Fires before a plugin is activated in activate_plugin() when the $silent parameter is false.
*
*
* @since 2.9.0
*
* @param string $plugin Plugin path to main plugin file with plugin data.
@@ -553,10 +553,10 @@ function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silen
/**
* Fires before a plugin is activated in activate_plugin() when the $silent parameter is false.
*
*
* The action concatenates the 'activate_' prefix with the $plugin value passed to
* activate_plugin() to create a dynamically-named action.
*
*
* @since 2.0.0
*
* @param bool $network_wide Whether to enable the plugin for all sites in the network
@@ -577,7 +577,7 @@ function activate_plugin( $plugin, $redirect = '', $network_wide = false, $silen
if ( ! $silent ) {
/**
* Fires after a plugin has been activated in activate_plugin() when the $silent parameter is false.
*
*
* @since 2.9.0
*
* @param string $plugin Plugin path to main plugin file with plugin data.
@@ -627,11 +627,11 @@ function deactivate_plugins( $plugins, $silent = false, $network_wide = null ) {
/**
* Fires for each plugin being deactivated in deactivate_plugins(), before deactivation
* and when the $silent parameter is false.
*
*
* @since 2.9.0
*
* @param string $plugin Plugin path to main plugin file with plugin data.
* @param bool $network_deactivating Whether the plugin is deactivated for all sites in the network
* @param bool $network_deactivating Whether the plugin is deactivated for all sites in the network
* or just the current site. Multisite only. Default is false.
*/
do_action( 'deactivate_plugin', $plugin, $network_deactivating );
@@ -657,13 +657,13 @@ function deactivate_plugins( $plugins, $silent = false, $network_wide = null ) {
/**
* Fires for each plugin being deactivated in deactivate_plugins(), after deactivation
* and when the $silent parameter is false.
*
*
* The action concatenates the 'deactivate_' prefix with the plugin's basename
* to create a dynamically-named action.
*
*
* @since 2.0.0
*
* @param bool $network_deactivating Whether the plugin is deactivated for all sites in the network
* @param bool $network_deactivating Whether the plugin is deactivated for all sites in the network
* or just the current site. Multisite only. Default is false.
*/
do_action( 'deactivate_' . $plugin, $network_deactivating );
@@ -671,11 +671,11 @@ function deactivate_plugins( $plugins, $silent = false, $network_wide = null ) {
/**
* Fires for each plugin being deactivated in deactivate_plugins(), after deactivation
* and when the $silent parameter is false.
*
*
* @since 2.9.0
*
* @param string $plugin Plugin path to main plugin file with plugin data.
* @param bool $network_deactivating Whether the plugin is deactivated for all sites in the network
* @param bool $network_deactivating Whether the plugin is deactivated for all sites in the network
* or just the current site. Multisite only. Default is false.
*/
do_action( 'deactivated_plugin', $plugin, $network_deactivating );
@@ -931,7 +931,7 @@ function uninstall_plugin($plugin) {
/**
* Fires in uninstall_plugin() once the plugin has been uninstalled.
*
*
* The action concatenates the 'uninstall_' prefix with the basename of the
* plugin passed to {@see uninstall_plugin()} to create a dynamically-named action.
*

View File

@@ -100,6 +100,10 @@ function _wp_translate_postdata( $update = false, $post_data = null ) {
$post_id = false;
$previous_status = $post_id ? get_post_field( 'post_status', $post_id ) : false;
if ( isset( $post_data['post_status'] ) && 'private' == $post_data['post_status'] && ! current_user_can( $ptype->cap->publish_posts ) ) {
$post_data['post_status'] = $previous_status ? $previous_status : 'pending';
}
$published_statuses = array( 'publish', 'future' );
// Posts 'submitted for approval' present are submitted to $_POST the same as if they were being published.
@@ -111,6 +115,10 @@ function _wp_translate_postdata( $update = false, $post_data = null ) {
if ( ! isset($post_data['post_status']) )
$post_data['post_status'] = $previous_status;
if ( isset( $post_data['post_password'] ) && ! current_user_can( $ptype->cap->publish_posts ) ) {
unset( $post_data['post_password'] );
}
if (!isset( $post_data['comment_status'] ))
$post_data['comment_status'] = 'closed';
@@ -170,6 +178,14 @@ function edit_post( $post_data = null ) {
$post_data['post_type'] = $post->post_type;
$post_data['post_mime_type'] = $post->post_mime_type;
if ( ! empty( $post_data['post_status'] ) ) {
$post_data['post_status'] = sanitize_key( $post_data['post_status'] );
if ( 'inherit' == $post_data['post_status'] ) {
unset( $post_data['post_status'] );
}
}
$ptype = get_post_type_object($post_data['post_type']);
if ( !current_user_can( 'edit_post', $post_ID ) ) {
if ( 'page' == $post_data['post_type'] )
@@ -187,13 +203,6 @@ function edit_post( $post_data = null ) {
_wp_upgrade_revisions_of_post( $post, wp_get_post_revisions( $post_ID ) );
}
$post_data = _wp_translate_postdata( true, $post_data );
if ( is_wp_error($post_data) )
wp_die( $post_data->get_error_message() );
if ( ( empty( $post_data['action'] ) || 'autosave' != $post_data['action'] ) && 'auto-draft' == $post_data['post_status'] ) {
$post_data['post_status'] = 'draft';
}
if ( isset($post_data['visibility']) ) {
switch ( $post_data['visibility'] ) {
case 'public' :
@@ -210,6 +219,14 @@ function edit_post( $post_data = null ) {
}
}
$post_data = _wp_translate_postdata( true, $post_data );
if ( is_wp_error($post_data) )
wp_die( $post_data->get_error_message() );
if ( ( empty( $post_data['action'] ) || 'autosave' != $post_data['action'] ) && 'auto-draft' == $post_data['post_status'] ) {
$post_data['post_status'] = 'draft';
}
// Post Formats
if ( isset( $post_data['post_format'] ) )
set_post_format( $post_ID, $post_data['post_format'] );
@@ -332,6 +349,14 @@ function bulk_edit_posts( $post_data = null ) {
}
unset($post_data['_status']);
if ( ! empty( $post_data['post_status'] ) ) {
$post_data['post_status'] = sanitize_key( $post_data['post_status'] );
if ( 'inherit' == $post_data['post_status'] ) {
unset( $post_data['post_status'] );
}
}
$post_IDs = array_map( 'intval', (array) $post_data['post'] );
$reset = array(
@@ -386,7 +411,12 @@ function bulk_edit_posts( $post_data = null ) {
}
$updated = $skipped = $locked = array();
$shared_post_data = $post_data;
foreach ( $post_IDs as $post_ID ) {
// Start with fresh post data with each iteration.
$post_data = $shared_post_data;
$post_type_object = get_post_type_object( get_post_type( $post_ID ) );
if ( !isset( $post_type_object ) || ( isset($children) && in_array($post_ID, $children) ) || !current_user_can( 'edit_post', $post_ID ) ) {
@@ -422,10 +452,25 @@ function bulk_edit_posts( $post_data = null ) {
unset( $post_data['tax_input']['category'] );
}
$post_data['post_type'] = $post->post_type;
$post_data['post_mime_type'] = $post->post_mime_type;
$post_data['guid'] = $post->guid;
foreach ( array( 'comment_status', 'ping_status', 'post_author' ) as $field ) {
if ( ! isset( $post_data[ $field ] ) ) {
$post_data[ $field ] = $post->$field;
}
}
$post_data['ID'] = $post_ID;
$post_data['post_ID'] = $post_ID;
$post_data = _wp_translate_postdata( true, $post_data );
if ( is_wp_error( $post_data ) ) {
$skipped[] = $post_ID;
continue;
}
$updated[] = wp_update_post( $post_data );
if ( isset( $post_data['sticky'] ) && current_user_can( $ptype->cap->edit_others_posts ) ) {
@@ -569,10 +614,6 @@ function wp_write_post() {
if ( isset( $_POST['post_ID'] ) )
return edit_post();
$translated = _wp_translate_postdata( false );
if ( is_wp_error($translated) )
return $translated;
if ( isset($_POST['visibility']) ) {
switch ( $_POST['visibility'] ) {
case 'public' :
@@ -589,6 +630,10 @@ function wp_write_post() {
}
}
$translated = _wp_translate_postdata( false );
if ( is_wp_error($translated) )
return $translated;
// Create the post.
$post_ID = wp_insert_post( $_POST );
if ( is_wp_error( $post_ID ) )

View File

@@ -282,16 +282,22 @@ function themes_api($action, $args = null) {
$res = apply_filters('themes_api', false, $action, $args); //NOTE: Allows a theme to completely override the builtin WordPress.org API.
if ( ! $res ) {
$url = 'http://api.wordpress.org/themes/info/1.0/';
if ( wp_http_supports( array( 'ssl' ) ) )
$url = $http_url = 'http://api.wordpress.org/themes/info/1.0/';
if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
$url = set_url_scheme( $url, 'https' );
$request = wp_remote_post( $url, array(
$args = array(
'body' => array(
'action' => $action,
'request' => serialize( $args )
)
) );
);
$request = wp_remote_post( $url, $args );
if ( $ssl && is_wp_error( $request ) ) {
trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ) . ' ' . '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)', headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
$request = wp_remote_post( $http_url, $args );
}
if ( is_wp_error($request) ) {
$res = new WP_Error('themes_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() );

View File

@@ -561,6 +561,7 @@ $_old_files = array(
// 3.7
'wp-admin/js/cat.js',
'wp-admin/js/cat.min.js',
'wp-includes/js/tinymce/plugins/wpeditimage/js/editimage.min.js',
);
/**
@@ -696,6 +697,9 @@ function update_core($from, $to) {
// Check to see which files don't really need updating - only available for 3.7 and higher
if ( function_exists( 'get_core_checksums' ) ) {
// Find the local version of the working directory
$working_dir_local = WP_CONTENT_DIR . '/upgrade/' . basename( $from ) . $distro;
$checksums = get_core_checksums( $wp_version, isset( $wp_local_package ) ? $wp_local_package : 'en_US' );
if ( is_array( $checksums ) && isset( $checksums[ $wp_version ] ) )
$checksums = $checksums[ $wp_version ]; // Compat code for 3.7-beta2
@@ -705,6 +709,8 @@ function update_core($from, $to) {
continue;
if ( ! file_exists( ABSPATH . $file ) )
continue;
if ( ! file_exists( $working_dir_local . $file ) )
continue;
if ( md5_file( ABSPATH . $file ) === $checksum )
$skip[] = $file;
else
@@ -749,11 +755,12 @@ function update_core($from, $to) {
// Check to make sure everything copied correctly, ignoring the contents of wp-content
$skip = array( 'wp-content' );
$failed = array();
if ( is_array( $checksums ) ) {
if ( isset( $checksums ) && is_array( $checksums ) ) {
foreach ( $checksums as $file => $checksum ) {
if ( 0 === strpos( $file, 'wp-content' ) )
if ( 'wp-content' == substr( $file, 0, 10 ) )
continue;
if ( ! file_exists( $working_dir_local . $file ) )
continue;
if ( file_exists( ABSPATH . $file ) && md5_file( ABSPATH . $file ) == $checksum )
$skip[] = $file;
else
@@ -764,8 +771,6 @@ function update_core($from, $to) {
// Some files didn't copy properly
if ( ! empty( $failed ) ) {
$total_size = 0;
// Find the local version of the working directory
$working_dir_local = WP_CONTENT_DIR . '/upgrade/' . basename( $from ) . $distro;
foreach ( $failed as $file ) {
if ( file_exists( $working_dir_local . $file ) )
$total_size += filesize( $working_dir_local . $file );
@@ -881,6 +886,11 @@ function update_core($from, $to) {
$db_upgrade_url = admin_url('upgrade.php?step=upgrade_db');
wp_remote_post($db_upgrade_url, array('timeout' => 60));
// Clear the cache to prevent an update_option() from saving a stale db_version to the cache
wp_cache_flush();
// (Not all cache backends listen to 'flush')
wp_cache_delete( 'alloptions', 'options' );
// Remove working directory
$wp_filesystem->delete($from, true);
@@ -894,7 +904,8 @@ function update_core($from, $to) {
do_action( '_core_updated_successfully', $wp_version );
// Clear the option that blocks auto updates after failures, now that we've been successful.
delete_site_option( 'auto_core_update_failed' );
if ( function_exists( 'delete_site_option' ) )
delete_site_option( 'auto_core_update_failed' );
return $wp_version;
}

View File

@@ -103,9 +103,9 @@ function find_core_auto_update() {
function get_core_checksums( $version, $locale ) {
$return = array();
$url = 'http://api.wordpress.org/core/checksums/1.0/?' . http_build_query( compact( 'version', 'locale' ), null, '&' );
$url = $http_url = 'http://api.wordpress.org/core/checksums/1.0/?' . http_build_query( compact( 'version', 'locale' ), null, '&' );
if ( wp_http_supports( array( 'ssl' ) ) )
if ( $ssl = wp_http_supports( array( 'ssl' ) ) )
$url = set_url_scheme( $url, 'https' );
$options = array(
@@ -113,6 +113,10 @@ function get_core_checksums( $version, $locale ) {
);
$response = wp_remote_get( $url, $options );
if ( $ssl && is_wp_error( $response ) ) {
trigger_error( __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server&#8217;s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ) . ' ' . '(WordPress could not establish a secure connection to WordPress.org. Please contact your server administrator.)', headers_sent() || WP_DEBUG ? E_USER_WARNING : E_USER_NOTICE );
$response = wp_remote_get( $http_url, $options );
}
if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
return false;
@@ -360,7 +364,7 @@ function maintenance_nag() {
* This flag is cleared whenever a successful update occurs using Core_Upgrader.
*/
$comparison = ! empty( $failed['critical'] ) ? '>=' : '>';
if ( version_compare( $failed['attempted'], $wp_version, '>=' ) )
if ( version_compare( $failed['attempted'], $wp_version, $comparison ) )
$nag = true;
}

View File

@@ -405,6 +405,12 @@ function upgrade_all() {
if ( $wp_current_db_version < 25824 )
upgrade_370();
if ( $wp_current_db_version < 26148 )
upgrade_372();
if ( $wp_current_db_version < 26149 )
upgrade_373();
maybe_disable_link_manager();
maybe_disable_automattic_widgets();
@@ -1222,6 +1228,47 @@ function upgrade_370() {
wp_clear_scheduled_hook( 'wp_auto_updates_maybe_update' );
}
/**
* Execute changes made in WordPress 3.7.2.
*
* @since 3.7.2
* @since 3.8.0
*/
function upgrade_372() {
global $wp_current_db_version;
if ( $wp_current_db_version < 26148 )
wp_clear_scheduled_hook( 'wp_maybe_auto_update' );
}
/**
* Execute changes made in WordPress 3.7.3.
*
* @since 3.7.3
*/
function upgrade_373() {
global $wp_current_db_version, $wpdb;
if ( $wp_current_db_version < 26149 ) {
// Find all lost Quick Draft auto-drafts and promote them to proper drafts.
$posts = $wpdb->get_results( "SELECT ID, post_title, post_content FROM $wpdb->posts WHERE post_type = 'post'
AND post_status = 'auto-draft' AND post_date >= '2014-04-08 00:00:00'" );
foreach ( $posts as $post ) {
// A regular auto-draft should never have content as that would mean it should have been promoted.
// If an auto-draft has content, it's from Quick Draft and it should be recovered.
if ( '' === $post->post_content ) {
// If it does not have content, we must evaluate whether the title should be recovered.
if ( 'Auto Draft' === $post->post_title || __( 'Auto Draft' ) === $post->post_title ) {
// This a plain old auto draft. Ignore it.
continue;
}
}
$wpdb->update( $wpdb->posts, array( 'post_status' => 'draft' ), array( 'ID' => $post->ID ) );
clean_post_cache( $post->ID );
}
}
}
/**
* Execute network level changes
*

View File

@@ -123,13 +123,13 @@ $today = current_time('mysql', 1);
<?php
/**
* Add content to the welcome panel on the admin dashboard.
*
*
* To remove the default welcome panel, use remove_action():
* <code>remove_action( 'welcome_panel', 'wp_welcome_panel' );</code>
*
*
* @since 3.5.0
*/
do_action( 'welcome_panel' );
do_action( 'welcome_panel' );
?>
</div>
<?php endif; ?>

View File

@@ -1,66 +1,80 @@
(function($){
var password = 'Gosh, WordPress is grand.',
$input = $('#pass'),
shouldAnimate = true,
indicatorString = $('#pass-strength-result').text();
var password = 'Gosh, WordPress is grand.',
$input = $('#pass'),
shouldAnimate = true,
timesForAnimation = [280, 300, 305, 310, 315, 325, 330, 345, 360, 370, 380, 400, 450, 500, 600],
resultsCache = {},
indicatorString = $('#pass-strength-result').text();
function updateResult(){
var strength = wp.passwordStrength.meter($input.val(), [], $input.val());
function updateResult(){
var strength;
$('#pass-strength-result').removeClass('short bad good strong');
switch ( strength ) {
case 2:
$('#pass-strength-result').addClass('bad').html( pwsL10n['bad'] );
break;
case 3:
$('#pass-strength-result').addClass('good').html( pwsL10n['good'] );
break;
case 4:
$('#pass-strength-result').addClass('strong').html( pwsL10n['strong'] );
break;
default:
$('#pass-strength-result').addClass('short').html( pwsL10n['short'] );
}
}
function resetMeter(){
$input.val('');
$('#pass-strength-result').text(indicatorString);
$('#pass-strength-result').removeClass('short bad good strong');
}
if ( typeof( resultsCache[ $input.val() ]) === 'undefined') {
strength = wp.passwordStrength.meter($input.val(), [], $input.val());
resultsCache[ $input.val() ] = strength;
} else {
strength = resultsCache[ $input.val() ];
}
function animate(){
if (shouldAnimate === false)
return;
if ($input.val().length < password.length){
$input.val( password.substr(0, $input.val().length + 1) );
updateResult();
} else {
resetMeter();
}
// Look like real typing by changing the speed new letters are added each time
setTimeout(animate, 220 + Math.floor(Math.random() * ( 800 - 220)) );
}
//
function begin(){
// we async load zxcvbn, so we need to make sure it's loaded before starting
if (typeof(zxcvbn) !== 'undefined')
animate();
else
setTimeout(begin,800);
}
// Turn off the animation on focus
$input.on('focus', function(){
shouldAnimate = false;
resetMeter();
});
$('#pass-strength-result').removeClass('short bad good strong');
switch ( strength ) {
case 2:
$('#pass-strength-result').addClass('bad').html( pwsL10n['bad'] );
break;
case 3:
$('#pass-strength-result').addClass('good').html( pwsL10n['good'] );
break;
case 4:
$('#pass-strength-result').addClass('strong').html( pwsL10n['strong'] );
break;
default:
$('#pass-strength-result').addClass('short').html( pwsL10n['short'] );
}
}
function resetMeter(){
$input.val('');
$('#pass-strength-result').text(indicatorString);
$('#pass-strength-result').removeClass('short bad good strong');
}
// Act like a normal password strength meter
$input.on('keyup', function(){
updateResult();
});
function animate(){
if (shouldAnimate === false)
return;
if ($input.val().length < password.length){
$input.val( password.substr(0, $input.val().length + 1) );
updateResult();
// Start the animation
begin();
// Look like real typing by changing the speed new letters are added each time
setTimeout( animate, ( timesForAnimation[ Math.floor( Math.random() * timesForAnimation.length ) ] ) );
} else {
resetMeter();
// When we reset, let's wait a bit longer than normal to start again
setTimeout(animate, 700);
}
}
function begin(){
// we async load zxcvbn, so we need to make sure it's loaded before starting
if (typeof(zxcvbn) !== 'undefined')
animate();
else
setTimeout(begin,800);
}
// Turn off the animation on focus
$input.on('focus', function(){
shouldAnimate = false;
resetMeter();
});
// Act like a normal password strength meter
$input.on('keyup', function(){
updateResult();
});
// Start the animation
begin();
})(jQuery);

View File

@@ -1 +1 @@
!function(a){function b(){var b=wp.passwordStrength.meter(g.val(),[],g.val());switch(a("#pass-strength-result").removeClass("short bad good strong"),b){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}function c(){g.val(""),a("#pass-strength-result").text(i),a("#pass-strength-result").removeClass("short bad good strong")}function d(){h!==!1&&(g.val().length<f.length?(g.val(f.substr(0,g.val().length+1)),b()):c(),setTimeout(d,220+Math.floor(580*Math.random())))}function e(){"undefined"!=typeof zxcvbn?d():setTimeout(e,800)}var f="Gosh, WordPress is grand.",g=a("#pass"),h=!0,i=a("#pass-strength-result").text();g.on("focus",function(){h=!1,c()}),g.on("keyup",function(){b()}),e()}(jQuery);
!function(a){function b(){var b;switch("undefined"==typeof j[g.val()]?(b=wp.passwordStrength.meter(g.val(),[],g.val()),j[g.val()]=b):b=j[g.val()],a("#pass-strength-result").removeClass("short bad good strong"),b){case 2:a("#pass-strength-result").addClass("bad").html(pwsL10n.bad);break;case 3:a("#pass-strength-result").addClass("good").html(pwsL10n.good);break;case 4:a("#pass-strength-result").addClass("strong").html(pwsL10n.strong);break;default:a("#pass-strength-result").addClass("short").html(pwsL10n["short"])}}function c(){g.val(""),a("#pass-strength-result").text(k),a("#pass-strength-result").removeClass("short bad good strong")}function d(){h!==!1&&(g.val().length<f.length?(g.val(f.substr(0,g.val().length+1)),b(),setTimeout(d,i[Math.floor(Math.random()*i.length)])):(c(),setTimeout(d,700)))}function e(){"undefined"!=typeof zxcvbn?d():setTimeout(e,800)}var f="Gosh, WordPress is grand.",g=a("#pass"),h=!0,i=[280,300,305,310,315,325,330,345,360,370,380,400,450,500,600],j={},k=a("#pass-strength-result").text();g.on("focus",function(){h=!1,c()}),g.on("keyup",function(){b()}),e()}(jQuery);

View File

@@ -67,9 +67,9 @@ function allow_subdirectory_install() {
global $wpdb;
/**
* Filter whether to enable the subdirectory install feature in Multisite.
*
*
* @since 3.0.0
*
*
* @param bool true Whether to enable the subdirectory install feature in Multisite. Default is false.
*/
if ( apply_filters( 'allow_subdirectory_install', false ) )

View File

@@ -265,7 +265,7 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
<?php
/**
* Filter the default time formats.
*
*
* @since 2.7.0
*
* @param array $default_time_formats Array of default time formats.

View File

@@ -150,7 +150,7 @@ else :
<input id="blog-norobots" type="radio" name="blog_public" value="0" <?php checked('0', get_option('blog_public')); ?> />
<label for="blog-norobots"><?php _e( 'Discourage search engines from indexing this site' ); ?></label>
<p class="description"><?php _e( 'Note: Neither of these options blocks access to your site &mdash; it is up to search engines to honor your request.' ); ?></p>
<?php
<?php
/**
* Enable the legacy 'Site Visibility' privacy options.
*

View File

@@ -30,15 +30,15 @@ if ( empty($option_page) ) // This is for back compat and will eventually be rem
$option_page = 'options';
else
/**
* Filter the capability required when using the Settings API.
*
* By default, the options groups for all registered settings require the manage_options capability.
* This filter is required to change the capability required for a certain options page.
*
/**
* Filter the capability required when using the Settings API.
*
* By default, the options groups for all registered settings require the manage_options capability.
* This filter is required to change the capability required for a certain options page.
*
* @since 3.2.0
*
* @param string $capability The capability used for the page, which is manage_options by default.
*
* @param string $capability The capability used for the page, which is manage_options by default.
*/
$capability = apply_filters( "option_page_capability_{$option_page}", $capability );
@@ -106,7 +106,7 @@ if ( !is_multisite() ) {
} else {
$whitelist_options['general'][] = 'new_admin_email';
$whitelist_options['general'][] = 'WPLANG';
/**
* Toggle post-by-email functionality.
*
@@ -119,8 +119,8 @@ if ( !is_multisite() ) {
}
/**
* Filter the options white list.
*
* Filter the options white list.
*
* @since 2.7.0
*
* @param array White list options.

View File

@@ -65,7 +65,7 @@ function press_it() {
// error handling for media_sideload
if ( is_wp_error($upload) ) {
wp_delete_post($post_ID);
wp_die($upload);
wp_die( esc_html( $upload->get_error_message() ) );
} else {
// Post formats
if ( isset( $_POST['post_format'] ) ) {

View File

@@ -1,16 +1,16 @@
<?php
/**
* Revisions administration panel
*
*
* Requires wp-admin/includes/revision.php.
*
* @package WordPress
* @subpackage Administration
* @since 2.6.0
*
*
* @param int revision Optional. The revision ID.
* @param string action The action to take.
* Accepts 'restore', 'view' or 'edit'.
* Accepts 'restore', 'view' or 'edit'.
* @param int from The revision to compare from.
* @param int to Optional, required if revision missing. The revision to compare to.
*/

View File

@@ -24,7 +24,7 @@ if ( ! current_user_can( 'update_core' ) && ! current_user_can( 'update_themes'
function list_core_update( $update ) {
global $wp_local_package, $wpdb, $wp_version;
static $first_pass = true;
if ( 'en_US' == $update->locale && 'en_US' == get_locale() )
$version_string = $update->current;
// If the only available update is a partial builds, it doesn't need a language-specific version string.
@@ -32,7 +32,7 @@ function list_core_update( $update ) {
$version_string = $update->current;
else
$version_string = sprintf( "%s&ndash;<strong>%s</strong>", $update->current, $update->locale );
$current = false;
if ( !isset($update->response) || 'latest' == $update->response )
$current = true;
@@ -146,7 +146,7 @@ function core_upgrade_preamble() {
echo '<h3>';
_e('You have the latest version of WordPress.');
if ( wp_http_supports( 'ssl' ) ) {
if ( wp_http_supports( array( 'ssl' ) ) ) {
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
$upgrader = new WP_Automatic_Updater;
$future_minor_update = (object) array(

View File

@@ -116,13 +116,13 @@ Please click the following link to confirm the invite:
if ( is_wp_error( $user_details[ 'errors' ] ) && !empty( $user_details[ 'errors' ]->errors ) ) {
$add_user_errors = $user_details[ 'errors' ];
} else {
/**
/**
* Filter the user_login, aka the username, before it is added to the site.
*
*
* @since 3.0.0
*
* @param string $_REQUEST['user_login'] The sanitized username.
*/
*
* @param string $_REQUEST['user_login'] The sanitized username.
*/
$new_user_login = apply_filters( 'pre_user_login', sanitize_user( wp_unslash( $_REQUEST['user_login'] ), true ) );
if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) {
add_filter( 'wpmu_signup_user_notification', '__return_false' ); // Disable confirmation email
@@ -188,13 +188,13 @@ get_current_screen()->set_help_sidebar(
wp_enqueue_script('wp-ajax-response');
wp_enqueue_script('user-profile');
/**
/**
* Allows you to enable user auto-complete for non-super admins in multisite.
*
*
* @since 3.4.0
*
*
* @param bool True or false, based on if you enable auto-complete for non-super admins. Default is false.
*/
*/
if ( is_multisite() && current_user_can( 'promote_users' ) && ! wp_is_large_network( 'users' )
&& ( is_super_admin() || apply_filters( 'autocomplete_users_for_site_admins', false ) )
) {
@@ -281,11 +281,11 @@ if ( is_multisite() ) {
}
?>
<?php
/**
/**
* Fires inside the adduser form tag.
*
*
* @since 3.0.0
*/
*/
?>
<form action="" method="post" name="adduser" id="adduser" class="validate"<?php do_action('user_new_form_tag');?>>
<input name="action" type="hidden" value="adduser" />
@@ -376,14 +376,14 @@ foreach ( array( 'user_login' => 'login', 'first_name' => 'firstname', 'last_nam
<th scope="row"><label for="url"><?php _e('Website') ?></label></th>
<td><input name="url" type="text" id="url" class="code" value="<?php echo esc_attr($new_user_uri); ?>" /></td>
</tr>
<?php
/**
<?php
/**
* Filter the display of the password fields.
*
*
* @since 1.5.1
*
*
* @param bool True or false, based on if you want to show the password fields. Default is true.
*/
*/
if ( apply_filters( 'show_password_fields', true ) ) : ?>
<tr class="form-field form-required">
<th scope="row"><label for="pass1"><?php _e('Password'); ?> <span class="description"><?php /* translators: password input field */_e('(required)'); ?></span></label></th>

View File

@@ -320,7 +320,7 @@ require_once( ABSPATH . 'wp-admin/admin-header.php' ); ?>
<div id="message" class="error"><p><?php echo $errors[$_GET['error']]; ?></p></div>
<?php } ?>
<?php
<?php
/**
* Fires before the Widgets administration page content loads.
*

View File

@@ -1,14 +1,14 @@
# Copyright (C) 2013 the WordPress team
# Copyright (C) 2014 the WordPress team
# This file is distributed under the GNU General Public License v2 or later.
msgid ""
msgstr ""
"Project-Id-Version: Twenty Eleven 1.6\n"
"Project-Id-Version: Twenty Eleven 1.7\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tags/twentyeleven\n"
"POT-Creation-Date: 2013-08-01 18:14:10+00:00\n"
"POT-Creation-Date: 2014-03-18 19:16:25+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2013-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -57,22 +57,22 @@ msgstr ""
msgid "Blog Archives"
msgstr ""
#: archive.php:57 author.php:74 category.php:50 index.php:37 search.php:42
#: tag.php:50
#: archive.php:57 author.php:86 category.php:59 index.php:37 search.php:44
#: tag.php:60
msgid "Nothing Found"
msgstr ""
#: archive.php:61 author.php:78 category.php:54 index.php:41 tag.php:54
#: archive.php:61 author.php:90 category.php:63 index.php:41 tag.php:64
msgid ""
"Apologies, but no results were found for the requested archive. Perhaps "
"searching will help find a related post."
msgstr ""
#: author.php:28
#: author.php:29
msgid "Author Archives: %s"
msgstr ""
#: author.php:49 content-single.php:60
#: author.php:60 content-single.php:63
msgid "About %s"
msgstr ""
@@ -85,91 +85,91 @@ msgid ""
"This post is password protected. Enter the password to view any comments."
msgstr ""
#: comments.php:33
#: comments.php:34
msgid "One thought on &ldquo;%2$s&rdquo;"
msgid_plural "%1$s thoughts on &ldquo;%2$s&rdquo;"
msgstr[0] ""
msgstr[1] ""
#: comments.php:40 comments.php:60
#: comments.php:41 comments.php:62
msgid "Comment navigation"
msgstr ""
#: comments.php:41 comments.php:61
#: comments.php:42 comments.php:63
msgid "&larr; Older Comments"
msgstr ""
#: comments.php:42 comments.php:62
#: comments.php:43 comments.php:64
msgid "Newer Comments &rarr;"
msgstr ""
#: comments.php:71
#: comments.php:74
msgid "Comments are closed."
msgstr ""
#: content-aside.php:17
#: content-aside.php:19
msgid "Aside"
msgstr ""
#: content-aside.php:22 content-image.php:21 content-link.php:22
#: content-quote.php:24 content-status.php:21 content.php:30
#: content-aside.php:24 content-image.php:23 content-link.php:24
#: content-quote.php:24 content-status.php:24 content.php:30
msgid "Reply"
msgstr ""
#: content-aside.php:22 content-image.php:21 content-link.php:22
#: content-quote.php:24 content-status.php:21 content.php:30
#: content-aside.php:24 content-image.php:23 content-link.php:24
#: content-quote.php:24 content-status.php:24 content.php:30
msgctxt "comments number"
msgid "1"
msgstr ""
#: content-aside.php:22 content-image.php:21 content-link.php:22
#: content-quote.php:24 content-status.php:21 content.php:30
#: content-aside.php:24 content-image.php:23 content-link.php:24
#: content-quote.php:24 content-status.php:24 content.php:30
msgctxt "comments number"
msgid "%"
msgstr ""
#: content-aside.php:33 content-gallery.php:32 content-image.php:27
#: content-link.php:33 content-quote.php:35 content-status.php:34
#: content.php:41 functions.php:345
#: content-aside.php:35 content-gallery.php:34 content-image.php:29
#: content-link.php:35 content-quote.php:35 content-status.php:48
#: content.php:41 functions.php:375
msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: content-aside.php:34 content-featured.php:23 content-gallery.php:50
#: content-image.php:28 content-intro.php:18 content-link.php:34
#: content-aside.php:36 content-featured.php:23 content-gallery.php:52
#: content-image.php:30 content-intro.php:18 content-link.php:36
#: content-page.php:18 content-quote.php:36 content-single.php:24
#: content-status.php:35 content.php:42 image.php:90
#: content-status.php:49 content.php:42 image.php:97
msgid "Pages:"
msgstr ""
#: content-aside.php:42 content-gallery.php:83 content-image.php:64
#: content-link.php:42 content-quote.php:69 content-status.php:43
#: content.php:79 showcase.php:201
#: content-aside.php:44 content-gallery.php:85 content-image.php:66
#: content-link.php:44 content-quote.php:69 content-status.php:57
#: content.php:79 showcase.php:202
msgid "Leave a reply"
msgstr ""
#: content-aside.php:42 content-gallery.php:83 content-image.php:64
#: content-link.php:42 content-quote.php:69 content-status.php:43
#: content.php:79 showcase.php:201
#: content-aside.php:44 content-gallery.php:85 content-image.php:66
#: content-link.php:44 content-quote.php:69 content-status.php:57
#: content.php:79 showcase.php:202
msgid "<b>1</b> Reply"
msgstr ""
#: content-aside.php:42 content-gallery.php:83 content-image.php:64
#: content-link.php:42 content-quote.php:69 content-status.php:43
#: content.php:79 showcase.php:201
#: content-aside.php:44 content-gallery.php:85 content-image.php:66
#: content-link.php:44 content-quote.php:69 content-status.php:57
#: content.php:79 showcase.php:202
msgid "<b>%</b> Replies"
msgstr ""
#: content-aside.php:44 content-featured.php:45 content-gallery.php:86
#: content-image.php:68 content-intro.php:19 content-link.php:44
#: content-aside.php:46 content-featured.php:45 content-gallery.php:88
#: content-image.php:70 content-intro.php:19 content-link.php:46
#: content-page.php:21 content-quote.php:72 content-single.php:52
#: content-status.php:45 content.php:82 functions.php:543 functions.php:571
#: content-status.php:59 content.php:82 functions.php:606 functions.php:634
#: image.php:41
msgid "Edit"
msgstr ""
#. translators: used between list items, there is a space after the comma
#: content-featured.php:29 content-featured.php:38 content-gallery.php:58
#: content-gallery.php:68 content-image.php:47 content-image.php:56
#: content-featured.php:29 content-featured.php:38 content-gallery.php:60
#: content-gallery.php:70 content-image.php:49 content-image.php:58
#: content-quote.php:44 content-quote.php:54 content-single.php:30
#: content-single.php:33 content.php:51 content.php:63
msgid ", "
@@ -187,35 +187,35 @@ msgid ""
"\"Permalink to %4$s\" rel=\"bookmark\">permalink</a>."
msgstr ""
#: content-gallery.php:17
#: content-gallery.php:19
msgid "Gallery"
msgstr ""
#: content-gallery.php:43
#: content-gallery.php:45
msgid "This gallery contains <a %1$s>%2$s photo</a>."
msgid_plural "This gallery contains <a %1$s>%2$s photos</a>."
msgstr[0] ""
msgstr[1] ""
#: content-gallery.php:44 showcase.php:120
#: content-gallery.php:46 showcase.php:121
msgid "Permalink to %s"
msgstr ""
#: content-gallery.php:62 content-image.php:51 content-quote.php:48
#: content-gallery.php:64 content-image.php:53 content-quote.php:48
#: content.php:55
msgid "<span class=\"%1$s\">Posted in</span> %2$s"
msgstr ""
#: content-gallery.php:74 content-image.php:59 content-quote.php:60
#: content-gallery.php:76 content-image.php:61 content-quote.php:60
#: content.php:69
msgid "<span class=\"%1$s\">Tagged</span> %2$s"
msgstr ""
#: content-image.php:16
#: content-image.php:18
msgid "Image"
msgstr ""
#: content-image.php:34
#: content-image.php:36
msgid ""
"<a href=\"%1$s\" rel=\"bookmark\"><time class=\"entry-date\" datetime=\"%2$s"
"\">%3$s</time></a><span class=\"by-author\"> <span class=\"sep\"> by </span> "
@@ -223,11 +223,11 @@ msgid ""
"\" rel=\"author\">%6$s</a></span></span>"
msgstr ""
#: content-image.php:39 functions.php:608
#: content-image.php:41 functions.php:672
msgid "View all posts by %s"
msgstr ""
#: content-link.php:17
#: content-link.php:19
msgid "Link"
msgstr ""
@@ -254,11 +254,11 @@ msgid ""
"\"%3$s\" title=\"Permalink to %4$s\" rel=\"bookmark\">permalink</a>."
msgstr ""
#: content-single.php:64
#: content-single.php:67
msgid "View all posts by %s <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: content-status.php:16
#: content-status.php:19
msgid "Status"
msgstr ""
@@ -266,17 +266,17 @@ msgstr ""
msgid "Featured"
msgstr ""
#. #-#-#-#-# twentyeleven.pot (Twenty Eleven 1.6) #-#-#-#-#
#. #-#-#-#-# twentyeleven.pot (Twenty Eleven 1.7) #-#-#-#-#
#. Author URI of the plugin/theme
#: footer.php:27
#: footer.php:28
msgid "http://wordpress.org/"
msgstr ""
#: footer.php:27
#: footer.php:28
msgid "Semantic Personal Publishing Platform"
msgstr ""
#: footer.php:27
#: footer.php:28
msgid "Proudly powered by %s"
msgstr ""
@@ -285,108 +285,108 @@ msgid "Primary Menu"
msgstr ""
#. translators: header image description
#: functions.php:164
#: functions.php:184
msgid "Wheel"
msgstr ""
#. translators: header image description
#: functions.php:170
#: functions.php:190
msgid "Shore"
msgstr ""
#. translators: header image description
#: functions.php:176
#: functions.php:196
msgid "Trolley"
msgstr ""
#. translators: header image description
#: functions.php:182
#: functions.php:202
msgid "Pine Cone"
msgstr ""
#. translators: header image description
#: functions.php:188
#: functions.php:208
msgid "Chessboard"
msgstr ""
#. translators: header image description
#: functions.php:194
#: functions.php:214
msgid "Lanterns"
msgstr ""
#. translators: header image description
#: functions.php:200
#: functions.php:220
msgid "Willow"
msgstr ""
#. translators: header image description
#: functions.php:206
#: functions.php:226
msgid "Hanoi Plant"
msgstr ""
#: functions.php:394
#: functions.php:443
msgid "Main Sidebar"
msgstr ""
#: functions.php:403
#: functions.php:452
msgid "Showcase Sidebar"
msgstr ""
#: functions.php:405
#: functions.php:454
msgid "The sidebar for the optional Showcase Template"
msgstr ""
#: functions.php:413
#: functions.php:462
msgid "Footer Area One"
msgstr ""
#: functions.php:415 functions.php:425 functions.php:435
#: functions.php:464 functions.php:474 functions.php:484
msgid "An optional widget area for your site footer"
msgstr ""
#: functions.php:423
#: functions.php:472
msgid "Footer Area Two"
msgstr ""
#: functions.php:433
#: functions.php:482
msgid "Footer Area Three"
msgstr ""
#: functions.php:453 single.php:18
#: functions.php:506 single.php:18
msgid "Post navigation"
msgstr ""
#: functions.php:454
#: functions.php:507
msgid "<span class=\"meta-nav\">&larr;</span> Older posts"
msgstr ""
#: functions.php:455
#: functions.php:508
msgid "Newer posts <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: functions.php:543
#: functions.php:606
msgid "Pingback:"
msgstr ""
#. translators: 1: comment author, 2: date and time
#: functions.php:560
#: functions.php:623
msgid "%1$s on %2$s <span class=\"says\">said:</span>"
msgstr ""
#. translators: 1: date, 2: time
#: functions.php:566
#: functions.php:629
msgid "%1$s at %2$s"
msgstr ""
#: functions.php:575
#: functions.php:638
msgid "Your comment is awaiting moderation."
msgstr ""
#: functions.php:584
#: functions.php:647
msgid "Reply <span>&darr;</span>"
msgstr ""
#: functions.php:602
#: functions.php:666
msgid ""
"<span class=\"sep\">Posted on </span><a href=\"%1$s\" title=\"%2$s\" rel="
"\"bookmark\"><time class=\"entry-date\" datetime=\"%3$s\">%4$s</time></"
@@ -395,19 +395,19 @@ msgid ""
"\"author\">%7$s</a></span></span>"
msgstr ""
#: header.php:45
#: header.php:43
msgid "Page %s"
msgstr ""
#: header.php:129
#: header.php:133
msgid "Main menu"
msgstr ""
#: header.php:131
#: header.php:135
msgid "Skip to primary content"
msgstr ""
#: header.php:132
#: header.php:136
msgid "Skip to secondary content"
msgstr ""
@@ -431,23 +431,23 @@ msgid ""
"in <a href=\"%6$s\" title=\"Return to %7$s\" rel=\"gallery\">%8$s</a>"
msgstr ""
#: inc/theme-options.php:55 inc/theme-options.php:474
#: inc/theme-options.php:56 inc/theme-options.php:530
msgid "Color Scheme"
msgstr ""
#: inc/theme-options.php:61 inc/theme-options.php:491
#: inc/theme-options.php:62 inc/theme-options.php:547
msgid "Link Color"
msgstr ""
#: inc/theme-options.php:62
#: inc/theme-options.php:63
msgid "Default Layout"
msgstr ""
#: inc/theme-options.php:94 inc/theme-options.php:95
#: inc/theme-options.php:95 inc/theme-options.php:96
msgid "Theme Options"
msgstr ""
#: inc/theme-options.php:110
#: inc/theme-options.php:111
msgid ""
"Some themes provide customization options that are grouped together on a "
"Theme Options screen. If you change themes, options may change or disappear, "
@@ -455,14 +455,14 @@ msgid ""
"following Theme Options:"
msgstr ""
#: inc/theme-options.php:112
#: inc/theme-options.php:113
msgid ""
"<strong>Color Scheme</strong>: You can choose a color palette of \"Light"
"\" (light background with dark text) or \"Dark\" (dark background with light "
"text) for your site."
msgstr ""
#: inc/theme-options.php:113
#: inc/theme-options.php:114
msgid ""
"<strong>Link Color</strong>: You can choose the color used for text links on "
"your site. You can enter the HTML color or hex code, or you can choose "
@@ -470,104 +470,104 @@ msgid ""
"wheel."
msgstr ""
#: inc/theme-options.php:114
#: inc/theme-options.php:115
msgid ""
"<strong>Default Layout</strong>: You can choose if you want your site&#8217;"
"s default layout to have a sidebar on the left, the right, or not at all."
msgstr ""
#: inc/theme-options.php:116
#: inc/theme-options.php:117
msgid ""
"Remember to click \"Save Changes\" to save any changes you have made to the "
"theme options."
msgstr ""
#: inc/theme-options.php:118
#: inc/theme-options.php:119
msgid "For more information:"
msgstr ""
#: inc/theme-options.php:119
#: inc/theme-options.php:120
msgid ""
"<a href=\"http://codex.wordpress.org/Appearance_Theme_Options_Screen\" "
"target=\"_blank\">Documentation on Theme Options</a>"
msgstr ""
#: inc/theme-options.php:120
#: inc/theme-options.php:121
msgid ""
"<a href=\"http://wordpress.org/support/\" target=\"_blank\">Support Forums</"
"a>"
msgstr ""
#: inc/theme-options.php:127
#: inc/theme-options.php:128
msgid "Overview"
msgstr ""
#: inc/theme-options.php:149
#: inc/theme-options.php:150
msgid "Light"
msgstr ""
#: inc/theme-options.php:155
#: inc/theme-options.php:156
msgid "Dark"
msgstr ""
#: inc/theme-options.php:173
#: inc/theme-options.php:181
msgid "Content on left"
msgstr ""
#: inc/theme-options.php:178
#: inc/theme-options.php:186
msgid "Content on right"
msgstr ""
#: inc/theme-options.php:183
#: inc/theme-options.php:191
msgid "One-column, no sidebar"
msgstr ""
#: inc/theme-options.php:273
#: inc/theme-options.php:298
msgid "Select a Color"
msgstr ""
#: inc/theme-options.php:276
#: inc/theme-options.php:301
msgid "Default color: %s"
msgstr ""
#: inc/theme-options.php:312
#: inc/theme-options.php:337
msgid "%s Theme Options"
msgstr ""
#: inc/theme-options.php:498
#: inc/theme-options.php:554
msgid "Layout"
msgstr ""
#: inc/widgets.php:19
#: inc/widgets.php:23
msgid ""
"Use this widget to list your recent Aside, Status, Quote, and Link posts"
msgstr ""
#: inc/widgets.php:20
#: inc/widgets.php:24
msgid "Twenty Eleven Ephemera"
msgstr ""
#: inc/widgets.php:52
#: inc/widgets.php:59
msgid "Ephemera"
msgstr ""
#: inc/widgets.php:91 inc/widgets.php:100
#: inc/widgets.php:98 inc/widgets.php:107
msgid "0 <span class=\"reply\">comments &rarr;</span>"
msgstr ""
#: inc/widgets.php:91 inc/widgets.php:100
#: inc/widgets.php:98 inc/widgets.php:107
msgid "1 <span class=\"reply\">comment &rarr;</span>"
msgstr ""
#: inc/widgets.php:91 inc/widgets.php:100
#: inc/widgets.php:98 inc/widgets.php:107
msgid "% <span class=\"reply\">comments &rarr;</span>"
msgstr ""
#: inc/widgets.php:150
#: inc/widgets.php:170
msgid "Title:"
msgstr ""
#: inc/widgets.php:153
#: inc/widgets.php:173
msgid "Number of posts to show:"
msgstr ""
@@ -575,7 +575,7 @@ msgstr ""
msgid "Search Results for: %s"
msgstr ""
#: search.php:46
#: search.php:48
msgid ""
"Sorry, but nothing matched your search criteria. Please try again with some "
"different keywords."
@@ -585,15 +585,15 @@ msgstr ""
msgid "Search"
msgstr ""
#: showcase.php:77
#: showcase.php:78
msgid "Featured Post"
msgstr ""
#: showcase.php:150
#: showcase.php:151
msgid "Featuring: %s"
msgstr ""
#: showcase.php:160
#: showcase.php:161
msgid "Recent Posts"
msgstr ""

View File

@@ -4,7 +4,7 @@ Theme URI: http://wordpress.org/themes/twentyeleven
Author: the WordPress team
Author URI: http://wordpress.org/
Description: The 2011 theme for WordPress is sophisticated, lightweight, and adaptable. Make it yours with a custom menu, header image, and background -- then go further with available theme options for light or dark color scheme, custom link colors, and three layout choices. Twenty Eleven comes equipped with a Showcase page template that transforms your front page into a showcase to show off your best content, widget support galore (sidebar, three footer areas, and a Showcase page widget area), and a custom "Ephemera" widget to display your Aside, Link, Quote, or Status posts. Included are styles for print and for the admin editor, support for featured images (as custom header images on posts and pages and as large images on featured "sticky" posts), and special styles for six different post formats.
Version: 1.6
Version: 1.7
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: dark, light, white, black, gray, one-column, two-columns, left-sidebar, right-sidebar, fixed-width, flexible-width, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready

View File

@@ -1,31 +0,0 @@
<?php
/**
* The template for displaying 404 pages (Not Found)
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<header class="page-header">
<h1 class="page-title"><?php _e( "Oops! That page can't be found.", 'twentyfourteen' ); ?></h1>
</header>
<div class="page-content">
<p><?php _e( 'It looks like nothing was found at this location. Maybe try a search?', 'twentyfourteen' ); ?></p>
<?php get_search_form(); ?>
</div><!-- .page-content -->
</div><!-- #content -->
</div><!-- #primary -->
<?php
get_sidebar( 'content' );
get_sidebar();
get_footer();

View File

@@ -1,66 +0,0 @@
<?php
/**
* The template for displaying Archive pages
*
* Used to display archive-type pages if nothing more specific matches a query.
* For example, puts together date-based pages if no date.php file exists.
*
* If you'd like to further customize these archive views, you may create a
* new template file for each specific one. For example, Twenty Fourteen
* already has tag.php for Tag archives, category.php for Category archives,
* and author.php for Author archives.
*
* @link http://codex.wordpress.org/Template_Hierarchy
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<section id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<h1 class="page-title">
<?php
if ( is_day() ) :
printf( __( 'Day: %s', 'twentyfourteen' ), get_the_date() );
elseif ( is_month() ) :
printf( __( 'Month: %s', 'twentyfourteen' ), get_the_date( 'F Y' ) );
elseif ( is_year() ) :
printf( __( 'Year: %s', 'twentyfourteen' ), get_the_date( 'Y' ) );
else :
_e( 'Archives', 'twentyfourteen' );
endif;
?>
</h1>
</header><!-- .page-header -->
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'content', get_post_format() );
endwhile;
twentyfourteen_paging_nav();
else :
get_template_part( 'content', 'none' );
endif;
?>
</div><!-- #content -->
</section><!-- #primary -->
<?php
get_sidebar( 'content' );
get_sidebar();
get_footer();

View File

@@ -1,67 +0,0 @@
<?php
/**
* The template for displaying Author archive pages
*
* @link http://codex.wordpress.org/Template_Hierarchy
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<section id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php if ( have_posts() ) : ?>
<header class="archive-header">
<h1 class="archive-title">
<?php
/*
* Queue the first post, that way we know what author
* we're dealing with (if that is the case).
*
* We reset this later so we can run the loop properly
* with a call to rewind_posts().
*/
the_post();
printf( __( 'All posts by %s', 'twentyfourteen' ), sprintf(
'<span class="vcard"><a class="url fn n" href="%1$s" rel="me">%2$s</a></span>',
esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
get_the_author()
) );
?>
</h1>
</header><!-- .archive-header -->
<?php
/*
* Since we called the_post() above, we need to rewind
* the loop back to the beginning that way we can run
* the loop properly, in full.
*/
rewind_posts();
while ( have_posts() ) :
the_post();
get_template_part( 'content', get_post_format() );
endwhile;
twentyfourteen_paging_nav();
else :
get_template_part( 'content', 'none' );
endif;
?>
</div><!-- #content -->
</section><!-- #primary -->
<?php
get_sidebar( 'content' );
get_sidebar();
get_footer();

View File

@@ -1,50 +0,0 @@
<?php
/**
* The template for displaying Category pages
*
* @link http://codex.wordpress.org/Template_Hierarchy
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<section id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php if ( have_posts() ) : ?>
<header class="archive-header">
<h1 class="archive-title"><?php single_cat_title(); ?></h1>
<?php
// Show an optional term description.
$term_description = term_description();
if ( ! empty( $term_description ) ) :
printf( '<div class="taxonomy-description">%s</div>', $term_description );
endif;
?>
</header><!-- .archive-header -->
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'content', get_post_format() );
endwhile;
twentyfourteen_paging_nav();
else :
get_template_part( 'content', 'none' );
endif;
?>
</div><!-- #content -->
</section><!-- #primary -->
<?php
get_sidebar( 'content' );
get_sidebar();
get_footer();

View File

@@ -1,65 +0,0 @@
<?php
/**
* The template for displaying Comments
*
* The area of the page that contains comments and the comment form.
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
/*
* If the current post is protected by a password and the visitor has not yet
* entered the password we will return early without loading the comments.
*/
if ( post_password_required() )
return;
?>
<div id="comments" class="comments-area">
<?php if ( have_comments() ) : ?>
<h2 class="comments-title">
<?php
printf( _n( 'One thought on &ldquo;%2$s&rdquo;', '%1$s thoughts on &ldquo;%2$s&rdquo;', get_comments_number(), 'twentyfourteen' ),
number_format_i18n( get_comments_number() ), get_the_title() );
?>
</h2>
<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : ?>
<nav id="comment-nav-above" class="navigation comment-navigation" role="navigation">
<h1 class="screen-reader-text"><?php _e( 'Comment navigation', 'twentyfourteen' ); ?></h1>
<div class="nav-previous"><?php previous_comments_link( __( '&larr; Older Comments', 'twentyfourteen' ) ); ?></div>
<div class="nav-next"><?php next_comments_link( __( 'Newer Comments &rarr;', 'twentyfourteen' ) ); ?></div>
</nav><!-- #comment-nav-above -->
<?php endif; // Check for comment navigation. ?>
<ol class="comment-list">
<?php
wp_list_comments( array(
'style' => 'ol',
'short_ping' => true,
'avatar_size'=> 34,
) );
?>
</ol><!-- .comment-list -->
<?php if ( get_comment_pages_count() > 1 && get_option( 'page_comments' ) ) : ?>
<nav id="comment-nav-below" class="navigation comment-navigation" role="navigation">
<h1 class="screen-reader-text"><?php _e( 'Comment navigation', 'twentyfourteen' ); ?></h1>
<div class="nav-previous"><?php previous_comments_link( __( '&larr; Older Comments', 'twentyfourteen' ) ); ?></div>
<div class="nav-next"><?php next_comments_link( __( 'Newer Comments &rarr;', 'twentyfourteen' ) ); ?></div>
</nav><!-- #comment-nav-below -->
<?php endif; // Check for comment navigation. ?>
<?php if ( ! comments_open() ) : ?>
<p class="no-comments"><?php _e( 'Comments are closed.', 'twentyfourteen' ); ?></p>
<?php endif; ?>
<?php endif; // have_comments() ?>
<?php comment_form(); ?>
</div><!-- #comments -->

View File

@@ -1,63 +0,0 @@
<?php
/**
* The template for displaying posts in the Aside post format
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php twentyfourteen_post_thumbnail(); ?>
<header class="entry-header">
<?php if ( in_array( 'category', get_object_taxonomies( get_post_type() ) ) && twentyfourteen_categorized_blog() ) : ?>
<div class="entry-meta">
<span class="cat-links"><?php echo get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfourteen' ) ); ?></span>
</div><!-- .entry-meta -->
<?php endif; ?>
<div class="entry-meta">
<span class="post-format">
<a class="entry-format" href="<?php echo esc_url( get_post_format_link( 'aside' ) ); ?>"><?php echo get_post_format_string( 'aside' ); ?></a>
</span>
<?php twentyfourteen_posted_on(); ?>
<?php if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) : ?>
<span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyfourteen' ), __( '1 Comment', 'twentyfourteen' ), __( '% Comments', 'twentyfourteen' ) ); ?></span>
<?php endif; ?>
<?php edit_post_link( __( 'Edit', 'twentyfourteen' ), '<span class="edit-link">', '</span>' ); ?>
</div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<?php
the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyfourteen' ) );
wp_link_pages( array(
'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfourteen' ) . '</span>',
'after' => '</div>',
'link_before' => '<span>',
'link_after' => '</span>',
) );
?>
</div><!-- .entry-content -->
<footer class="entry-meta">
<div class="entry-meta">
<?php
if ( is_single() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' );
endif;
?>
</div>
<?php if ( has_tag() ) : ?>
<span class="tag-links"><?php echo get_the_tag_list(); ?></span>
<?php endif; ?>
</footer><!-- .entry-meta -->
</article><!-- #post-## -->

View File

@@ -1,46 +0,0 @@
<?php
/**
* The template for displaying featured posts on the front page
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<a class="attachment-featured-featured" href="<?php the_permalink(); ?>" rel="<?php the_ID(); ?>">
<?php
if ( has_post_thumbnail() ) :
the_post_thumbnail( 'featured-thumbnail-featured' );
else :
$images = get_children( array(
'post_parent' => get_the_ID(),
'post_type' => 'attachment',
'post_mime_type' => 'image',
'orderby' => 'menu_order',
'order' => 'ASC',
'numberposts' => 1,
) );
if ( $images ) :
$image = array_shift( $images );
echo wp_get_attachment_image( $image->ID, 'featured-thumbnail-featured' );
endif;
endif;
?>
</a>
<div class="entry-wrap">
<header class="entry-header">
<?php if ( in_array( 'category', get_object_taxonomies( get_post_type() ) ) && twentyfourteen_categorized_blog() ) : ?>
<div class="entry-meta">
<span class="cat-links"><?php echo get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfourteen' ) ); ?></span>
</div><!-- .entry-meta -->
<?php endif; ?>
<?php the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' ); ?>
</header><!-- .entry-header -->
</div>
</article><!-- #post-## -->

View File

@@ -1,85 +0,0 @@
<?php
/**
* The template for displaying posts in the Gallery post format
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
if ( has_post_thumbnail() ) :
$image = get_post_thumbnail_id();
else :
$images = get_posts( array(
'post_parent' => get_the_ID(),
'fields' => 'ids',
'numberposts' => 1,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'ASC',
'orderby' => 'menu_order ID',
) );
$image = array_shift( $images );
endif;
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php if ( is_single() && $image ) : ?>
<div class="featured-thumbnail">
<?php echo wp_get_attachment_image( $image, 'featured-thumbnail-large' ); ?>
</div>
<?php elseif ( $image ) : ?>
<a class="featured-thumbnail" href="<?php the_permalink(); ?>" rel="<?php the_ID(); ?>">
<?php echo wp_get_attachment_image( $image, 'featured-thumbnail-large' ); ?>
</a>
<?php endif; ?>
<header class="entry-header">
<?php if ( in_array( 'category', get_object_taxonomies( get_post_type() ) ) && twentyfourteen_categorized_blog() ) : ?>
<div class="entry-meta">
<span class="cat-links"><?php echo get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfourteen' ) ); ?></span>
</div><!-- .entry-meta -->
<?php
endif;
if ( is_single() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' );
endif;
?>
<div class="entry-meta">
<span class="post-format">
<a class="entry-format" href="<?php echo esc_url( get_post_format_link( 'gallery' ) ); ?>"><?php echo get_post_format_string( 'gallery' ); ?></a>
</span>
<?php twentyfourteen_posted_on(); ?>
<?php if ( ! post_password_required() && ( comments_open() || '0' != get_comments_number() ) ) : ?>
<span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyfourteen' ), __( '1 Comment', 'twentyfourteen' ), __( '% Comments', 'twentyfourteen' ) ); ?></span>
<?php endif; ?>
<?php edit_post_link( __( 'Edit', 'twentyfourteen' ), '<span class="edit-link">', '</span>' ); ?>
</div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<?php
the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyfourteen' ) );
wp_link_pages( array(
'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfourteen' ) . '</span>',
'after' => '</div>',
'link_before' => '<span>',
'link_after' => '</span>',
) );
?>
</div><!-- .entry-content -->
<?php if ( has_tag() ) : ?>
<footer class="entry-meta">
<span class="tag-links"><?php echo get_the_tag_list(); ?></span>
</footer><!-- .entry-meta -->
<?php endif; ?>
</article><!-- #post-## -->

View File

@@ -1,63 +0,0 @@
<?php
/**
* The template for displaying posts in the Image post format
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php twentyfourteen_post_thumbnail(); ?>
<header class="entry-header">
<?php if ( in_array( 'category', get_object_taxonomies( get_post_type() ) ) && twentyfourteen_categorized_blog() ) : ?>
<div class="entry-meta">
<span class="cat-links"><?php echo get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfourteen' ) ); ?></span>
</div><!-- .entry-meta -->
<?php
endif;
if ( is_single() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' );
endif;
?>
<div class="entry-meta">
<span class="post-format">
<a class="entry-format" href="<?php echo esc_url( get_post_format_link( 'image' ) ); ?>"><?php echo get_post_format_string( 'image' ); ?></a>
</span>
<?php twentyfourteen_posted_on(); ?>
<?php if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) : ?>
<span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyfourteen' ), __( '1 Comment', 'twentyfourteen' ), __( '% Comments', 'twentyfourteen' ) ); ?></span>
<?php endif; ?>
<?php edit_post_link( __( 'Edit', 'twentyfourteen' ), '<span class="edit-link">', '</span>' ); ?>
</div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<?php
the_content();
wp_link_pages( array(
'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfourteen' ) . '</span>',
'after' => '</div>',
'link_before' => '<span>',
'link_after' => '</span>',
) );
?>
</div><!-- .entry-content -->
<?php if ( has_tag() ) : ?>
<footer class="entry-meta">
<span class="tag-links">
<?php echo get_the_tag_list(); ?>
</span>
</footer><!-- .entry-meta -->
<?php endif; ?>
</article><!-- #post-## -->

View File

@@ -1,55 +0,0 @@
<?php
/**
* The template for displaying posts in the Link post format
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php twentyfourteen_post_thumbnail(); ?>
<header class="entry-header">
<?php if ( in_array( 'category', get_object_taxonomies( get_post_type() ) ) && twentyfourteen_categorized_blog() ) : ?>
<div class="entry-meta">
<span class="cat-links"><?php echo get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfourteen' ) ); ?></span>
</div><!-- .entry-meta -->
<?php endif; ?>
<div class="entry-meta">
<span class="post-format">
<a class="entry-format" href="<?php echo esc_url( get_post_format_link( 'link' ) ); ?>"><?php echo get_post_format_string( 'link' ); ?></a>
</span>
<?php twentyfourteen_posted_on(); ?>
<?php if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) : ?>
<span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyfourteen' ), __( '1 Comment', 'twentyfourteen' ), __( '% Comments', 'twentyfourteen' ) ); ?></span>
<?php endif; ?>
<?php edit_post_link( __( 'Edit', 'twentyfourteen' ), '<span class="edit-link">', '</span>' ); ?>
</div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<?php
the_content();
wp_link_pages( array(
'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfourteen' ) . '</span>',
'after' => '</div>',
'link_before' => '<span>',
'link_after' => '</span>',
) );
?>
</div><!-- .entry-content -->
<?php if ( has_tag() ) : ?>
<footer class="entry-meta">
<span class="tag-links">
<?php echo get_the_tag_list(); ?>
</span>
</footer><!-- .entry-meta -->
<?php endif; ?>
</article><!-- #post-## -->

View File

@@ -1,31 +0,0 @@
<?php
/**
* The template for displaying a "No posts found" message
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
?>
<header class="page-header">
<h1 class="page-title"><?php _e( 'Nothing Found', 'twentyfourteen' ); ?></h1>
</header>
<div class="page-content">
<?php if ( is_home() && current_user_can( 'publish_posts' ) ) : ?>
<p><?php printf( __( 'Ready to publish your first post? <a href="%1$s">Get started here</a>.', 'twentyfourteen' ), admin_url( 'post-new.php' ) ); ?></p>
<?php elseif ( is_search() ) : ?>
<p><?php _e( 'Sorry, but nothing matched your search terms. Please try again with some different keywords.', 'twentyfourteen' ); ?></p>
<?php get_search_form(); ?>
<?php else : ?>
<p><?php _e( 'It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help.', 'twentyfourteen' ); ?></p>
<?php get_search_form(); ?>
<?php endif; ?>
</div><!-- .page-content -->

View File

@@ -1,30 +0,0 @@
<?php
/**
* The template used for displaying page content
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php
twentyfourteen_post_thumbnail();
the_title( '<header class="entry-header"><h1 class="entry-title">', '</h1></header><!-- .entry-header -->' );
?>
<div class="entry-content">
<?php
the_content();
wp_link_pages( array(
'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfourteen' ) . '</span>',
'after' => '</div>',
'link_before' => '<span>',
'link_after' => '</span>',
) );
edit_post_link( __( 'Edit', 'twentyfourteen' ), '<span class="edit-link">', '</span>' );
?>
</div><!-- .entry-content -->
</article><!-- #post-## -->

View File

@@ -1,63 +0,0 @@
<?php
/**
* The template for displaying posts in the Quote post format
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php twentyfourteen_post_thumbnail(); ?>
<header class="entry-header">
<?php if ( in_array( 'category', get_object_taxonomies( get_post_type() ) ) && twentyfourteen_categorized_blog() ) : ?>
<div class="entry-meta">
<span class="cat-links"><?php echo get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfourteen' ) ); ?></span>
</div><!-- .entry-meta -->
<?php endif; ?>
<div class="entry-meta">
<span class="post-format">
<a class="entry-format" href="<?php echo esc_url( get_post_format_link( 'quote' ) ); ?>"><?php echo get_post_format_string( 'quote' ); ?></a>
</span>
<?php twentyfourteen_posted_on(); ?>
<?php if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) : ?>
<span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyfourteen' ), __( '1 Comment', 'twentyfourteen' ), __( '% Comments', 'twentyfourteen' ) ); ?></span>
<?php endif; ?>
<?php edit_post_link( __( 'Edit', 'twentyfourteen' ), '<span class="edit-link">', '</span>' ); ?>
</div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<?php
the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyfourteen' ) );
wp_link_pages( array(
'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfourteen' ) . '</span>',
'after' => '</div>',
'link_before' => '<span>',
'link_after' => '</span>',
) );
?>
</div><!-- .entry-content -->
<footer class="entry-meta">
<div class="entry-meta">
<?php
if ( is_single() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' );
endif;
?>
</div>
<?php if ( has_tag() ) : ?>
<span class="tag-links"><?php echo get_the_tag_list(); ?></span>
<?php endif; ?>
</footer><!-- .entry-meta -->
</article><!-- #post-## -->

View File

@@ -1,63 +0,0 @@
<?php
/**
* The template for displaying posts in the Video post format
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php twentyfourteen_post_thumbnail(); ?>
<header class="entry-header">
<?php if ( in_array( 'category', get_object_taxonomies( get_post_type() ) ) && twentyfourteen_categorized_blog() ) : ?>
<div class="entry-meta">
<span class="cat-links"><?php echo get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfourteen' ) ); ?></span>
</div><!-- .entry-meta -->
<?php
endif;
if ( is_single() ) :
the_title( '<h1 class="entry-title">', '</h1>' );
else :
the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' );
endif;
?>
<div class="entry-meta">
<span class="post-format">
<a class="entry-format" href="<?php echo esc_url( get_post_format_link( 'video' ) ); ?>"><?php echo get_post_format_string( 'video' ); ?></a>
</span>
<?php twentyfourteen_posted_on(); ?>
<?php if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) : ?>
<span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyfourteen' ), __( '1 Comment', 'twentyfourteen' ), __( '% Comments', 'twentyfourteen' ) ); ?></span>
<?php endif; ?>
<?php edit_post_link( __( 'Edit', 'twentyfourteen' ), '<span class="edit-link">', '</span>' ); ?>
</div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<?php
the_content();
wp_link_pages( array(
'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfourteen' ) . '</span>',
'after' => '</div>',
'link_before' => '<span>',
'link_after' => '</span>',
) );
?>
</div><!-- .entry-content -->
<?php if ( has_tag() ) : ?>
<footer class="entry-meta">
<span class="tag-links">
<?php echo get_the_tag_list(); ?>
</span>
</footer><!-- .entry-meta -->
<?php endif; ?>
</article><!-- #post-## -->

View File

@@ -1,64 +0,0 @@
<?php
/**
* The default template for displaying content
*
* Used for both single and index/archive/search.
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php twentyfourteen_post_thumbnail(); ?>
<header class="entry-header">
<?php if ( in_array( 'category', get_object_taxonomies( get_post_type() ) ) && twentyfourteen_categorized_blog() ) : ?>
<div class="entry-meta">
<span class="cat-links"><?php echo get_the_category_list( _x( ', ', 'Used between list items, there is a space after the comma.', 'twentyfourteen' ) ); ?></span>
</div>
<?php endif; ?>
<?php the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' ); ?>
<div class="entry-meta">
<?php
if ( 'post' == get_post_type() )
twentyfourteen_posted_on();
if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) :
?>
<span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyfourteen' ), __( '1 Comment', 'twentyfourteen' ), __( '% Comments', 'twentyfourteen' ) ); ?></span>
<?php
endif;
edit_post_link( __( 'Edit', 'twentyfourteen' ), '<span class="edit-link">', '</span>' );
?>
</div><!-- .entry-meta -->
</header><!-- .entry-header -->
<?php if ( is_search() ) : ?>
<div class="entry-summary">
<?php the_excerpt(); ?>
</div><!-- .entry-summary -->
<?php else : ?>
<div class="entry-content">
<?php
the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyfourteen' ) );
wp_link_pages( array(
'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfourteen' ) . '</span>',
'after' => '</div>',
'link_before' => '<span>',
'link_after' => '</span>',
) );
?>
</div><!-- .entry-content -->
<?php endif; ?>
<?php if ( has_tag() ) : ?>
<footer class="entry-meta">
<span class="tag-links"><?php echo get_the_tag_list(); ?></span>
</footer><!-- .entry-meta -->
<?php endif; ?>
</article><!-- #post-## -->

View File

@@ -1,40 +0,0 @@
<?php
/**
* Template Name: Contributor Page
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php
while ( have_posts() ) :
the_post();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php
the_title( '<header class="entry-header"><h1 class="entry-title">', '</h1></header><!-- .entry-header -->' );
twentyfourteen_list_authors();
edit_post_link( __( 'Edit', 'twentyfourteen' ), '<footer class="entry-meta"><span class="edit-link">', '</span></footer>' );
?>
</article><!-- #post-## -->
<?php
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() )
comments_template();
endwhile;
?>
</div><!-- #content -->
</div><!-- #primary -->
<?php
get_sidebar();
get_footer();

View File

@@ -1,425 +0,0 @@
/*
Theme Name: Twenty Fourteen
Description: Used to style the TinyMCE editor.
*/
/**
* Table of Contents:
*
* 1.0 - Body
* 2.0 - Headings
* 3.0 - Text Elements
* 4.0 - Links
* 5.0 - Alignment
* 6.0 - Tables
* 7.0 - Images
* 8.0 - RTL
* ----------------------------------------------------------------------------
*/
/**
* 1.0 Body
* ----------------------------------------------------------------------------
*/
html .mceContentBody {
font-size: 100%;
max-width: 474px;
}
body {
color: #2b2b2b;
font-family: Lato, sans-serif;
line-height: 1.5;
text-rendering: optimizeLegibility;
vertical-align: baseline;
}
/**
* 2.0 Headings
* ----------------------------------------------------------------------------
*/
h1,
h2,
h3,
h4,
h5,
h6 {
clear: both;
font-weight: 700;
margin: 0 0 12px;
}
h1 {
font-size: 33px;
line-height: 1.0909090909;
}
h2 {
font-size: 30px;
line-height: 1.2;
}
h3 {
font-size: 26px;
line-height: 1.3846153846;
}
h4 {
font-size: 22px;
line-height: 1.0909090909;
}
h5 {
font-size: 18px;
line-height: 1.3333333333;
}
h6 {
font-size: 16px;
line-height: 1.5;
}
hr {
background-color: rgba(0, 0, 0, 0.1);
border: 0;
height: 1px;
margin-bottom: 23px;
}
/**
* 3.0 Text Elements
* ----------------------------------------------------------------------------
*/
p {
margin: 0 0 24px;
}
ol,
ul {
margin: 0 0 24px 22px;
padding-left: 0;
}
ul {
list-style-type: disc;
}
ol {
list-style: decimal;
}
li > ul,
li > ol {
margin-bottom: 0;
margin-left: 20px;
}
dl {
margin: 0 20px;
}
dt {
font-weight: bold;
}
dd {
margin: 0 0 24px;
}
strong {
font-weight: bold;
}
code,
kbd,
tt,
var,
samp {
font: 15px/1.6 Monaco, Consolas, 'Andale Mono', 'DejaVu Sans Mono', monospace;
}
pre {
background: #eee;
font-family: 'Courier 10 Pitch', Courier, monospace;
font-size: 15px;
line-height: 1.6;
margin-bottom: 24px;
max-width: 100%;
overflow: auto;
padding: 12px;
}
blockquote,
q {
quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: "";
content: none;
}
blockquote {
font-style: italic;
font-weight: 300;
margin: 0 0 24px;
}
blockquote em, blockquote i, blockquote cite {
font-style: normal;
}
blockquote p {
color: #767676;
font-size: 19px;
line-height: 1.2631578947;
}
blockquote cite,
blockquote small {
color: #2b2b2b;
font-size: 16px;
font-weight: 400;
line-height: 1.5;
}
blockquote.pull p {
margin-bottom: 17px;
}
blockquote.pull.alignleft,
blockquote.pull.alignright {
border-top: 1px solid rgba(0, 0, 0, 0.1);
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
padding-top: 17px;
width: 50%;
}
blockquote.pull.alignleft {
margin: 7px 24px 7px 0;
}
blockquote.pull.alignright {
margin: 7px 0 7px 24px;
}
blockquote blockquote {
margin-right: 0;
}
cite {
border-bottom: 0;
}
abbr[title] {
border-bottom: 1px dotted rgba(0, 0, 0, 0.1);
}
address {
font-style: normal;
margin: 0 0 24px;
}
del {
color: #333;
}
ins {
background: #fff9c0;
border: none;
color: #333;
text-decoration: none;
}
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
bottom: 1ex;
}
sub {
top: .5ex;
}
/**
* 4.0 Links
* ----------------------------------------------------------------------------
*/
a {
color: #24890d;
text-decoration: none;
}
a:visited {
color: #24890d;
}
a:focus {
outline: thin dotted;
}
a:active,
a:hover {
color: #55d737;
outline: 0;
}
/**
* 5.0 Alignment
* ----------------------------------------------------------------------------
*/
.alignleft {
float: left;
margin-right: 24px;
}
.alignright {
float: right;
margin-left: 24px;
}
.aligncenter {
clear: both;
display: block;
margin: 0 auto;
}
img.alignnone {
margin: 5px 0;
}
/**
* 6.0 Tables
* ----------------------------------------------------------------------------
*/
table {
border: 1px solid rgba(0, 0, 0, 0.1);
border-collapse: collapse;
border-spacing: 0;
font-size: 14px;
line-height: 1.2857142857;
margin-bottom: 24px;
width: 100%;
}
caption,
th {
border-right: 1px solid rgba(0, 0, 0, 0.1);
font-weight: 700;
padding: 8px;
text-transform: uppercase;
}
td {
border-top: 1px solid rgba(0, 0, 0, 0.1);
border-right: 1px solid rgba(0, 0, 0, 0.1);
padding: 8px;
}
/**
* 7.0 Images
* ----------------------------------------------------------------------------
*/
img {
height: auto;
max-width: 474px;
vertical-align: middle;
}
.wp-caption {
background: transparent;
border: none;
margin: 0 0 24px 0;
padding: 0;
text-align: left;
}
.wp-caption.alignleft {
margin: 7px 24px 7px 0;
}
.wp-caption.alignright {
margin: 7px 0 7px 24px;
}
.wp-caption.aligncenter {
margin: 7px 0;
}
.wp-caption-dt {
margin: 0;
}
.wp-caption .wp-caption-text,
.wp-caption-dd {
-moz-box-sizing: border-box;
box-sizing: border-box;
font-size: 12px;
font-style: italic;
line-height: 1.6666666666;
margin: 4px 0;
padding: 0 10px 0 0; /* Avoid the caption to overflow the width of the image because wp-caption has 10px wider width */
text-align: left;
}
.mceTemp + ul,
.mceTemp + ol {
list-style-position: inside;
}
/**
* 8.0 RTL
* ----------------------------------------------------------------------------
*/
html .mceContentBody.rtl {
direction: rtl;
unicode-bidi: embed;
}
.rtl ol,
.rtl ul {
margin-left: 0;
margin-right: 24px;
}
.rtl blockquote.pull.alignleft {
margin-left: 24px;
margin-right: 0;
}
.rtl blockquote.pull.alignright {
margin-left: 0;
margin-right: 24px;
}
.rtl .wp-caption,
.rtl tr th {
text-align: right;
}
.rtl td {
text-align: right;
}

View File

@@ -1,30 +0,0 @@
<?php
/**
* The template for displaying featured content
*
* @todo: Add support for featured content.
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
?>
<div id="featured-content" class="featured-content">
<?php
do_action( 'twentyfourteen_featured_posts_before' );
$featured_posts = twentyfourteen_get_featured_posts();
foreach ( (array) $featured_posts as $order => $post ) :
setup_postdata( $post );
get_template_part( 'content', 'featured-post' );
endforeach;
do_action( 'twentyfourteen_featured_posts_after' );
wp_reset_postdata();
?>
</div><!-- #featured-content .featured-content -->

View File

@@ -1,9 +0,0 @@
Genericons 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.
The fonts are distributed 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.
As a special exception, if you create a document which uses this font, and embed this font or unaltered portions of this font into the document, this font does not by itself cause the resulting document to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the document might be covered by the GNU General Public License. If you modify this font, you may extend this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
This license does not convey any intellectual property rights to third party trademarks that may be included in the icon font; such marks remain subject to all rights and guidelines of use of their owner.

View File

@@ -1,339 +0,0 @@
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.

View File

@@ -1,84 +0,0 @@
___ ____ __ _ ____ ____ __ ___ __ __ _ ____
/ __)( __)( ( \( __)( _ \( )/ __)/ \ ( ( \/ ___)
( (_ \ ) _) / / ) _) ) / )(( (__( O )/ /\___ \
\___/(____)\_)__)(____)(__\_)(__)\___)\__/ \_)__)(____/
Genericons are vector icons embedded in a webfont designed to be clean and simple keeping with a generic aesthetic.
Use genericons for instant HiDPI, to change icon colors on the fly, or even with CSS effects such as drop-shadows or gradients!
_ _ ____ ____ ____ ____
| | [__ |__| | __ |___
|__| ___] | | |__] |___
To use it, place the font folder in your stylesheet directory and paste this in your CSS file:
/* =Genericons, thanks to FontSquirrel.com for conversion!
-------------------------------------------------------------- */
@font-face {
font-family: 'Genericons';
src: url('font/genericons-regular-webfont.eot');
src: url('font/genericons-regular-webfont.eot?#iefix') format('embedded-opentype'),
url('font/genericons-regular-webfont.woff') format('woff'),
url('font/genericons-regular-webfont.ttf') format('truetype'),
url('font/genericons-regular-webfont.svg#genericonsregular') format('svg');
font-weight: normal;
font-style: normal;
}
Note: the above only works if you don't use a CDN. If you do, or don't know what that is, you should use the syntax that's embedded in genericons.css.
From then on, you can create an icon like this:
.my-icon:before {
content: '\f101';
display: inline-block;
-webkit-font-smoothing: antialiased;
font: normal 16px/1 'Genericons';
vertical-align: top;
}
This will output a comment icon before every element with the class "my-icon". The "content: '\f101';" part of this CSS is easily copied from the helper tool at http://genericons.com/
You can also use the bundled example.css if you'd rather insert the icons using HTML tags.
_ _ ____ ___ ____ ____
|\ | | | | |___ [__
| \| |__| | |___ ___]
Genericons-Regular.otf found in the root directory of this zip has not been web-font-ified. So you can drop it in your system fonts folder and use the font in Photoshop if you like.
Note that Genericons has been designed for a 16x16 pixel grid. That means it'll look sharp at font-size: 16px exactly. It'll also be crisp at multiples thereof, such as 32px or 64px. It'll also look reasonably crisp at in-between font sizes such as 24px or 48px, but not quite as crisp as 16 or 32. Please don't set the font-size to 17px, though, that'll just look terrible.
Also note the CSS property "-webkit-font-smoothing: antialiased". That makes the icons look great in WebKit browsers. Please see http://noscope.com/2012/font-smoothing for more info.
____ _ _ ____ _ _ ____ ____ _ ____ ____
| |__| |__| |\ | | __ |___ | | | | __
|___ | | | | | \| |__] |___ |___ |__| |__]
V3.0:
Mainly maintenance and a few new icons.
- Fast forward, rewind, PollDaddy, Notice, Info, Help, Portfolio
- Updated the feed icon. It's a bit smaller now for consistency, the previous one was rather big.
- So, the previous version numbering, 2.09, wasn't very PHP version compare friendly. So from now on it'll be 3.0, 3.1 etc. Props Ipstenu.
- Genericons.com now has a mini release blog.
- The CSS has prettier formatting, props Konstantin Obenland.
V2.09:
Updated Facebook icon to new version. Updated Instagram logo to use new one-color version. Updated Google+ icon to use same radius as Instagram and Facebook. Added a bunch of new icons, cog, unapprove, cart, media player buttons, tablet, send to tablet.
V2.06:
Included Base64 encoded version. This is necessary for Genericons to work with CDNs in Firefox. Firefox blocks fonts linked from a different domain. A CDN (typically s.example.com) usually puts the font on a subdomain, and is hence blocked in Firefox.
V2.05:
Added a bunch of new icons, including upload to cloud, download to cloud, many more.
V2:
Initial public release

View File

@@ -1,442 +0,0 @@
<!DOCTYPE html>
<html dir="ltr" lang="en">
<head>
<title>Genericons</title>
<link rel="stylesheet" href="genericons.css">
<style type="text/css">
body {
font-family: sans-serif;
line-height: 1.5;
width: 800px;
margin: 50px auto;
color: #777;
background: white;
}
.icons {
overflow: hidden;
padding: 10px 0;
}
.icons div {
cursor: pointer;
float: left;
margin: 0 30px 30px 0;
}
.icons:hover div {
background: #f7f7f7;
}
.code {
display: block;
font: 14px/1.5 monospace;
width: 740px;
white-space: pre;
border: 1px solid #ccc;
padding: 10px;
color: #777;
overflow: auto;
}
.my-icon:before {
content: '\f408';
display: inline-block;
-webkit-font-smoothing: antialiased;
font: normal 32px/1 'Genericons';
vertical-align: middle;
}
/* For the Examples */
.my-checklist {
list-style-type: none;
text-indent: -16px;
}
.my-checklist li:before {
padding-right: 16px;
content: '\f418';
display: inline-block;
-webkit-font-smoothing: antialiased;
font: normal 16px/1 'Genericons';
vertical-align: text-top;
}
.my-blockquote {
background: #eee;
border-left: 32px solid #ddd;
padding: 10px;
}
.my-blockquote:before {
margin-left: -42px;
padding-right: 10px;
content: '\f106';
display: inline-block;
-webkit-font-smoothing: antialiased;
font: normal 32px/20px 'Genericons';
vertical-align: bottom;
}
.my-button {
font-family: Helvetica, sans-serif;
font-size: 14px;
background: #e05d22; /* Old browsers */
background: -webkit-linear-gradient(top, #e05d22 0%, #d94412 100%); /* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient( top, #e05d22 0%, #d94412 100%); /* FF3.6+ */
background: -ms-linear-gradient( top, #e05d22 0%, #d94412 100%); /* IE10+ */
background: -o-linear-gradient( top, #e05d22 0%, #d94412 100%); /* Opera 11.10+ */
background: linear-gradient( to bottom, #e05d22 0%, #d94412 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e05d22', endColorstr='#d94412', GradientType=0); /* IE6-9 */
display: inline-block;
padding: 10px 16px 4px 16px;
color: #fff;
text-decoration: none;
border: none;
border-bottom: 3px solid #b93207;
border-radius: 2px;
}
.my-button:hover,
.my-button:focus {
background: #ed6a31; /* Old browsers */
background: -webkit-linear-gradient(top, #ed6a31 0%, #e55627 100%); /* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient( top, #ed6a31 0%, #e55627 100%); /* FF3.6+ */
background: -ms-linear-gradient( top, #ed6a31 0%, #e55627 100%); /* IE10+ */
background: -o-linear-gradient( top, #ed6a31 0%, #e55627 100%); /* Opera 11.10+ */
background: linear-gradient( to bottom, #ed6a31 0%, #e55627 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ed6a31', endColorstr='#e55627', GradientType=0); /* IE6-9 */
outline: none;
}
.my-button:active {
background: #d94412; /* Old browsers */
background: -webkit-linear-gradient(top, #d94412 0%, #e05d22 100%); /* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient( top, #d94412 0%, #e05d22 100%); /* FF3.6+ */
background: -ms-linear-gradient( top, #d94412 0%, #e05d22 100%); /* IE10+ */
background: -o-linear-gradient( top, #d94412 0%, #e05d22 100%); /* Opera 11.10+ */
background: linear-gradient( to bottom, #d94412 0%, #e05d22 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#d94412', endColorstr='#e05d22', GradientType=0); /* IE6-9 */
border: none;
border-top: 3px solid #b93207;
padding: 6px 16px 7px 16px;
}
</style>
</head>
<body>
<div class="section">
<h1>Genericons Usage</h1>
<p>Copy the <strong>font</strong> folder and the <strong>genericons.css</strong> file together into your project. Link the CSS in your HTML:</p>
<p><code>&lt;link href="path/to/genericons.css" rel="stylesheet"&gt;</code></p>
<p>Drop in the following HTML with the name of the icon you want to display:</p>
<p><code>&lt;div class="genericon genericon-standard"&gt;&lt;/div&gt;</code></p>
<div class="icons">
<!-- post formats -->
<div alt="f100" class="genericon genericon-standard"></div>
<div alt="f101" class="genericon genericon-aside"></div>
<div alt="f102" class="genericon genericon-image"></div>
<div alt="f103" class="genericon genericon-gallery"></div>
<div alt="f104" class="genericon genericon-video"></div>
<div alt="f105" class="genericon genericon-status"></div>
<div alt="f106" class="genericon genericon-quote"></div>
<div alt="f107" class="genericon genericon-link"></div>
<div alt="f108" class="genericon genericon-chat"></div>
<div alt="f109" class="genericon genericon-audio"></div>
<!-- social icons -->
<div alt="f200" class="genericon genericon-github"></div>
<div alt="f201" class="genericon genericon-dribbble"></div>
<div alt="f202" class="genericon genericon-twitter"></div>
<div alt="f203" class="genericon genericon-facebook"></div>
<div alt="f204" class="genericon genericon-facebook-alt"></div>
<div alt="f205" class="genericon genericon-wordpress"></div>
<div alt="f206" class="genericon genericon-googleplus"></div>
<div alt="f207" class="genericon genericon-linkedin"></div>
<div alt="f208" class="genericon genericon-linkedin-alt"></div>
<div alt="f209" class="genericon genericon-pinterest"></div>
<div alt="f210" class="genericon genericon-pinterest-alt"></div>
<div alt="f211" class="genericon genericon-flickr"></div>
<div alt="f212" class="genericon genericon-vimeo"></div>
<div alt="f213" class="genericon genericon-youtube"></div>
<div alt="f214" class="genericon genericon-tumblr"></div>
<div alt="f215" class="genericon genericon-instagram"></div>
<div alt="f216" class="genericon genericon-codepen"></div>
<div alt="f217" class="genericon genericon-polldaddy"></div>
<!-- meta icons -->
<div alt="f300" class="genericon genericon-comment"></div>
<div alt="f301" class="genericon genericon-category"></div>
<div alt="f302" class="genericon genericon-tag"></div>
<div alt="f303" class="genericon genericon-time"></div>
<div alt="f304" class="genericon genericon-user"></div>
<div alt="f305" class="genericon genericon-day"></div>
<div alt="f306" class="genericon genericon-week"></div>
<div alt="f307" class="genericon genericon-month"></div>
<div alt="f308" class="genericon genericon-pinned"></div>
<!-- other icons -->
<div alt="f400" class="genericon genericon-search"></div>
<div alt="f401" class="genericon genericon-unzoom"></div>
<div alt="f402" class="genericon genericon-zoom"></div>
<div alt="f403" class="genericon genericon-show"></div>
<div alt="f404" class="genericon genericon-hide"></div>
<div alt="f405" class="genericon genericon-close"></div>
<div alt="f406" class="genericon genericon-close-alt"></div>
<div alt="f407" class="genericon genericon-trash"></div>
<div alt="f408" class="genericon genericon-star"></div>
<div alt="f409" class="genericon genericon-home"></div>
<div alt="f410" class="genericon genericon-mail"></div>
<div alt="f411" class="genericon genericon-edit"></div>
<div alt="f412" class="genericon genericon-reply"></div>
<div alt="f413" class="genericon genericon-feed"></div>
<div alt="f414" class="genericon genericon-warning"></div>
<div alt="f415" class="genericon genericon-share"></div>
<div alt="f416" class="genericon genericon-attachment"></div>
<div alt="f417" class="genericon genericon-location"></div>
<div alt="f418" class="genericon genericon-checkmark"></div>
<div alt="f419" class="genericon genericon-menu"></div>
<div alt="f420" class="genericon genericon-top"></div>
<div alt="f421" class="genericon genericon-minimize"></div>
<div alt="f422" class="genericon genericon-maximize"></div>
<div alt="f423" class="genericon genericon-404"></div>
<div alt="f424" class="genericon genericon-spam"></div>
<div alt="f425" class="genericon genericon-summary"></div>
<div alt="f426" class="genericon genericon-cloud"></div>
<div alt="f427" class="genericon genericon-key"></div>
<div alt="f428" class="genericon genericon-dot"></div>
<div alt="f429" class="genericon genericon-next"></div>
<div alt="f430" class="genericon genericon-previous"></div>
<div alt="f431" class="genericon genericon-expand"></div>
<div alt="f432" class="genericon genericon-collapse"></div>
<div alt="f433" class="genericon genericon-dropdown"></div>
<div alt="f434" class="genericon genericon-dropdown-left"></div>
<div alt="f435" class="genericon genericon-top"></div>
<div alt="f436" class="genericon genericon-draggable"></div>
<div alt="f437" class="genericon genericon-phone"></div>
<div alt="f438" class="genericon genericon-send-to-phone"></div>
<div alt="f439" class="genericon genericon-plugin"></div>
<div alt="f440" class="genericon genericon-cloud-download"></div>
<div alt="f441" class="genericon genericon-cloud-upload"></div>
<div alt="f442" class="genericon genericon-external"></div>
<div alt="f443" class="genericon genericon-document"></div>
<div alt="f444" class="genericon genericon-book"></div>
<div alt="f445" class="genericon genericon-cog"></div>
<div alt="f446" class="genericon genericon-unapprove"></div>
<div alt="f447" class="genericon genericon-cart"></div>
<div alt="f448" class="genericon genericon-pause"></div>
<div alt="f449" class="genericon genericon-stop"></div>
<div alt="f450" class="genericon genericon-skip-back"></div>
<div alt="f451" class="genericon genericon-skip-ahead"></div>
<div alt="f452" class="genericon genericon-play"></div>
<div alt="f453" class="genericon genericon-tablet"></div>
<div alt="f454" class="genericon genericon-send-to-tablet"></div>
<div alt="f455" class="genericon genericon-info"></div>
<div alt="f456" class="genericon genericon-notice"></div>
<div alt="f457" class="genericon genericon-help"></div>
<div alt="f458" class="genericon genericon-fastforward"></div>
<div alt="f459" class="genericon genericon-rewind"></div>
<div alt="f460" class="genericon genericon-portfolio"></div>
<!-- generic shapes -->
<div alt="f500" class="genericon genericon-uparrow"></div>
<div alt="f501" class="genericon genericon-rightarrow"></div>
<div alt="f502" class="genericon genericon-downarrow"></div>
<div alt="f503" class="genericon genericon-leftarrow"></div>
</div>
<p>If you want to insert an icon manually using the <code>:before</code> selector, you can setup CSS rules like the following example. <strong>Make sure to set the size to a multiple of 16px</strong> or the icons could end up looking fuzzy:</p>
<p><textarea class="code" style="min-height: 150px;" onclick="select();">.my-icon:before {
content: '\f408';
display: inline-block;
-webkit-font-smoothing: antialiased;
font: normal 32px/1 'Genericons';
vertical-align: middle;
}</textarea></p>
<p>Add a matching class to your HTML:</p>
<p><code>&lt;div class="my-icon"&gt;You're a Star!&lt;/div&gt;</code></p>
<p>Here's the result: <span class="my-icon">You're a Star!</span></p>
<h2>Examples</h2>
<p>Turn every icon a <span style="color: #fa8072;">Salmon</span> color:</p>
<p><textarea class="code" style="min-height: 70px" onclick="select();">
.genericon {
color: #fa8072;
}</textarea></p>
<p>Or turn the stars <span style="color: #ffd700;">Gold</span>:</p>
<p><textarea class="code" style="min-height: 70px" onclick="select();">
.genericon-star {
color: #fa8072;
}</textarea></p>
<p>Use icons for bulleted lists:</p>
<ul class="my-checklist">
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
</ul>
<p><textarea class="code" style="min-height: 130px" onclick="select();">
<ul class="my-checklist">
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
</ul></textarea></p>
<p><textarea class="code" style="min-height: 260px;" onclick="select();">
.my-checklist {
list-style-type: none;
text-indent: -16px;
}
.my-checklist li:before {
padding-right: 16px;
content: '\f418';
display: inline-block;
-webkit-font-smoothing: antialiased;
font: normal 16px/1 'Genericons';
vertical-align: text-top;
}</textarea></p>
<p>Use icons to style blockquotes:</p>
<blockquote class="my-blockquote">Sometimes I've believed as many as six impossible things before breakfast. &mdash;<em>Lewis Carroll</em></blockquote>
<blockquote class="my-blockquote">`Twas brillig, and the slithy toves Did gyre and gimble in the wabe: All mimsy were the borogoves, And the mome raths outgrabe. "Beware the Jabberwock, my son! The jaws that bite, the claws that catch! Beware the Jubjub bird, and shun The frumious Bandersnatch!"</blockquote>
<p><textarea class="code" style="min-height: 40px;" onclick="select();"><blockquote class="my-blockquote">Sometimes I've believed as many as six impossible things before breakfast. &mdash;<em>Lewis Carroll</em></blockquote></textarea></p>
<p><textarea class="code" style="min-height: 300px;" onclick="select();">
.my-blockquote {
background: #eee;
border-left: 32px solid #ddd;
padding: 10px;
}
.my-blockquote:before {
margin-left: -42px;
padding-right: 10px;
content: '\f106';
display: inline-block;
-webkit-font-smoothing: antialiased;
font: normal 32px/20px 'Genericons';
vertical-align: bottom;
} </textarea></p>
<p>Use icons to style buttons:</p>
<a class="my-button" href="javascript:void()"><i class="genericon genericon-show"></i> View</a>
<a class="my-button" href="javascript:void()"><i class="genericon genericon-audio"></i> Listen</a>
<p><textarea class="code" style="min-height: 40px;" onclick="select();"><a class="my-button" href="#"><i class="genericon genericon-show"></i> View</a>
<a class="my-button" href="#"><i class="genericon genericon-audio"></i> Listen</a></textarea></p>
<p><textarea class="code" style="min-height: 300px;" onclick="select();">
.my-button {
font-family: Helvetica, sans-serif;
background: #e05d22; /* Old browsers */
background: -webkit-linear-gradient(top, #e05d22 0%, #d94412 100%); /* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient( top, #e05d22 0%, #d94412 100%); /* FF3.6+ */
background: -ms-linear-gradient( top, #e05d22 0%, #d94412 100%); /* IE10+ */
background: -o-linear-gradient( top, #e05d22 0%, #d94412 100%); /* Opera 11.10+ */
background: linear-gradient( to bottom, #e05d22 0%, #d94412 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e05d22', endColorstr='#d94412', GradientType=0); /* IE6-9 */
display: inline-block;
padding: 10px 16px 6px 16px;
color: #fff;
text-decoration: none;
border: none;
border-bottom: 3px solid #b93207;
border-radius: 2px;
}
.my-button:hover,
.my-button:focus {
background: #ed6a31; /* Old browsers */
background: -webkit-linear-gradient(top, #ed6a31 0%, #e55627 100%); /* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient( top, #ed6a31 0%, #e55627 100%); /* FF3.6+ */
background: -ms-linear-gradient( top, #ed6a31 0%, #e55627 100%); /* IE10+ */
background: -o-linear-gradient( top, #ed6a31 0%, #e55627 100%); /* Opera 11.10+ */
background: linear-gradient( to bottom, #ed6a31 0%, #e55627 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ed6a31', endColorstr='#e55627', GradientType=0); /* IE6-9 */
outline: none;
}
.my-button:active {
background: #d94412; /* Old browsers */
background: -webkit-linear-gradient(top, #d94412 0%, #e05d22 100%); /* Chrome10+,Safari5.1+ */
background: -moz-linear-gradient( top, #d94412 0%, #e05d22 100%); /* FF3.6+ */
background: -ms-linear-gradient( top, #d94412 0%, #e05d22 100%); /* IE10+ */
background: -o-linear-gradient( top, #d94412 0%, #e05d22 100%); /* Opera 11.10+ */
background: linear-gradient( to bottom, #d94412 0%, #e05d22 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#d94412', endColorstr='#e05d22', GradientType=0); /* IE6-9 */
border: none;
border-top: 3px solid #b93207;
padding: 6px 16px 10px 16px;
}</textarea>/</p>
<h2>CSS Preprocessors</h2>
<p>Preprocessing extensions such as Sass (SCSS Syntax) or LESS</a> can make it easier to manage CSS for a lot of things at once using things like variables and mixins.</p>
<p>This example will seup the basic genericon rules and sets a color you can use for all icons using Sass:</p>
<p><textarea class="code" style="min-height: 360px;" onclick="select();">$icon-color: "#fa8072";
.genericon {
color: $icon-color;
}
@mixin genericon-rules {
display: inline-block;
-webkit-font-smoothing: antialiased;
font: normal 16px/1 'Genericons';
vertical-align: middle;
}
.my-icon:before {
content: '\f408';
@include genericon-rules;
}</textarea></p>
<p>Here is a similar example for LESS:</p>
<p><textarea class="code" style="min-height: 360px;" onclick="select();">@icon-color: "#fa8072";
.genericon {
color: @icon-color;
}
.genericon-rules {
display: inline-block;
-webkit-font-smoothing: antialiased;
font: normal 16px/1 'Genericons';
vertical-align: middle;
}
.my-icon:before {
content: '\f408';
.genericon-rules;
}</textarea></p>
<h2>Fallback images for IE7 and below</h2>
<p>Genericons <strong>does not come with fallback icons by default</strong> -- therefore you have to create them yourself. If you are using HTML similar to this example:
<p><code>&lt;span class="genericon genericon-warning"&gt;&lt;/span&gt;</code></p>
<p>You can use the asterisk hack to serve a different icon to IE7 once you have saved the fallback icons to your project:</p>
<textarea class="code" style="min-height: 85px;" onclick="select();">.genericon-warning {
*background: url(fallback-icon.png) no-repeat center center;
*text-indent: 100%;
}</textarea>
</div>
</body>
</html>

View File

@@ -1,113 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="genericonsregular" horiz-adv-x="2048" >
<font-face units-per-em="2048" ascent="1638" descent="-410" />
<missing-glyph horiz-adv-x="500" />
<glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#xf100;" d="M1536 1408v-128h-1024v128h1024zM1152 1024h-640v128h640v-128zM1280 1152h256v-128h-256v128zM768 768h-256v128h256v-128zM896 896h640v-128h-640v128zM512 640h768v-128h-768v128z" />
<glyph unicode="&#xf101;" d="M1024 1792q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1024 768q106 0 181 75t75 181t-75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75z" />
<glyph unicode="&#xf102;" d="M1920 1408v-1024h-1792v896l512 128l128 256h512l128 -256h512zM512 1504l-256 -64v160h256v-96zM1024 512q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1024 1280q133 0 226.5 -93.5t93.5 -226.5 t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5z" />
<glyph unicode="&#xf103;" d="M128 1408h896v-384h-896v384zM2048 1408v-896h-896v896h896zM128 896h384v-384h-384v384zM640 896h384v-384h-384v384z" />
<glyph unicode="&#xf104;" d="M1664 1024l-1152 -640v1280z" />
<glyph unicode="&#xf105;" d="M1408 1408q0 -124 -71.5 -222t-184.5 -138v-536l-256 -128v664q-113 40 -184.5 138t-71.5 222q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
<glyph unicode="&#xf106;" d="M512 1408h512l-256 -768h-384zM1792 1408l-256 -768h-384l128 768h512z" />
<glyph unicode="&#xf107;" d="M870 1450l135 136q75 75 181 75t181 -75l91 -91q75 -75 75 -181t-75 -181l-136 -136l-90 91l135 136q38 37 38 90t-38 91l-90 90q-38 38 -91 38t-90 -38l-136 -135zM734 952l362 362l90 -90l-362 -362zM553 771l90 -90q38 -38 91 -38t90 38l136 135l91 -90l-136 -136 q-75 -75 -181 -75t-181 75l-91 91q-75 75 -75 181t75 181l136 135l91 -90l-136 -136q-38 -37 -38 -90t38 -91z" />
<glyph unicode="&#xf108;" d="M256 1792h1024q96 0 176 -80t80 -176v-384q0 -96 -80 -176t-176 -80h-448l-448 -448v448h-128q-96 0 -176 80t-80 176v384q0 96 80 176t176 80zM1664 1152v384q96 0 176 -80t80 -176v-384q0 -96 -80 -176t-176 -80h-128v-448l-448 448h-320l128 128h384q168 0 276 108 t108 276z" />
<glyph unicode="&#xf109;" d="M640 1280l384 384v-1280l-384 384h-384v512h384zM1386 1386l91 91q88 -89 137.5 -206t49.5 -247q0 -87 -23 -170t-64.5 -153.5t-99.5 -129.5l-91 91q71 71 110.5 164.5t39.5 197.5t-39.5 197.5t-110.5 164.5zM1205 1205l91 91q26 -27 46.5 -57.5t35 -65t22.5 -72.5t8 -77 q0 -78 -29.5 -148t-82.5 -124l-91 91q75 75 75 181t-75 181z" />
<glyph unicode="&#xf200;" d="M1024 2048q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5q0 -335 -195.5 -601.5t-504.5 -369.5q-36 -7 -53 8.5t-17 40.5q0 4 0.5 102t0.5 179q0 130 -69 189q77 9 137.5 24.5t124.5 51.5t107 89t70.5 140t27.5 201q0 161 -105 274q6 15 11 35t9 56t-3.5 83.5 t-26.5 96.5q-4 1 -10.5 2t-32 -1t-55.5 -11t-79.5 -33.5t-104.5 -61.5q-118 33 -256 35q-138 -2 -256 -35q-55 37 -104 61.5t-80 33t-54.5 11.5t-33.5 1l-10 -2q-58 -146 -10 -271q-105 -115 -105 -274q0 -114 27.5 -201t70.5 -140t107 -89t124.5 -52t136.5 -24 q-53 -47 -65 -137q-28 -13 -59.5 -20t-75.5 -6.5t-87.5 28.5t-75.5 83q-2 4 -6.5 10.5t-19 24t-31.5 31t-44 25.5t-56 14h-10t-18.5 -3.5t-17 -9t4 -18.5t34.5 -31q3 -1 7.5 -4t19 -14.5t27.5 -27t30 -43.5t30 -61q1 -3 2.5 -7t8 -17t15.5 -25.5t24.5 -28t33.5 -28t45 -23.5 t57.5 -16t71.5 -3.5t87 11.5q0 -50 0.5 -110t0.5 -64q0 -24 -17 -40t-53 -10q-309 103 -504.5 370t-195.5 602q0 208 81 398t218.5 327t327 218t397.5 81z" />
<glyph unicode="&#xf201;" d="M1024 2048q206 0 395.5 -82t327 -219.5t219.5 -327t82 -395.5t-82 -395.5t-219.5 -327t-327 -219.5t-395.5 -82t-395.5 82t-327 219.5t-219.5 327t-82 395.5t82 395.5t219.5 327t327 219.5t395.5 82zM1024 1920q-32 0 -96 -8t-96 -8q102 -166 304 -512q6 2 86 31 t118.5 45t108 47t122 64t93.5 69q-126 126 -290.5 199t-349.5 73zM672 1856q-194 -85 -329.5 -247.5t-182.5 -376.5q194 -22 444 14t388 82q-141 282 -320 528zM1760 1536q-71 -57 -162 -104.5t-214.5 -100.5t-183.5 -83q22 -29 36.5 -54.5t34 -67.5t25.5 -54q170 33 336 30 t288 -30q-26 285 -160 464zM128 1088v-64q0 -167 58 -319.5t166 -272.5q125 205 339 360t445 232q-16 48 -80 176q-282 -86 -481.5 -111t-446.5 -1zM1536 288q156 108 258 278t126 362q-276 46 -576 0q14 -27 43 -103t74.5 -231t74.5 -306zM1024 128q181 0 368 80 q-33 300 -208 688q-222 -74 -410 -225.5t-294 -350.5q216 -192 544 -192z" />
<glyph unicode="&#xf202;" d="M2048 1659q-84 -127 -210 -217q2 -36 2 -55q0 -168 -49 -337t-150 -323.5t-241 -273.5t-336 -190t-420 -71q-351 0 -644 189q50 -6 100 -6q293 0 522 180q-137 2 -244.5 83t-147.5 208q44 -7 79 -7q57 0 110 15q-145 29 -241 144.5t-96 267.5v5q86 -48 191 -53 q-86 58 -136.5 150t-50.5 200q0 113 57 211q158 -194 383 -310t483 -129q-11 49 -11 96q0 174 123 297t297 123q89 0 168.5 -35t138.5 -97q142 27 266 102q-47 -150 -184 -233q124 15 241 66z" />
<glyph unicode="&#xf203;" d="M384 1920h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-282v711h270l12 260h-282v192v12q0 60 21.5 87.5t87.5 27.5l166 -1l6 242q-78 10 -183 10q-94 0 -167 -27.5t-117 -74.5t-66 -105.5t-22 -126.5v-236h-254v-260h254v-711h-724q-106 0 -181 75 t-75 181v1280q0 106 75 181t181 75z" />
<glyph unicode="&#xf204;" d="M1511 1272l-14 -303h-315v-841h-320v841h-222v303h222v258q0 78 26 147t77 124t136.5 87t194.5 32q55 0 108 -3t79 -6l26 -3l-7 -282h-193q-76 0 -101.5 -32t-25.5 -101v-14v-207h329z" />
<glyph unicode="&#xf205;" d="M1024 1920q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1426 536l81 268q24 79 32.5 107.5t18.5 74.5t10 79q0 46 -11.5 90.5t-23.5 71t-32 60.5q-2 4 -11.5 19 t-12 20t-10.5 18.5t-11 19t-9 17.5t-8.5 19t-6.5 18t-5.5 19.5t-3 18.5t-1.5 20q0 57 39 100t97 43l10 -1q-110 101 -249.5 156.5t-294.5 55.5q-207 0 -385 -98t-288 -266h52q37 0 91 2.5t89 4.5l34 3q21 1 30.5 -14.5t2.5 -32.5t-27 -20q-44 -5 -93 -7l294 -873l176 529 l-125 344l-85 7q-20 2 -27.5 19t2.5 33t30 15q133 -10 212 -10q38 0 91.5 2.5t88.5 4.5l35 3q16 1 25.5 -8.5t10 -22t-7 -23.5t-23.5 -13q-43 -5 -92 -7zM1731 1410q5 -40 5 -82q0 -135 -61 -289l-246 -711q183 106 292 291.5t109 404.5q0 207 -99 386zM218 1024 q0 -236 125 -430.5t330 -294.5l-385 1053q-70 -156 -70 -328zM1024 218q138 0 268 46q-4 6 -6 11l-248 679l-242 -703q112 -33 228 -33z" />
<glyph unicode="&#xf206;" d="M1664 1536v256h-128v-256h-256v-128h256v-256h128v256h256v-1024q0 -106 -75 -181t-181 -75h-507q5 28 5 50q0 143 -46.5 230t-189.5 194q-3 2 -20.5 15t-25 19t-25.5 20t-27.5 22.5t-24 22t-23 23.5t-17 22t-12.5 22.5t-4 20.5q0 52 23 87t99 94q180 141 180 324 q0 113 -45 204.5t-128 139.5h160l135 142h-607q-127 0 -241.5 -49t-194.5 -132v65q0 106 75 181t181 75h1280q106 0 181 -75t75 -181v-128h-256zM575 937q-125 4 -225.5 108t-121.5 262q-21 161 50.5 269.5t194.5 104.5q121 -4 215.5 -118.5t116.5 -277.5q21 -160 -43 -256 t-187 -92zM572 570q-18 0 -54.5 -0.5t-55.5 -0.5q-183 0 -334 -83v485q125 -127 330 -127q30 0 59 3q-32 -61 -32 -118q0 -33 13 -63t28.5 -48.5t45.5 -47.5zM966 218q7 -29 7 -66q0 -16 -1 -24h-588q-85 0 -153 50.5t-92 130.5q57 85 166 137.5t237 51.5q84 -1 158 -26 q19 -13 62 -42.5t61 -42t48 -37t44.5 -41.5t29 -41.5t21.5 -49.5z" />
<glyph unicode="&#xf207;" d="M530 1285h1q67 0 108.5 39.5t41.5 97.5q-2 60 -42 98.5t-106 38.5q-67 0 -108 -39t-41 -98q0 -58 40.5 -97.5t105.5 -39.5zM1614 384v455q0 175 -83.5 266t-220.5 91q-50 0 -90.5 -12t-68.5 -34t-45 -41t-33 -44v112h-264v-793h264v443q0 45 8 64q16 40 50.5 68t85.5 28 q133 0 133 -179v-424h264zM663 1177h-263v-793h263v793z" />
<glyph unicode="&#xf208;" d="M384 1920h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181v1280q0 106 75 181t181 75zM530 1285h1q67 0 108.5 39.5t41.5 97.5q-2 60 -42 98.5t-106 38.5q-67 0 -108 -39t-41 -98q0 -58 40.5 -97.5t105.5 -39.5zM1614 384v455 q0 175 -83.5 266t-220.5 91q-50 0 -90.5 -12t-68.5 -34t-45 -41t-33 -44v112h-264v-793h264v443q0 45 8 64q16 40 50.5 68t85.5 28q133 0 133 -179v-424h264zM663 1177h-263v-793h263v793z" />
<glyph unicode="&#xf209;" d="M1073 2048q176 0 327.5 -60.5t253.5 -161t160 -231t58 -270.5q0 -246 -85 -443t-241 -309.5t-355 -112.5q-99 0 -186.5 46.5t-121.5 110.5q-73 -290 -89 -347q-34 -123 -127 -270l-149 54q-7 167 22 290l162 688q-40 81 -40 200q0 139 70.5 232.5t172.5 93.5 q83 0 127 -53.5t44 -135.5q0 -51 -18.5 -124t-49 -170t-44.5 -154q-23 -99 37.5 -171t161.5 -72q117 0 209.5 92t142 244.5t49.5 334.5q0 214 -139 349t-387 135q-139 0 -257.5 -49.5t-197 -133t-122.5 -193t-44 -229.5q0 -147 83 -247q18 -21 21.5 -34t-3.5 -37 q-16 -61 -25 -101q-7 -24 -24.5 -32t-39.5 1q-127 51 -192.5 181.5t-65.5 300.5q0 109 35.5 219t110 213t179 182t254 126.5t323.5 47.5z" />
<glyph unicode="&#xf210;" d="M1024 2048q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5t-81 -398.5t-218 -326.5t-326.5 -218t-398.5 -81q-147 0 -290 42q74 116 103 219l72 282q28 -53 99 -90.5t151 -37.5q162 0 288.5 91.5t195.5 251t69 359.5q0 114 -47 220t-130 187.5t-206.5 130.5t-265.5 49 q-141 0 -262 -38.5t-205.5 -103t-145.5 -147.5t-89.5 -172.5t-28.5 -178.5q0 -138 53 -243.5t156 -147.5q18 -8 32.5 -1t18.5 26q2 9 10 41t11 41q5 19 2.5 30t-16.5 28q-68 78 -68 200q0 97 35.5 186t99.5 156.5t160 108t209 40.5q201 0 313.5 -109.5t112.5 -283.5 q0 -148 -40 -271.5t-115 -198t-169 -74.5q-82 0 -131.5 58.5t-30.5 138.5q11 46 35.5 125t39.5 138t15 101q0 66 -35.5 109.5t-102.5 43.5q-82 0 -139.5 -76t-57.5 -189q0 -43 8 -83.5t16 -59.5l9 -19q-113 -475 -132 -558q-24 -97 -18 -235q-275 120 -444 374t-169 564 q0 208 81 398t218.5 327t327 218t397.5 81z" />
<glyph unicode="&#xf211;" d="M992 1024q0 172 -122 294t-294 122t-294 -122t-122 -294t122 -294t294 -122t294 122t122 294zM1888 1024q0 172 -122 294t-294 122t-294 -122t-122 -294t122 -294t294 -122t294 122t122 294z" />
<glyph unicode="&#xf212;" d="M1919 1437q16 347 -260 355q-373 12 -505 -417q69 29 133 29q136 0 120 -152q-8 -92 -120 -268q-113 -176 -169 -176q-73 0 -133 271q-20 79 -72 407q-49 303 -258 284q-89 -8 -265 -160q-127 -113 -262 -231l84 -108q121 84 141 84q92 0 173 -287l144 -525 q108 -287 265 -287q253 0 619 471q353 451 365 710z" />
<glyph unicode="&#xf213;" d="M512 1664h1024q159 0 271.5 -112.5t112.5 -271.5v-512q0 -159 -112.5 -271.5t-271.5 -112.5h-1024q-159 0 -271.5 112.5t-112.5 271.5v512q0 159 112.5 271.5t271.5 112.5zM1408 1024l-640 384v-768z" />
<glyph unicode="&#xf214;" d="M1091 1920h-255q-17 -139 -62 -228q-48 -93 -121 -154q-74 -64 -181 -99v-253h198v-629q0 -121 26 -187q26 -65 92 -122t161 -89q93 -31 218 -31q110 0 201 22q88 20 208 76v282q-134 -88 -271 -88q-76 0 -136 36q-44 25 -61 70q-17 46 -17 200v460h426v281h-426v453z " />
<glyph unicode="&#xf215;" d="M384 1920h1280q106 0 181 -75t75 -181v-1280q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181v1280q0 106 75 181t181 75zM1792 1536v128q0 53 -37.5 90.5t-90.5 37.5h-128q-53 0 -90.5 -37.5t-37.5 -90.5v-128q0 -53 37.5 -90.5t90.5 -37.5h128q53 0 90.5 37.5 t37.5 90.5zM1024 1408q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM1792 1152h-272q16 -66 16 -128q0 -212 -150 -362t-362 -150t-362 150t-150 362q0 62 16 128h-272v-768q0 -53 37.5 -90.5 t90.5 -37.5h1280q53 0 90.5 37.5t37.5 90.5v768z" />
<glyph unicode="&#xf216;" d="M1061 1779l702 -467q29 -24 29 -55v-467q0 -32 -29 -54l-702 -468q-17 -11 -37 -11q-18 0 -37 11l-702 468q-29 22 -29 54v467q0 31 29 55l702 467q17 11 37 11t37 -11zM441 1257l231 -154l286 191v307zM1090 1294l286 -191l231 154l-517 344v-307zM1258 1024l-234 156 l-233 -156l233 -156zM388 914l165 110l-165 110v-220zM1660 1134l-165 -110l165 -110v220zM958 754l-286 191l-231 -155l517 -344v308zM1607 790l-231 155l-286 -191v-308z" />
<glyph unicode="&#xf217;" d="M1024 1920q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1024 208q236 0 432 123.5t298 327.5q59 136 59 266q0 117 -43.5 221.5t-118.5 182.5t-175.5 131 t-215.5 73q116 -48 204 -145t127 -218q54 -151 17.5 -320t-150.5 -289q-111 -123 -276 -179t-332 -27q-168 27 -307 138t-210 270q-74 156 -67.5 338.5t93.5 335.5q88 155 238.5 260t328.5 135q2 0 35 6q-208 -16 -380.5 -128t-272.5 -293.5t-100 -392.5q0 -221 109.5 -409 t297.5 -297.5t409 -109.5zM1113 1770q-157 7 -306.5 -51.5t-258.5 -169.5q-109 -107 -159 -254.5t-30 -296.5q17 -148 100 -275.5t207 -200.5q120 -71 264 -78.5t267 49.5q-76 -21 -148 -21q-149 0 -275.5 74t-200.5 201t-74 276q0 214 146 373l3 3l14 14l1 1 q98 114 235 178t293 64q163 0 306 -70t241 -193q-36 57 -70 96q-104 126 -250 200.5t-305 80.5zM1415 1006q6 -142 -81 -257q-86 -115 -225 -157q-114 -35 -234 -7q83 -34 174 -34q195 0 333.5 138.5t138.5 333.5v2q-10 107 -63.5 202.5t-137.5 157.5q-102 77 -236 87 t-243 -49q-116 -62 -177 -167q-61 -107 -52 -231q8 -119 85 -217t186 -128q110 -33 221.5 8.5t170.5 134.5q61 91 50 204t-86 187q-70 77 -179.5 87t-188.5 -50q-85 -62 -105 -157q-21 -98 30 -182q50 -84 142 -108q92 -23 172 26q38 23 64 58.5t34 76.5q17 88 -34 159 q-52 72 -136 77q-83 6 -142 -54q-57 -55 -45 -138q6 -37 27.5 -68.5t52.5 -47.5q40 -21 87 -16q-46 1 -82 29t-49 71l-2 3q-14 30 -9.5 67t25.5 66q22 30 56.5 46.5t72.5 14.5t73.5 -23.5t54.5 -55.5q46 -76 8 -158q-18 -39 -53.5 -66.5t-78.5 -35.5q-43 -9 -88.5 3.5 t-78.5 43.5q-74 68 -68 169q2 65 45 118.5t109.5 77t132.5 5.5q68 -16 118.5 -70.5t65 -124.5t-9.5 -144q-37 -107 -150 -158.5t-224 -8.5q-114 43 -170 158q-55 117 -17 238q35 121 152 191t246 47q131 -19 223 -128t95 -246z" />
<glyph unicode="&#xf300;" d="M512 1536h1024q106 0 181 -75t75 -181v-384q0 -106 -75 -181t-181 -75h-448l-448 -448v448h-128q-106 0 -181 75t-75 181v384q0 106 75 181t181 75z" />
<glyph unicode="&#xf301;" d="M1664 1152l-256 -640h-1024v1024h384l64 -128h448v-128h-640l-128 -256h128l64 128h960z" />
<glyph unicode="&#xf302;" d="M1536 1536v-512l-768 -768l-512 512l768 768h512zM1280 1152q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
<glyph unicode="&#xf303;" d="M960 1792q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5zM960 512q117 0 223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5 t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5zM1024 1115l298 -298l-90 -91l-336 336v474h128v-421z" />
<glyph unicode="&#xf304;" d="M1024 1152q-106 0 -181 75t-75 181t75 181t181 75t181 -75t75 -181t-75 -181t-181 -75zM896 1024h256q159 0 271.5 -112.5t112.5 -271.5v-256h-1024v256q0 159 112.5 271.5t271.5 112.5z" />
<glyph unicode="&#xf305;" d="M1664 1664v-1280h-1408v1280h256v128h128v-128h640v128h128v-128h256zM1536 640v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5zM832 1280h128q26 0 45 -19t19 -45v-512 q0 -26 -19 -45t-45 -19t-45 19t-19 45v448h-64q-26 0 -45 19t-19 45t19 45t45 19z" />
<glyph unicode="&#xf306;" d="M1664 1664v-1280h-1408v1280h256v128h128v-128h640v128h128v-128h256zM1536 640v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5zM1088 1280h2h1h3q22 -2 38.5 -18t19.5 -39v-2v-2 v-1v-2q0 -5 -2 -15l-128 -512q-6 -26 -28.5 -40t-48.5 -7q-26 6 -40 28.5t-7 48.5l108 433h-174q-26 0 -45 19t-19 45t19 45t45 19h256z" />
<glyph unicode="&#xf307;" d="M1664 1664v-1280h-1408v1280h256v128h128v-128h640v128h128v-128h256zM1536 640v640q0 53 -37.5 90.5t-90.5 37.5h-896q-53 0 -90.5 -37.5t-37.5 -90.5v-640q0 -53 37.5 -90.5t90.5 -37.5h896q53 0 90.5 37.5t37.5 90.5zM768 1280h128v-128h-128v128zM1024 1280h128v-128 h-128v128zM1280 1280h128v-128h-128v128zM512 1024h128v-128h-128v128zM768 1024h128v-128h-128v128zM1024 1024h128v-128h-128v128zM1280 1024h128v-128h-128v128zM512 768h128v-128h-128v128zM768 768h128v-128h-128v128zM1024 768h128v-128h-128v128z" />
<glyph unicode="&#xf308;" d="M1920 1408v-128h-256l-320 -320v-384h-128l-640 640v128h384l320 320v256h128zM896 768l-512 -512l-128 128l512 512z" />
<glyph unicode="&#xf400;" d="M1792 384l-128 -128l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337zM832 768q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5 q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
<glyph unicode="&#xf401;" d="M1792 384l-128 -128l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337zM832 768q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5 q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM512 1280h640v-128h-640v128z" />
<glyph unicode="&#xf402;" d="M1664 256l-495 495q-153 -111 -337 -111q-117 0 -223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5q0 -184 -111 -337l495 -495zM384 1216q0 -185 131.5 -316.5t316.5 -131.5 q186 0 317 131.5t131 316.5t-131 316.5t-317 131.5q-185 0 -316.5 -131.5t-131.5 -316.5zM1152 1152h-256v-256h-128v256h-256v128h256v256h128v-256h256v-128z" />
<glyph unicode="&#xf403;" d="M0 1024l506 506q101 103 234.5 160.5t283.5 57.5t283.5 -57.5t233.5 -159.5l507 -507l-506 -507q-101 -103 -234.5 -160t-283.5 -57t-283.5 57.5t-233.5 160.5zM272 1024l370 -371q77 -78 175.5 -119.5t206.5 -41.5t206 41.5t174 118.5l373 372l-371 371 q-158 161 -382 161q-108 0 -206.5 -41t-173.5 -119zM1024 1408q159 0 271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5zM1152 1024q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5 t37.5 -90.5t90.5 -37.5z" />
<glyph unicode="&#xf404;" d="M1382 1653l-143 -143q-103 46 -215 46q-108 0 -206.5 -41t-173.5 -119l-372 -372l240 -240l-136 -136l-376 376l506 506q101 103 234.5 160.5t283.5 57.5q193 0 358 -95zM1709 1619l-90 90l-1280 -1280l90 -90zM1122 1394l-468 -468q-14 54 -14 98q0 159 112.5 271.5 t271.5 112.5q44 0 98 -14zM2048 1024l-506 -507q-101 -103 -234.5 -160t-283.5 -57q-193 0 -358 95l143 143q103 -46 215 -46q108 0 206 41.5t174 118.5l373 372l-241 241l136 135zM926 654l468 468q14 -54 14 -98q0 -159 -112.5 -271.5t-271.5 -112.5q-44 0 -98 14z" />
<glyph unicode="&#xf405;" d="M1216 1088l320 -320l-128 -128l-320 320l-320 -320l-128 128l320 320l-320 320l128 128l320 -320l320 320l128 -128z" />
<glyph unicode="&#xf406;" d="M1216 1088l832 -832l-128 -128l-832 832l-832 -832l-128 128l832 832l-832 832l128 128l832 -832l832 832l128 -128z" />
<glyph unicode="&#xf407;" d="M1536 1408v-128h-1152v128l256 128q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM832 1408h256q26 0 45 19t19 45t-19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19zM1408 1216v-704q0 -53 -37.5 -90.5t-90.5 -37.5h-640q-53 0 -90.5 37.5 t-37.5 90.5v704h128v-704h128v704h128v-704h128v704h128v-704h128v704h128z" />
<glyph unicode="&#xf408;" d="M844 1150l-588 1l476 -330l-183 -535l475 332l475 -332l-183 535l476 330l-587 -1l-181 535z" />
<glyph unicode="&#xf409;" d="M1664 1024l-128 -128l-512 512l-512 -512l-128 128l640 640zM1024 1280l384 -384v-384h-256v384h-256v-384h-256v384z" />
<glyph unicode="&#xf410;" d="M256 1485v51h1536v-51l-768 -512zM256 717v614l461 -307zM1792 717l-461 307l461 307v-614zM1792 563v-51h-1536v51l576 384l192 -128l192 128z" />
<glyph unicode="&#xf411;" d="M1728 1280l-896 -896h-448v448l896 896zM685 941l96 -96l595 595l-96 96zM1440 1376l-595 -595l96 -96l595 595zM896 640l-256 256l-128 -128l256 -256z" />
<glyph unicode="&#xf412;" d="M1280 192v448h-1024v704l384 384v-704h640v448l640 -640z" />
<glyph unicode="&#xf413;" d="M256 1536v256q209 0 408 -55t367.5 -154t310.5 -241t241 -310.5t154 -367.5t55 -408h-256q0 260 -101.5 497t-273 408.5t-408.5 273t-497 101.5zM256 1024v256q209 0 398.5 -81t326.5 -218t218 -326.5t81 -398.5h-256q0 209 -103 385.5t-279.5 279.5t-385.5 103zM640 448 q0 80 -56 136t-136 56t-136 -56t-56 -136t56 -136t136 -56t136 56t56 136z" />
<glyph unicode="&#xf414;" d="M1237 1711l759 -1237q88 -142 31 -244t-224 -102h-1557q-168 0 -225 102t31 244l760 1237q57 93 134.5 126.5t155 0t135.5 -126.5zM1152 896v384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-384q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 384 q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
<glyph unicode="&#xf415;" d="M128 1024h400q45 0 79.5 27.5t44.5 69.5q33 125 136.5 206t235.5 81q154 0 270 -114q38 -38 90.5 -38t90.5 38q37 38 37 91t-37 90q-88 89 -204.5 139t-246.5 50q-194 0 -353 -106t-234 -278h-309v-256zM1280 1024q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181 t181 -75t181 75t75 181zM1920 1024h-400q-45 0 -79.5 -27.5t-44.5 -69.5q-33 -125 -136.5 -206t-235.5 -81q-156 0 -269 115q-38 37 -91 37t-91 -38q-37 -38 -37 -91t37 -90q89 -89 205 -139t246 -50q194 0 353 106t234 278h309v256z" />
<glyph unicode="&#xf416;" d="M1088 1792q133 0 226.5 -93.5t93.5 -226.5v-640q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5v320h128v-320q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5v640q0 80 -56 136t-136 56t-136 -56t-56 -136v-512q0 -26 19 -45t45 -19t45 19 t19 45v452h128v-452q0 -80 -56 -136t-136 -56t-136 56t-56 136v512q0 133 93.5 226.5t226.5 93.5z" />
<glyph unicode="&#xf417;" d="M1536 1216q0 -117 -44.5 -222.5t-124.5 -185.5l-407 -406l-407 406q-80 80 -124.5 185.5t-44.5 222.5t45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM960 896q133 0 226.5 93.5t93.5 226.5t-93.5 226.5t-226.5 93.5t-226.5 -93.5 t-93.5 -226.5t93.5 -226.5t226.5 -93.5z" />
<glyph unicode="&#xf418;" d="M1536 1408l-512 -768h-128l-288 416l128 128l224 -192l448 512z" />
<glyph unicode="&#xf419;" d="M2048 1792v-256h-2048v256h2048zM0 1152h2048v-256h-2048v256zM0 512h2048v-256h-2048v256z" />
<glyph unicode="&#xf420;" d="M256 1792h640v-640l-232 232q-72 -71 -112 -163.5t-40 -196.5q0 -176 108.5 -313.5t275.5 -180.5v-262q-180 30 -326 137t-230 269.5t-84 349.5q0 155 60 294.5t167 246.5zM1792 1024q0 -155 -60 -294.5t-167 -246.5l227 -227h-640v640l19 -19l213 -213q71 71 111.5 164 t40.5 196q0 176 -108.5 313.5t-275.5 180.5v263q180 -31 326 -137.5t230 -269.5t84 -350z" />
<glyph unicode="&#xf421;" d="M1536 1152v-256h-1152v256h1152z" />
<glyph unicode="&#xf422;" d="M1536 1536v-1024h-1152v1024h1152zM1408 1280h-896v-640h896v640z" />
<glyph unicode="&#xf423;" d="M301 960h403v-384h-128v256h-493l373 671l112 -62zM2048 960v-384h-128v256h-493l373 671l112 -62l-267 -481h403zM1088 1344q87 0 160.5 -43t116.5 -116.5t43 -160.5t-43 -160.5t-116.5 -116.5t-160.5 -43t-160.5 43t-116.5 116.5t-43 160.5t43 160.5t116.5 116.5 t160.5 43zM1088 832q79 0 135.5 56.5t56.5 135.5t-56.5 135.5t-135.5 56.5t-135.5 -56.5t-56.5 -135.5t56.5 -135.5t135.5 -56.5z" />
<glyph unicode="&#xf424;" d="M1792 1408v-768l-384 -384h-768l-384 384v768l384 384h768zM1152 1024v384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-384q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
<glyph unicode="&#xf425;" d="M1536 1664v-1280h-1152v1280h256q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5h256zM1088 1664h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45t-19 45t-45 19zM1408 1536h-128v-128h-640v128h-128v-1024h896v1024zM704 1280q26 0 45 -19 t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM896 1280h384v-128h-384v128zM704 1024q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM896 1024h384v-128h-384v128zM704 768q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19z M896 768h384v-128h-384v128z" />
<glyph unicode="&#xf426;" d="M1641 1024h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-1280q-106 0 -181 75t-75 181t75 181t181 75h7q-7 29 -7 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5t112.5 -271.5q0 -62 -23 -128z" />
<glyph unicode="&#xf427;" d="M1432 1722l286 -286q74 -75 74 -180.5t-74 -180.5l-233 -233q-74 -73 -178.5 -74t-179.5 71l-455 -455h-288v288l455 455l-1 1q-74 74 -74 180t74 181l233 233q75 74 181 74t180 -74zM1504 1264l-256 256l-160 -160l256 -256z" />
<glyph unicode="&#xf428;" d="M1024 1280q106 0 181 -75t75 -181t-75 -181t-181 -75t-181 75t-75 181t75 181t181 75z" />
<glyph unicode="&#xf429;" d="M1517 960l-493 -493l-87 86l343 343h-896v128h896l-343 343l87 86z" />
<glyph unicode="&#xf430;" d="M531 960l493 -493l87 86l-343 343h896v128h-896l343 343l-87 86z" />
<glyph unicode="&#xf431;" d="M1536 1152l-576 -576l-576 576l128 128l448 -448l448 448z" />
<glyph unicode="&#xf432;" d="M1536 768l-128 -128l-448 448l-448 -448l-128 128l576 576z" />
<glyph unicode="&#xf433;" d="M896 0h-896v896z" />
<glyph unicode="&#xf434;" d="M2048 896v-896h-896z" />
<glyph unicode="&#xf435;" d="M1664 1408v-128h-1280v128h1280zM1024 1152l640 -640h-1280z" />
<glyph unicode="&#xf436;" d="M512 1536h128v-128h-128v128zM768 1536h128v-128h-128v128zM1024 1536h128v-128h-128v128zM1408 1536v-128h-128v128h128zM512 1280h128v-128h-128v128zM768 1280h128v-128h-128v128zM1024 1280h128v-128h-128v128zM1280 1280h128v-128h-128v128zM512 1024h128v-128h-128 v128zM768 1024h128v-128h-128v128zM1024 1024h128v-128h-128v128zM1280 1024h128v-128h-128v128zM512 768h128v-128h-128v128zM768 768h128v-128h-128v128zM1024 768h128v-128h-128v128zM1280 768h128v-128h-128v128z" />
<glyph unicode="&#xf437;" d="M768 1792h512q106 0 181 -75t75 -181v-1024q0 -106 -75 -181t-181 -75h-512q-106 0 -181 75t-75 181v1024q0 106 75 181t181 75zM1408 1536h-768v-768h768v768zM1024 384q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 z" />
<glyph unicode="&#xf438;" d="M768 1792h512q106 0 181 -75t75 -181v-1024q0 -106 -75 -181t-181 -75h-512q-106 0 -181 75t-75 181v384h128v-128h768v768h-768v-128h-128v128q0 106 75 181t181 75zM768 1024h-512v256h512v128l384 -256l-384 -256v128zM1024 384q53 0 90.5 37.5t37.5 90.5t-37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
<glyph unicode="&#xf439;" d="M896 1280h-256v384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5v-384zM1408 1280h-256v384q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5v-384zM384 1152h1280q0 -231 -145.5 -406.5t-366.5 -220.5v-269h-256v269q-221 45 -366.5 220.5t-145.5 406.5z" />
<glyph unicode="&#xf440;" d="M1641 1024h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-384v256h-512v-256h-384q-106 0 -181 75t-75 181t75 181t181 75h6q-6 32 -6 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5t112.5 -271.5q0 -62 -23 -128z M1152 384h256l-384 -384l-384 384h256v256h256v-256z" />
<glyph unicode="&#xf441;" d="M1641 1024h23q106 0 181 -75t75 -181t-75 -181t-181 -75h-512v256h256l-384 384l-384 -384h256v-256h-512q-106 0 -181 75t-75 181t75 181t181 75h6q-6 32 -6 64q0 133 93.5 226.5t226.5 93.5q134 0 228 -96q47 101 140.5 162.5t207.5 61.5q159 0 271.5 -112.5 t112.5 -271.5q0 -62 -23 -128z" />
<glyph unicode="&#xf442;" d="M1664 1664v-640h-128v422l-550 -550l-90 91l550 549h-422v128h640zM1280 896l128 128v-512h-896v896h512l-128 -128h-256v-640h640v256z" />
<glyph unicode="&#xf443;" d="M1536 1280v-896h-1024v1280h640zM1408 1152h-384v384h-384v-1024h768v640zM1152 1280h203l-203 203v-203z" />
<glyph unicode="&#xf444;" d="M1664 640h-64q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5h64v-128h-1024q-106 0 -181 75t-75 181v1024q0 106 75 181t181 75h1024v-1152zM640 384h818q-50 55 -50 128t50 128h-818q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
<glyph unicode="&#xf445;" d="M1888 748l-58 -140l-305 22q-44 -56 -107 -107l22 -305l-139 -58l-201 232q-67 -8 -76 -8q-8 0 -75 8l-201 -232l-139 58l21 305q-56 44 -107 107l-305 -22l-58 139l232 201q-8 67 -8 76q0 8 8 75l-232 201l58 139l305 -21q47 60 107 107l-21 305l139 58l201 -232 q67 8 75 8t75 -8l201 232l140 -58l-22 -305q56 -44 107 -107l305 22l58 -139l-232 -201q8 -67 8 -76q0 -8 -8 -75zM1024 768q106 0 181 75t75 181t-75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75z" />
<glyph unicode="&#xf446;" d="M1024 1792q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1536 1024q0 212 -150 362t-362 150q-136 0 -259 -72l699 -699q72 123 72 259zM512 1024 q0 -212 150 -362t362 -150q135 0 259 72l-699 699q-72 -126 -72 -259z" />
<glyph unicode="&#xf447;" d="M640 896v-128h896v-128h-1024v1024h-256v128h384v-256h1152l-256 -640h-896zM640 512q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5zM1408 512q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5z" />
<glyph unicode="&#xf448;" d="M896 1664v-1280h-384v1280h384zM1536 1664v-1280h-384v1280h384z" />
<glyph unicode="&#xf449;" d="M1536 1536v-1024h-1024v1024h1024z" />
<glyph unicode="&#xf450;" d="M640 1664v-1280h-384v1280h384zM1792 1664v-1280l-1024 640z" />
<glyph unicode="&#xf451;" d="M1280 1024l-1024 -640v1280zM1792 1664v-1280h-384v1280h384z" />
<glyph unicode="&#xf452;" d="M1536 1024l-1024 -640v1280z" />
<glyph unicode="&#xf453;" d="M512 2048h1024q106 0 181 -75t75 -181v-1536q0 -106 -75 -181t-181 -75h-1024q-106 0 -181 75t-75 181v1536q0 106 75 181t181 75zM1536 1792h-1024v-1280h1024v1280zM1024 128q53 0 90.5 37.5t37.5 90.5t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5 t90.5 -37.5z" />
<glyph unicode="&#xf454;" d="M512 2048h1024q106 0 181 -75t75 -181v-1536q0 -106 -75 -181t-181 -75h-1024q-106 0 -181 75t-75 181v640h256v-384h1024v1280h-1024v-384h-256v384q0 106 75 181t181 75zM640 1024h-512v256h512v128l384 -256l-384 -256v128zM1024 128q53 0 90.5 37.5t37.5 90.5 t-37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5z" />
<glyph unicode="&#xf455;" d="M960 1792q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5zM960 512q117 0 223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5 t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5zM960 1440q40 0 68 -28t28 -68t-28 -68t-68 -28t-68 28t-28 68t28 68t68 28zM896 1184h128v-448h-128v448z" />
<glyph unicode="&#xf456;" d="M960 1792q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5zM960 512q117 0 223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5 t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5zM888 1024l-22 414h189l-23 -414h-144zM960 928q40 0 68 -28t28 -68t-28 -68t-68 -28t-68 28t-28 68t28 68t68 28z" />
<glyph unicode="&#xf457;" d="M960 1792q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5t-55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5zM960 512q117 0 223.5 45.5t184 123t123 184t45.5 223.5t-45.5 223.5 t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5zM1142 1404q55 -42 55 -117q0 -52 -24 -91q-25 -38 -79 -74q-43 -27 -58 -43q-11 -12 -11 -33v-22h-135v38q0 42 18 72q16 29 62 58q32 20 51 40 q15 18 15 41q0 19 -16 29q-17 11 -44 11q-65 0 -154 -47l-61 119q110 62 228 62q98 0 153 -43zM960 928q40 0 68 -28t28 -68t-28 -68t-68 -28t-68 28t-28 68t28 68t68 28z" />
<glyph unicode="&#xf458;" d="M896 384v480l-768 -480v1280l768 -480v480l1024 -640z" />
<glyph unicode="&#xf459;" d="M1152 384v480l768 -480v1280l-768 -480v480l-1024 -640z" />
<glyph unicode="&#xf460;" d="M896 1280l-256 -768h-128l-256 768h128l86 256h340zM1792 1280l-256 -768h-768l256 768h128l86 256h340l86 -256h128zM747 1280l-43 128h-128l-43 -128h214zM1515 1280l-43 128h-128l-43 -128h214z" />
<glyph unicode="&#xf500;" d="M128 0l960 960l960 -960h-1920z" />
<glyph unicode="&#xf501;" d="M0 128l960 960l-960 960v-1920z" />
<glyph unicode="&#xf502;" d="M128 2048l960 -960l960 960h-1920z" />
<glyph unicode="&#xf503;" d="M2048 128l-960 960l960 960v-1920z" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long

View File

@@ -1,29 +0,0 @@
<?php
/**
* The template for displaying the footer
*
* Contains footer content and the closing of the #main and #page div elements.
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
?>
</div><!-- #main -->
<footer id="colophon" class="site-footer" role="contentinfo">
<?php get_sidebar( 'footer' ); ?>
<div class="site-info">
<?php do_action( 'twentyfourteen_credits' ); ?>
<a href="<?php echo esc_url( __( 'http://wordpress.org/', 'twentyfourteen' ) ); ?>"><?php printf( __( 'Proudly powered by %s', 'twentyfourteen' ), 'WordPress' ); ?></a>
</div><!-- .site-info -->
</footer><!-- #colophon -->
</div><!-- #page -->
<?php wp_footer(); ?>
</body>
</html>

View File

@@ -1,46 +0,0 @@
<?php
/**
* The template for displaying the home page
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<div class="front-page-content-wrapper">
<?php
if ( twentyfourteen_has_featured_posts() )
get_template_part( 'featured-content' );
?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
get_template_part( 'content', get_post_format() );
comments_template();
endwhile;
twentyfourteen_paging_nav();
else :
get_template_part( 'content', 'none' );
endif;
?>
</div><!-- #content .site-content -->
</div><!-- #primary .content-area -->
<?php get_sidebar( 'content' ); ?>
</div><!-- .front-page-content-wrapper -->
<?php
get_sidebar();
get_footer();

View File

@@ -1,30 +0,0 @@
<?php
/**
* Template Name: Full Width Page
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'content', 'page' );
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() )
comments_template();
endwhile;
?>
</div><!-- #content -->
</div><!-- #primary -->
<?php
get_sidebar();
get_footer();

View File

@@ -1,465 +0,0 @@
<?php
/**
* Twenty Fourteen functions and definitions
*
* Set up the theme and provides some helper functions, which are used in the
* theme as custom template tags. Others are attached to action and filter
* hooks in WordPress to change core functionality.
*
* When using a child theme (see http://codex.wordpress.org/Theme_Development
* and http://codex.wordpress.org/Child_Themes), you can override certain
* functions (those wrapped in a function_exists() call) by defining them first
* in your child theme's functions.php file. The child theme's functions.php
* file is included before the parent theme's file, so the child theme
* functions would be used.
*
* Functions that are not pluggable (not wrapped in function_exists()) are
* instead attached to a filter or action hook.
*
* For more information on hooks, actions, and filters,
* @link http://codex.wordpress.org/Plugin_API
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
/**
* Set up the content width value based on the theme's design.
*
* @link twentyfourteen_content_width()
*
* @since Twenty Fourteen 1.0
*/
if ( ! isset( $content_width ) )
$content_width = 474;
if ( ! function_exists( 'twentyfourteen_setup' ) ) :
/**
* Twenty Fourteen setup.
*
* Set up theme defaults and registers support for various WordPress features.
*
* Note that this function is hooked into the after_setup_theme hook, which
* runs before the init hook. The init hook is too late for some features, such
* as indicating support post thumbnails.
*
* @since Twenty Fourteen 1.0
*/
function twentyfourteen_setup() {
/*
* Make Twenty Fourteen available for translation.
*
* Translations can be added to the /languages/ directory.
* If you're building a theme based on Twenty Fourteen, use a find and
* replace to change 'twentyfourteen' to the name of your theme in all
* template files.
*/
load_theme_textdomain( 'twentyfourteen', get_template_directory() . '/languages' );
// This theme styles the visual editor to resemble the theme style.
add_editor_style( array( 'editor-style.css', twentyfourteen_font_url() ) );
// Add RSS feed links to <head> for posts and comments.
add_theme_support( 'automatic-feed-links' );
// Enable support for Post Thumbnails.
add_theme_support( 'post-thumbnails' );
// Add several sizes for Post Thumbnails.
add_image_size( 'featured-thumbnail-large', 672, 0 );
add_image_size( 'featured-thumbnail-featured', 672, 372, true );
add_image_size( 'featured-thumbnail-formatted', 306, 0 );
// This theme uses wp_nav_menu() in two locations.
register_nav_menus( array(
'primary' => __( 'Top primary menu', 'twentyfourteen' ),
'secondary' => __( 'Secondary menu in left sidebar', 'twentyfourteen' ),
) );
/*
* Switch default core markup for search form, comment form, and comments
* to output valid HTML5.
*/
add_theme_support( 'html5', array(
'search-form', 'comment-form', 'comment-list',
) );
/*
* Enable support for Post Formats.
* See http://codex.wordpress.org/Post_Formats
*/
add_theme_support( 'post-formats', array(
'aside', 'image', 'video', 'quote', 'link', 'gallery',
) );
/*
* This theme allows users to set a custom background.
*/
add_theme_support( 'custom-background', apply_filters( 'twentyfourteen_custom_background_args', array(
'default-color' => 'f5f5f5',
) ) );
/*
* Add support for featured content.
*/
add_theme_support( 'featured-content', array(
'featured_content_filter' => 'twentyfourteen_get_featured_posts',
'max_posts' => 6,
) );
/*
* This theme uses its own gallery styles.
*/
add_filter( 'use_default_gallery_style', '__return_false' );
}
endif; // twentyfourteen_setup
add_action( 'after_setup_theme', 'twentyfourteen_setup' );
/**
* Adjust content_width value for image attachment template.
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function twentyfourteen_content_width() {
if ( is_attachment() && wp_attachment_is_image() )
$GLOBALS['content_width'] = 810;
}
add_action( 'template_redirect', 'twentyfourteen_content_width' );
/**
* Getter function for Featured Content Plugin.
*
* @since Twenty Fourteen 1.0
*
* @return array An array of WP_Post objects.
*/
function twentyfourteen_get_featured_posts() {
return apply_filters( 'twentyfourteen_get_featured_posts', array() );
}
/**
* A helper conditional function that returns a boolean value.
*
* @since Twenty Fourteen 1.0
*
* @return bool Whether there are featured posts.
*/
function twentyfourteen_has_featured_posts() {
return ! is_paged() && (bool) apply_filters( 'twentyfourteen_get_featured_posts', false );
}
/**
* Register two widget areas.
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function twentyfourteen_widgets_init() {
require get_template_directory() . '/inc/widgets.php';
register_widget( 'Twenty_Fourteen_Ephemera_Widget' );
register_sidebar( array(
'name' => __( 'Primary Sidebar', 'twentyfourteen' ),
'id' => 'sidebar-1',
'description' => __( 'Main sidebar that appears on the left.', 'twentyfourteen' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>',
) );
register_sidebar( array(
'name' => __( 'Content Sidebar', 'twentyfourteen' ),
'id' => 'sidebar-2',
'description' => __( 'Additional sidebar that appears on the right.', 'twentyfourteen' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>',
) );
register_sidebar( array(
'name' => __( 'Footer Widget Area', 'twentyfourteen' ),
'id' => 'sidebar-3',
'description' => __( 'Appears in the footer section of the site.', 'twentyfourteen' ),
'before_widget' => '<aside id="%1$s" class="widget %2$s">',
'after_widget' => '</aside>',
'before_title' => '<h1 class="widget-title">',
'after_title' => '</h1>',
) );
}
add_action( 'widgets_init', 'twentyfourteen_widgets_init' );
/**
* Register Lato Google font for Twenty Fourteen.
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function twentyfourteen_font_url() {
$font_url = '';
/*
* Translators: If there are characters in your language that are not supported
* by Lato, translate this to 'off'. Do not translate into your own language.
*/
if ( 'off' !== _x( 'on', 'Lato font: on or off', 'twentyfourteen' ) )
$font_url = add_query_arg( 'family', urlencode( 'Lato:100,300,400,700,900,100italic,300italic,400italic,700italic,900italic' ), "//fonts.googleapis.com/css" );
return $font_url;
}
/**
* Enqueue scripts and styles for front end.
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function twentyfourteen_scripts() {
// Add Lato font, used in the main stylesheet.
wp_enqueue_style( 'twentyfourteen-lato' );
// Add Genericons font, used in the main stylesheet.
wp_enqueue_style( 'genericons', get_template_directory_uri() . '/fonts/genericons.css', array(), '3.0' );
// Loads our main stylesheet.
wp_enqueue_style( 'twentyfourteen-style', get_stylesheet_uri() );
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) )
wp_enqueue_script( 'comment-reply' );
if ( is_singular() && wp_attachment_is_image() )
wp_enqueue_script( 'twentyfourteen-keyboard-image-navigation', get_template_directory_uri() . '/js/keyboard-image-navigation.js', array( 'jquery' ), '20130402' );
if ( is_active_sidebar( 'sidebar-3' ) )
wp_enqueue_script( 'jquery-masonry' );
wp_enqueue_script( 'twentyfourteen-script', get_template_directory_uri() . '/js/functions.js', array( 'jquery' ), '20131011', true );
// Add Lato font used in the main stylesheet.
wp_enqueue_style( 'twentyfourteen-lato', twentyfourteen_font_url(), array(), null );
}
add_action( 'wp_enqueue_scripts', 'twentyfourteen_scripts' );
/**
* Enqueue Google fonts style to admin screen for custom header display.
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function twentyfourteen_admin_fonts() {
wp_enqueue_style( 'twentyfourteen-lato' );
}
add_action( 'admin_print_scripts-appearance_page_custom-header', 'twentyfourteen_admin_fonts' );
if ( ! function_exists( 'twentyfourteen_the_attached_image' ) ) :
/**
* Print the attached image with a link to the next attached image.
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function twentyfourteen_the_attached_image() {
$post = get_post();
$attachment_size = apply_filters( 'twentyfourteen_attachment_size', array( 1200, 1200 ) );
$next_attachment_url = wp_get_attachment_url();
/*
* Grab the IDs of all the image attachments in a gallery so we can get the URL
* of the next adjacent image in a gallery, or the first image (if we're
* looking at the last image in a gallery), or, in a gallery of one, just the
* link to that image file.
*/
$attachment_ids = get_posts( array(
'post_parent' => $post->post_parent,
'fields' => 'ids',
'numberposts' => -1,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'ASC',
'orderby' => 'menu_order ID',
) );
// If there is more than 1 attachment in a gallery...
if ( count( $attachment_ids ) > 1 ) {
foreach ( $attachment_ids as $attachment_id ) {
if ( $attachment_id == $post->ID ) {
$next_id = current( $attachment_ids );
break;
}
}
// get the URL of the next image attachment...
if ( $next_id )
$next_attachment_url = get_attachment_link( $next_id );
// or get the URL of the first image attachment.
else
$next_attachment_url = get_attachment_link( array_shift( $attachment_ids ) );
}
printf( '<a href="%1$s" rel="attachment">%2$s</a>',
esc_url( $next_attachment_url ),
wp_get_attachment_image( $post->ID, $attachment_size )
);
}
endif;
if ( ! function_exists( 'twentyfourteen_list_authors' ) ) :
/**
* Print a list of all site contributors who published at least one post.
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function twentyfourteen_list_authors() {
$contributor_ids = get_users( array(
'fields' => 'ID',
'orderby' => 'post_count',
'who' => 'authors',
) );
foreach ( $contributor_ids as $contributor_id ) :
$post_count = count_user_posts( $contributor_id );
// Move on if user has not published a post (yet).
if ( ! $post_count )
continue;
?>
<div class="contributor">
<div class="contributor-info clear">
<div class="contributor-avatar"><?php echo get_avatar( $contributor_id, 132 ); ?></div>
<div class="contributor-summary">
<h2 class="contributor-name"><?php echo get_the_author_meta( 'display_name', $contributor_id ); ?></h2>
<p class="contributor-bio">
<?php echo get_the_author_meta( 'description', $contributor_id ); ?>
</p>
<a class="contributor-posts-link" href="<?php echo esc_url( get_author_posts_url( $contributor_id ) ); ?>">
<?php printf( _n( '%d Article', '%d Articles', $post_count, 'twentyfourteen' ), $post_count ); ?>
</a>
</div><!-- .contributor-summary -->
</div><!-- .contributor-info -->
</div><!-- .contributor -->
<?php
endforeach;
}
endif;
/**
* Extend the default WordPress body classes.
*
* Adds body classes to denote:
* 1. Single or multiple authors.
* 2. Index views.
* 3. Full-width content layout.
* 4. Presence of footer widgets.
*
* @since Twenty Fourteen 1.0
*
* @param array $classes A list of existing body class values.
* @return array The filtered body class list.
*/
function twentyfourteen_body_classes( $classes ) {
if ( is_multi_author() )
$classes[] = 'group-blog';
if ( get_header_image() )
$classes[] = 'header-image';
else
$classes[] = 'masthead-fixed';
if ( is_archive() || is_search() || is_home() )
$classes[] = 'list-view';
if ( ( ! is_active_sidebar( 'sidebar-2' ) )
|| is_page_template( 'full-width-page.php' )
|| is_page_template( 'contributor-page.php' )
|| is_attachment() )
$classes[] = 'full-width';
if ( is_active_sidebar( 'sidebar-3' ) )
$classes[] = 'footer-widgets';
return $classes;
}
add_filter( 'body_class', 'twentyfourteen_body_classes' );
/**
* Extend the default WordPress post classes.
*
* Adds a post class to denote:
* Non-password protected page with a featured image.
*
* @since Twenty Fourteen 1.0
*
* @param array $classes A list of existing post class values.
* @return array The filtered post class list.
*/
function twentyfourteen_post_classes( $classes ) {
if ( ! post_password_required() && has_post_thumbnail() )
$classes[] = 'has-featured-image';
return $classes;
}
add_filter( 'post_class', 'twentyfourteen_post_classes' );
/**
* Create a nicely formatted and more specific title element text for output
* in head of document, based on current view.
*
* @since Twenty Fourteen 1.0
*
* @param string $title Default title text for current view.
* @param string $sep Optional separator.
* @return string The filtered title.
*/
function twentyfourteen_wp_title( $title, $sep ) {
global $paged, $page;
if ( is_feed() )
return $title;
// Add the site name.
$title .= get_bloginfo( 'name' );
// Add the site description for the home/front page.
$site_description = get_bloginfo( 'description', 'display' );
if ( $site_description && ( is_home() || is_front_page() ) )
$title = "$title $sep $site_description";
// Add a page number if necessary.
if ( $paged >= 2 || $page >= 2 )
$title = "$title $sep " . sprintf( __( 'Page %s', 'twentyfourteen' ), max( $paged, $page ) );
return $title;
}
add_filter( 'wp_title', 'twentyfourteen_wp_title', 10, 2 );
// Implement Custom Header features.
require get_template_directory() . '/inc/custom-header.php';
// Custom template tags for this theme.
require get_template_directory() . '/inc/template-tags.php';
// Add Theme Customizer functionality.
require get_template_directory() . '/inc/customizer.php';
/*
* Add Featured Content functionality.
*
* To overwrite in a plugin, define your own Featured_Content class on or
* before the 'setup_theme' hook.
*/
if ( ! class_exists( 'Featured_Content' ) && 'plugins.php' !== $GLOBALS['pagenow'] )
require get_template_directory() . '/inc/featured-content.php';

View File

@@ -1,60 +0,0 @@
<?php
/**
* The Header for our theme
*
* Displays all of the <head> section and everything up till <div id="main">
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
?><!DOCTYPE html>
<html <?php language_attributes(); ?> class="no-js">
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>" />
<meta name="viewport" content="width=device-width" />
<title><?php wp_title( '|', true, 'right' ); ?></title>
<link rel="profile" href="http://gmpg.org/xfn/11" />
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
<!--[if lt IE 9]>
<script src="<?php echo get_template_directory_uri(); ?>/js/html5.js" type="text/javascript"></script>
<![endif]-->
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<div id="page" class="hfeed site">
<?php do_action( 'before' ); ?>
<?php if ( get_header_image() ) : ?>
<div id="site-header">
<a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home">
<img src="<?php header_image(); ?>" width="<?php echo get_custom_header()->width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="" />
</a>
</div>
<?php endif; ?>
<header id="masthead" class="site-header" role="banner">
<div class="header-main">
<h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
<div class="search-toggle">
<a href="#search-container" class="screen-reader-text"><?php _e( 'Search', 'twentyfourteen' ); ?></a>
</div>
<nav id="primary-navigation" class="site-navigation primary-navigation" role="navigation">
<h1 class="menu-toggle"><?php _e( 'Primary Menu', 'twentyfourteen' ); ?></h1>
<a class="screen-reader-text skip-link" href="#content"><?php _e( 'Skip to content', 'twentyfourteen' ); ?></a>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
</nav>
</div>
<div id="search-container" class="search-box-wrapper hide">
<div class="search-box clear">
<?php get_search_form(); ?>
</div>
</div>
</header><!-- #masthead -->
<div id="main" class="site-main">

View File

@@ -1,90 +0,0 @@
<?php
/**
* The template for displaying image attachments
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
$metadata = wp_get_attachment_metadata();
get_header();
?>
<section id="primary" class="content-area image-attachment">
<div id="content" class="site-content" role="main">
<?php while ( have_posts() ) : the_post(); ?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<header class="entry-header">
<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
<div class="entry-meta">
<span class="entry-date"><time class="entry-date" datetime="<?php echo esc_attr( get_the_date( 'c' ) ); ?>"><?php echo esc_html( get_the_date() ); ?></time></span>
<span class="full-size-link"><a href="<?php echo wp_get_attachment_url(); ?>"><?php echo $metadata['width']; ?> &times; <?php echo $metadata['height']; ?></a></span>
<span class="parent-post-link"><a href="<?php echo get_permalink( $post->post_parent ); ?>" rel="gallery"><?php echo get_the_title( $post->post_parent ); ?></a></span>
<?php edit_post_link( __( 'Edit', 'twentyfourteen' ), '<span class="edit-link">', '</span>' ); ?>
</div><!-- .entry-meta -->
</header><!-- .entry-header -->
<div class="entry-content">
<div class="entry-attachment">
<div class="attachment">
<?php twentyfourteen_the_attached_image(); ?>
</div><!-- .attachment -->
<?php if ( has_excerpt() ) : ?>
<div class="entry-caption">
<?php the_excerpt(); ?>
</div><!-- .entry-caption -->
<?php endif; ?>
</div><!-- .entry-attachment -->
<?php
the_content();
wp_link_pages( array(
'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentyfourteen' ) . '</span>',
'after' => '</div>',
'link_before' => '<span>',
'link_after' => '</span>',
) );
?>
</div><!-- .entry-content -->
<footer class="entry-meta">
<?php
if ( comments_open() && pings_open() ) : // Comments and trackbacks open
printf( __( '<a class="comment-link" href="#respond">Post a comment</a> or leave a trackback: <a class="trackback-link" href="%s" rel="trackback">Trackback URL</a>.', 'twentyfourteen' ), get_trackback_url() );
elseif ( ! comments_open() && pings_open() ) : // Only trackbacks open
printf( __( 'Comments are closed, but you can leave a trackback: <a class="trackback-link" href="%s" rel="trackback">Trackback URL</a>.', 'twentyfourteen' ), get_trackback_url() );
elseif ( comments_open() && ! pings_open() ) : // Only comments open
_e( 'Trackbacks are closed, but you can <a class="comment-link" href="#respond">post a comment</a>.', 'twentyfourteen' );
elseif ( ! comments_open() && ! pings_open() ) : // Comments and trackbacks closed
_e( 'Both comments and trackbacks are currently closed.', 'twentyfourteen' );
endif;
?>
</footer><!-- .entry-meta -->
</article><!-- #post-## -->
<nav id="image-navigation" class="navigation image-navigation">
<div class="nav-links">
<?php previous_image_link( false, __( '<div class="previous-image">Previous Image</div>', 'twentyfourteen' ) ); ?>
<?php next_image_link( false, __( '<div class="next-image">Next Image</div>', 'twentyfourteen' ) ); ?>
</div><!-- .nav-links -->
</nav><!-- #image-navigation -->
<?php comments_template(); ?>
<?php endwhile; // end of the loop. ?>
</div><!-- #content -->
</section><!-- #primary -->
<?php
get_sidebar();
get_footer();

View File

@@ -1,7 +0,0 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="5px" height="5px" viewBox="0 0 5 5" enable-background="new 0 0 5 5" xml:space="preserve">
<g>
<polygon points="1,0 0,1 0,5 5,0 "/>
<polygon points="5,5 5,1 1,5 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 322 B

View File

@@ -1,7 +0,0 @@
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="5px" height="5px" viewBox="0 0 5 5" enable-background="new 0 0 5 5" xml:space="preserve">
<g>
<polygon fill="#FFFFFF" points="1,0 0,1 0,5 5,0 "/>
<polygon fill="#FFFFFF" points="5,5 5,1 1,5 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 352 B

View File

@@ -1,84 +0,0 @@
<?php
/**
* Implement Custom Header functionality for Twenty Fourteen
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
/**
* Set up the WordPress core custom header settings.
*
* @since Twenty Fourteen 1.0
*
* @uses twentyfourteen_header_style()
* @uses twentyfourteen_admin_header_style()
* @uses twentyfourteen_admin_header_image()
*/
function twentyfourteen_custom_header_setup() {
add_theme_support( 'custom-header', apply_filters( 'twentyfourteen_custom_header_args', array(
'header-text' => false,
'width' => 1260,
'height' => 240,
'flex-height' => true,
'admin-head-callback' => 'twentyfourteen_admin_header_style',
'admin-preview-callback' => 'twentyfourteen_admin_header_image',
) ) );
}
add_action( 'after_setup_theme', 'twentyfourteen_custom_header_setup' );
if ( ! function_exists( 'twentyfourteen_admin_header_style' ) ) :
/**
* Style the header image displayed on the Appearance > Header admin panel.
*
* @link twentyfourteen_custom_header_setup().
*
* @since Twenty Fourteen 1.0
*/
function twentyfourteen_admin_header_style() {
?>
<style type="text/css">
.appearance_page_custom-header #headimg {
background-color: #000;
border: none;
max-width: 1230px;
min-height: 48px;
}
#headimg h1 {
font-family: lato, sans-serif;
font-size: 18px;
line-height: 1.3333333333;
margin: 12px 0 12px 27px;
}
#headimg h1 a {
color: #fff;
text-decoration: none;
}
#headimg img {
vertical-align: middle;
}
</style>
<?php
}
endif; // twentyfourteen_admin_header_style
if ( ! function_exists( 'twentyfourteen_admin_header_image' ) ) :
/**
* Create the custom header image markup displayed on the Appearance > Header admin panel.
*
* @link twentyfourteen_custom_header_setup().
*
* @since Twenty Fourteen 1.0
*/
function twentyfourteen_admin_header_image() {
?>
<div id="headimg">
<?php if ( get_header_image() ) : ?>
<img src="<?php header_image(); ?>" alt="">
<?php endif; ?>
<h1><a id="name" onclick="return false;" href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo( 'name' ); ?></a></h1>
</div>
<?php
}
endif; // twentyfourteen_admin_header_image

View File

@@ -1,212 +0,0 @@
<?php
/**
* Twenty Fourteen Theme Customizer support
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
/**
* Implement Theme Customizer additions and adjustments.
*
* @since Twenty Fourteen 1.0
*
* @param WP_Customize_Manager $wp_customize Theme Customizer object.
*/
function twentyfourteen_customize_register( $wp_customize ) {
// Add postMessage support for site title and description.
$wp_customize->get_setting( 'blogname' )->transport = 'postMessage';
$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
// Add the custom accent color setting and control.
$wp_customize->add_setting( 'accent_color', array(
'default' => '#24890d',
'sanitize_callback' => 'twentyfourteen_generate_accent_colors',
) );
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'accent_color', array(
'label' => __( 'Accent Color', 'twentyfourteen' ),
'section' => 'colors',
'settings' => 'accent_color',
) ) );
}
add_action( 'customize_register', 'twentyfourteen_customize_register' );
/**
* Bind JS handlers to make Theme Customizer preview reload changes asynchronously.
*
* @since Twenty Fourteen 1.0
*/
function twentyfourteen_customize_preview_js() {
wp_enqueue_script( 'twentyfourteen_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '20120827', true );
}
add_action( 'customize_preview_init', 'twentyfourteen_customize_preview_js' );
/**
* Generate two variants of the accent color, return the original, and
* save the others as theme mods.
*
* @since Twenty Fourteen 1.0
*
* @param string $color The original color.
* @return string $color The original color, sanitized.
*/
function twentyfourteen_generate_accent_colors( $color ) {
$color = sanitize_hex_color( $color );
set_theme_mod( 'accent_lighter', twentyfourteen_adjust_color( $color, 29 ) );
set_theme_mod( 'accent_much_lighter', twentyfourteen_adjust_color( $color, 49 ) );
return $color;
}
/**
* Tweak the brightness of a color by adjusting the RGB values by the given interval.
*
* Use positive values of $steps to brighten the color and negative values to darken the color.
* All three RGB values are modified by the specified steps, within the range of 0-255. The hue
* is generally maintained unless the number of steps causes one value to be capped at 0 or 255.
*
* @since Twenty Fourteen 1.0
*
* @param string $color The original color, in 3- or 6-digit hexadecimal form.
* @param int $steps The number of steps to adjust the color by, in RGB units.
* @return string $color The new color, in 6-digit hexadecimal form.
*/
function twentyfourteen_adjust_color( $color, $steps ) {
// Convert shorthand to full hex.
if ( strlen( $color ) == 3 ) {
$color = str_repeat( substr( $color, 1, 1 ), 2 ) . str_repeat( substr( $color, 2, 1 ), 2 ) . str_repeat( substr( $color, 3, 1), 2 );
}
// Convert hex to rgb.
$rgb = array( hexdec( substr( $color, 1, 2 ) ), hexdec( substr( $color, 3, 2 ) ), hexdec( substr( $color, 5, 2 ) ) );
// Adjust color and switch back to hex.
$hex = '#';
foreach ( $rgb as $c ) {
$c += $steps;
if ( $c > 255 )
$c = 255;
elseif ( $c < 0 )
$c = 0;
$hex .= str_pad( dechex( $c ), 2, '0', STR_PAD_LEFT);
}
return $hex;
}
/**
* Output the CSS for the Theme Customizer options.
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function twentyfourteen_customizer_styles() {
$accent_color = get_theme_mod( 'accent_color' );
// Don't do anything if the current color is the default.
if ( '#24890d' === $accent_color )
return;
$accent_lighter = get_theme_mod( 'accent_lighter' );
$accent_much_lighter = get_theme_mod( 'accent_much_lighter' );
$css = '/* Custom accent color. */
a,
.paging-navigation .page-numbers.current,
.content-sidebar .widget_twentyfourteen_ephemera .post-format-archive-link {
color: ' . $accent_color . ';
}
button,
.contributor-posts-link,
input[type="button"],
input[type="reset"],
input[type="submit"],
.search-toggle,
.hentry .mejs-controls .mejs-time-rail .mejs-time-current,
.widget_calendar tbody a {
background-color: ' . $accent_color . ';
}
@media screen and (min-width: 782px) {
.primary-navigation ul ul,
.primary-navigation li:hover > a {
background-color: ' . $accent_color . ';
}
}
::-moz-selection {
background: ' . $accent_color . ';
}
::selection {
background: ' . $accent_color . ';
}
.paging-navigation .page-numbers.current {
border-color: ' . $accent_color . ';
}
/* Generated variant of custom accent color: slightly lighter. */
button:hover,
button:focus,
.contributor-posts-link:hover,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
.search-toggle:hover,
.search-toggle.active,
.search-box,
.primary-navigation ul ul a:hover,
.widget_calendar tbody a:hover {
background-color: ' . $accent_lighter . ';
}
/* Generated variant of custom accent color: much lighter. */
button:active,
.contributor-posts-link:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active,
.page-links a:hover {
background-color: ' . $accent_much_lighter . ';
}
a:hover,
a:focus,
a:active,
.site-navigation .current_page_item > a,
.site-navigation .current_page_ancestor > a,
.site-navigation .current-menu-item > a,
.site-navigation .current-menu-ancestor > a,
.secondary-navigation a:hover,
.entry-title a:hover,
.cat-links a:hover,
.post-navigation a:hover,
.image-navigation a:hover,
.comment-author a:hover,
.comment-list .pingback a:hover,
.comment-list .trackback a:hover,
.comment-metadata a:hover,
.footer-sidebar a:hover,
.primary-sidebar a:hover,
.content-sidebar .widget_twentyfourteen_ephemera .post-format-archive-link:hover,
.featured-content a:hover {
color: ' . $accent_much_lighter . ';
}
.page-links a:hover,
.paging-navigation a:hover {
border-color: ' . $accent_much_lighter . ';
}';
wp_add_inline_style( 'twentyfourteen-style', $css );
}
add_action( 'wp_enqueue_scripts', 'twentyfourteen_customizer_styles' );

View File

@@ -1,448 +0,0 @@
<?php
/**
* Twenty Fourteen Featured Content
*
* This module allows you to define a subset of posts to be
* displayed in the theme's Featured Content area.
*
* For maximum compatibility with different methods of posting
* users will designate a featured post tag to associate posts
* with. Since this tag now has special meaning beyond that of a
* normal tags, users will have the ability to hide it from the
* front-end of their site.
*/
class Featured_Content {
/**
* The maximum number of posts that a Featured Content
* area can contain. We define a default value here but
* themes can override this by defining a "max_posts"
* entry in the second parameter passed in the call to
* add_theme_support( 'featured-content' ).
*
* @see Featured_Content::init()
*/
public static $max_posts = 15;
/**
* Instantiate
*
* All custom functionality will be hooked into the "init" action.
*/
public static function setup() {
add_action( 'init', array( __CLASS__, 'init' ), 30 );
}
/**
* Conditionally hook into WordPress
*
* Theme must declare that they support this module by adding
* add_theme_support( 'featured-content' ); during after_setup_theme.
*
* If no theme support is found there is no need to hook into
* WordPress. We'll just return early instead.
*
* @uses Featured_Content::$max_posts
*/
public static function init() {
$theme_support = get_theme_support( 'featured-content' );
// Return early if theme does not support Featured Content.
if ( ! $theme_support )
return;
/*
* An array of named arguments must be passed as
* the second parameter of add_theme_support().
*/
if ( ! isset( $theme_support[0] ) )
return;
// Return early if "featured_content_filter" has not been defined.
if ( ! isset( $theme_support[0]['featured_content_filter'] ) )
return;
$filter = $theme_support[0]['featured_content_filter'];
// Theme can override the number of max posts.
if ( isset( $theme_support[0]['max_posts'] ) )
self::$max_posts = absint( $theme_support[0]['max_posts'] );
add_filter( $filter, array( __CLASS__, 'get_featured_posts' ) );
add_action( 'admin_init', array( __CLASS__, 'register_setting' ) );
add_action( 'save_post', array( __CLASS__, 'delete_transient' ) );
add_action( 'delete_post_tag', array( __CLASS__, 'delete_post_tag' ) );
add_action( 'pre_get_posts', array( __CLASS__, 'pre_get_posts' ) );
// Hide "featured" tag from the front-end.
if ( self::get_setting( 'hide-tag' ) ) {
add_filter( 'get_terms', array( __CLASS__, 'hide_featured_term' ), 10, 2 );
add_filter( 'get_the_terms', array( __CLASS__, 'hide_the_featured_term' ), 10, 3 );
}
}
/**
* Get featured posts
*
* @uses Featured_Content::get_featured_post_ids()
*
* @return array|bool
*/
public static function get_featured_posts() {
$post_ids = self::get_featured_post_ids();
// User has disabled Featured Content.
if ( false === $post_ids )
return false;
// No need to query if there is are no featured posts.
if ( empty( $post_ids ) )
return array();
$featured_posts = get_posts( array(
'include' => $post_ids,
'posts_per_page' => count( $post_ids )
) );
return $featured_posts;
}
/**
* Get featured post IDs
*
* This function will return the an array containing the
* post IDs of all featured posts.
*
* Sets the "featured_content_ids" transient.
*
* @return array|false Array of post IDs. false if user has disabled this feature.
*/
public static function get_featured_post_ids() {
$settings = self::get_setting();
// Return false if the user has disabled this feature.
$tag = $settings['tag-id'];
if ( empty( $tag ) )
return false;
// Return array of cached results if they exist.
$featured_ids = get_transient( 'featured_content_ids' );
if ( ! empty( $featured_ids ) )
return array_map( 'absint', (array) $featured_ids );
// Query for featured posts.
$featured = get_posts( array(
'numberposts' => $settings['quantity'],
'tax_query' => array(
array(
'field' => 'term_id',
'taxonomy' => 'post_tag',
'terms' => $tag,
),
),
) );
// Return empty array if no Featured Content exists.
if ( ! $featured )
return array();
// Ensure correct format before save/return.
$featured_ids = wp_list_pluck( (array) $featured, 'ID' );
$featured_ids = array_map( 'absint', $featured_ids );
set_transient( 'featured_content_ids', $featured_ids );
return $featured_ids;
}
/**
* Delete transient
*
* Hooks in the "save_post" action.
* @see Featured_Content::validate_settings().
*/
public static function delete_transient() {
delete_transient( 'featured_content_ids' );
}
/**
* Exclude featured posts from the home page blog query
*
* Filter the home page posts, and remove any featured post ID's from it. Hooked
* onto the 'pre_get_posts' action, this changes the parameters of the query
* before it gets any posts.
*
* @uses Featured_Content::get_featured_post_ids();
* @param WP_Query $query
* @return WP_Query Possibly modified WP_query
*/
public static function pre_get_posts( $query = false ) {
// Bail if not home, not a query, not main query.
if ( ! is_home() || ! is_a( $query, 'WP_Query' ) || ! $query->is_main_query() )
return;
$page_on_front = get_option( 'page_on_front' );
// Bail if the blog page is not the front page.
if ( ! empty( $page_on_front ) )
return;
$featured = self::get_featured_post_ids();
// Bail if no featured posts.
if ( ! $featured )
return;
// We need to respect post ids already in the blacklist.
$post__not_in = $query->get( 'post__not_in' );
if ( ! empty( $post__not_in ) ) {
$featured = array_merge( (array) $post__not_in, $featured );
$featured = array_unique( $featured );
}
$query->set( 'post__not_in', $featured );
}
/**
* Reset tag option when the saved tag is deleted
*
* It's important to mention that the transient needs to be deleted, too.
* While it may not be obvious by looking at the function alone, the transient
* is deleted by Featured_Content::validate_settings().
*
* Hooks in the "delete_post_tag" action.
* @see Featured_Content::validate_settings().
*
* @param int $tag_id the term_id of the tag that has been deleted.
* @return void
*/
public static function delete_post_tag( $tag_id ) {
$settings = self::get_setting();
if ( empty( $settings['tag-id'] ) )
return;
if ( $tag_id != $settings['tag-id'] )
return;
$settings['tag-id'] = 0;
$settings = self::validate_settings( $settings );
update_option( 'featured-content', $settings );
}
/**
* Hide featured tag from displaying when global terms are queried from the front-end
*
* Hooks into the "get_terms" filter.
*
* @param array $terms A list of term objects. This is the return value of get_terms().
* @param array $taxonomies An array of taxonomy slugs.
* @return array $terms
*
* @uses Featured_Content::get_setting()
*/
public static function hide_featured_term( $terms, $taxonomies ) {
// This filter is only appropriate on the front-end.
if ( is_admin() )
return $terms;
// We only want to hide the featured tag.
if ( ! in_array( 'post_tag', $taxonomies ) )
return $terms;
// Bail if no terms were returned.
if ( empty( $terms ) )
return $terms;
foreach( $terms as $order => $term ) {
if ( self::get_setting( 'tag-id' ) == $term->term_id && 'post_tag' == $term->taxonomy )
unset( $terms[$order] );
}
return $terms;
}
/**
* Hide featured tag from display when terms associated with a post object are queried from the front-end
*
* Hooks into the "get_the_terms" filter.
*
* @param array $terms A list of term objects. This is the return value of get_the_terms().
* @param int $id The ID field for the post object that terms are associated with.
* @param array $taxonomy An array of taxonomy slugs.
* @return array $terms
*
* @uses Featured_Content::get_setting()
*/
public static function hide_the_featured_term( $terms, $id, $taxonomy ) {
// This filter is only appropriate on the front-end.
if ( is_admin() )
return $terms;
// Make sure we are in the correct taxonomy.
if ( ! 'post_tag' == $taxonomy )
return $terms;
// No terms? Return early!
if ( empty( $terms ) )
return $terms;
foreach( $terms as $order => $term ) {
if ( self::get_setting( 'tag-id' ) == $term->term_id )
unset( $terms[$term->term_id] );
}
return $terms;
}
/**
* Register custom setting on the Settings -> Reading screen
*
* @uses Featured_Content::render_form()
* @uses Featured_Content::validate_settings()
*
* @return void
*/
public static function register_setting() {
add_settings_field( 'featured-content', __( 'Featured content', 'twentyfourteen' ), array( __CLASS__, 'render_form' ), 'reading' );
register_setting( 'reading', 'featured-content', array( __CLASS__, 'validate_settings' ) );
}
/**
* Render the form fields for Settings -> Reading screen
*
* @return void
*/
public static function render_form() {
$settings = self::get_setting();
$tag_name = '';
if ( ! empty( $settings['tag-id'] ) ) {
$tag = get_term( $settings['tag-id'], 'post_tag' );
if ( ! is_wp_error( $tag ) && isset( $tag->name ) )
$tag_name = $tag->name;
}
wp_enqueue_script( 'twentyfourteen-admin', get_template_directory_uri() . '/js/featured-content-admin.js', array( 'jquery', 'suggest' ), '20131016', true );
?>
<div id="featured-content-ui">
<p>
<label for="featured-content-tag-name"><?php echo _e( 'Tag name:', 'twentyfourteen' ); ?></label>
<input type="text" id="featured-content-tag-name" name="featured-content[tag-name]" value="<?php echo esc_attr( $tag_name ); ?>">
<input type="hidden" id="featured-content-tag-id" name="featured-content[tag-id]" value="<?php echo esc_attr( $settings['tag-id'] ); ?>">
</p>
<p>
<label for="featured-content-quantity"><?php _e( 'Number of posts:', 'twentyfourteen' ); ?></label>
<input class="small-text" type="number" step="1" min="1" max="<?php echo esc_attr( self::$max_posts ); ?>" id="featured-content-quantity" name="featured-content[quantity]" value="<?php echo esc_attr( $settings['quantity'] ); ?>">
</p>
<p>
<input type="checkbox" id="featured-content-hide-tag" name="featured-content[hide-tag]" <?php checked( $settings['hide-tag'], 1 ); ?>>
<label for="featured-content-hide-tag"><?php _e( 'Hide tag from displaying in post meta and tag clouds.', 'twentyfourteen' ); ?></label>
</p>
</div>
<?php
}
/**
* Get settings
*
* Get all settings recognized by this module. This function will return
* all settings whether or not they have been stored in the database yet.
* This ensures that all keys are available at all times.
*
* In the event that you only require one setting, you may pass its name
* as the first parameter to the function and only that value will be returned.
*
* @uses Featured_Content::self::sanitize_quantity()
*
* @param string $key The key of a recognized setting.
* @return mixed Array of all settings by default. A single value if passed as first parameter.
*/
public static function get_setting( $key = 'all' ) {
$saved = (array) get_option( 'featured-content' );
$defaults = array(
'hide-tag' => 1,
'quantity' => 6,
'tag-id' => 0,
);
$options = wp_parse_args( $saved, $defaults );
$options = array_intersect_key( $options, $defaults );
$options['quantity'] = self::sanitize_quantity( $options['quantity'] );
if ( 'all' != $key ) {
if ( isset( $options[$key] ) )
return $options[$key];
else
return false;
}
return $options;
}
/**
* Validate settings
*
* Make sure that all user supplied content is in an
* expected format before saving to the database. This
* function will also delete the transient set in
* Featured_Content::get_featured_content().
*
* @uses Featured_Content::self::sanitize_quantity()
* @uses Featured_Content::self::delete_transient()
*
* @param array $input
* @return array $output
*/
public static function validate_settings( $input ) {
$output = array();
if ( isset( $input['tag-id'] ) )
$output['tag-id'] = absint( $input['tag-id'] );
if ( isset( $input['tag-name'] ) && ! empty( $input['tag-name'] ) ) {
$new_tag = wp_create_tag( $input['tag-name'] );
if ( ! is_wp_error( $new_tag ) && isset( $new_tag['term_id'] ) )
$tag = get_term( $new_tag['term_id'], 'post_tag' );
if ( isset( $tag->term_id ) )
$output['tag-id'] = $tag->term_id;
} else {
unset( $output['tag-id'] );
}
if ( isset( $input['quantity'] ) )
$output['quantity'] = self::sanitize_quantity( $input['quantity'] );
$output['hide-tag'] = ( isset( $input['hide-tag'] ) ) ? 1 : 0;
self::delete_transient();
return $output;
}
/**
* Sanitize quantity
*
* @param int $input The value to sanitize.
* @return int A number between 1 and FeaturedContent::$max_posts.
*
* @uses Featured_Content::$max_posts
*/
public static function sanitize_quantity( $input ) {
$quantity = absint( $input );
if ( $quantity > self::$max_posts )
$quantity = self::$max_posts;
else if ( 1 > $quantity )
$quantity = 1;
return $quantity;
}
}
Featured_Content::setup();

View File

@@ -1,189 +0,0 @@
<?php
/**
* Custom template tags for Twenty Fourteen
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
if ( ! function_exists( 'twentyfourteen_paging_nav' ) ) :
/**
* Display navigation to next/previous set of posts when applicable.
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function twentyfourteen_paging_nav() {
// Don't print empty markup if there's only one page.
if ( $GLOBALS['wp_query']->max_num_pages < 2 )
return;
$paged = get_query_var( 'paged' ) ? intval( get_query_var( 'paged' ) ) : 1;
$pagenum_link = html_entity_decode( get_pagenum_link() );
$query_args = array();
$url_parts = explode( '?', $pagenum_link );
if ( isset( $url_parts[1] ) )
wp_parse_str( $url_parts[1], $query_args );
$pagenum_link = remove_query_arg( array_keys( $query_args ), $pagenum_link );
$pagenum_link = trailingslashit( $pagenum_link ) . '%_%';
$format = $GLOBALS['wp_rewrite']->using_index_permalinks() && ! strpos( $pagenum_link, 'index.php' ) ? 'index.php/' : '';
$format .= $GLOBALS['wp_rewrite']->using_permalinks() ? user_trailingslashit( 'page/%#%', 'paged' ) : '?paged=%#%';
$links = paginate_links( array(
'base' => $pagenum_link,
'format' => $format,
'total' => $GLOBALS['wp_query']->max_num_pages,
'current' => $paged,
'mid_size' => 1,
'add_args' => array_map( 'urlencode', $query_args ),
'prev_text' => __( '&larr; Previous', 'twentyfourteen' ),
'next_text' => __( 'Next &rarr;', 'twentyfourteen' ),
) );
if ( $links ) :
?>
<nav class="navigation paging-navigation" role="navigation">
<h1 class="screen-reader-text"><?php _e( 'Posts navigation', 'twentyfourteen' ); ?></h1>
<div class="pagination loop-pagination">
<?php echo $links; ?>
</div><!-- .pagination -->
</nav><!-- .navigation -->
<?php
endif;
}
endif;
if ( ! function_exists( 'twentyfourteen_post_nav' ) ) :
/**
* Display navigation to next/previous post when applicable.
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function twentyfourteen_post_nav() {
// Don't print empty markup if there's nowhere to navigate.
$previous = ( is_attachment() ) ? get_post( get_post()->post_parent ) : get_adjacent_post( false, '', true );
$next = get_adjacent_post( false, '', false );
if ( ! $next && ! $previous )
return;
?>
<nav class="navigation post-navigation" role="navigation">
<h1 class="screen-reader-text"><?php _e( 'Post navigation', 'twentyfourteen' ); ?></h1>
<div class="nav-links">
<?php
if ( is_attachment() ) :
previous_post_link( '%link', __( '<span class="meta-nav">Published In</span>%title', 'twentyfourteen' ) );
else :
previous_post_link( '%link', __( '<span class="meta-nav">Previous Post</span>%title', 'twentyfourteen' ) );
next_post_link( '%link', __( '<span class="meta-nav">Next Post</span>%title', 'twentyfourteen' ) );
endif;
?>
</div><!-- .nav-links -->
</nav><!-- .navigation -->
<?php
}
endif;
if ( ! function_exists( 'twentyfourteen_posted_on' ) ) :
/**
* Print HTML with meta information for the current post-date/time and author.
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function twentyfourteen_posted_on() {
if ( is_sticky() && is_home() && ! is_paged() )
echo '<span class="featured-post">' . __( 'Sticky', 'twentyfourteen' ) . '</span>';
printf( __( '<span class="entry-date"><a href="%1$s" rel="bookmark"><time class="entry-date" datetime="%2$s">%3$s</time></a></span> <span class="byline"><span class="author vcard"><a class="url fn n" href="%4$s" rel="author">%5$s</a></span></span>', 'twentyfourteen' ),
esc_url( get_permalink() ),
esc_attr( get_the_date( 'c' ) ),
esc_html( get_the_date() ),
esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
get_the_author()
);
}
endif;
/**
* Find out if blog has more than one category.
*
* @since Twenty Fourteen 1.0
*
* @return boolean true if blog has more than 1 category
*/
function twentyfourteen_categorized_blog() {
if ( false === ( $all_the_cool_cats = get_transient( 'all_the_cool_cats' ) ) ) {
// Create an array of all the categories that are attached to posts
$all_the_cool_cats = get_categories( array(
'hide_empty' => 1,
) );
// Count the number of categories that are attached to the posts
$all_the_cool_cats = count( $all_the_cool_cats );
set_transient( 'all_the_cool_cats', $all_the_cool_cats );
}
if ( '1' != $all_the_cool_cats ) {
// This blog has more than 1 category so twentyfourteen_categorized_blog should return true
return true;
} else {
// This blog has only 1 category so twentyfourteen_categorized_blog should return false
return false;
}
}
/**
* Flush out the transients used in twentyfourteen_categorized_blog
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function twentyfourteen_category_transient_flusher() {
// Like, beat it. Dig?
delete_transient( 'all_the_cool_cats' );
}
add_action( 'edit_category', 'twentyfourteen_category_transient_flusher' );
add_action( 'save_post', 'twentyfourteen_category_transient_flusher' );
/**
* Displays an optional featured image, with an anchor element
* when on index views, and a div element when on a single view.
*
* @return void
*/
function twentyfourteen_post_thumbnail() {
if ( post_password_required() )
return;
if ( is_singular() ) :
?>
<div class="featured-thumbnail">
<?php the_post_thumbnail( 'featured-thumbnail-large' ); ?>
</div>
<?php else : ?>
<a class="featured-thumbnail" href="<?php the_permalink(); ?>" rel="<?php the_ID(); ?>">
<?php if ( has_post_thumbnail() ) :
the_post_thumbnail( 'featured-thumbnail-large' );
else : ?>
<p class="screen-reader-text"><?php _e( 'No featured image.', 'twentyfourteen' ); ?></p>
<?php endif; ?>
</a>
<?php endif; // End is_singular()
}

View File

@@ -1,262 +0,0 @@
<?php
/**
* Custom Widget for displaying specific post formats
*
* Displays posts from Aside, Quote, Video, Image, Gallery, and Link formats.
*
* @link http://codex.wordpress.org/Widgets_API#Developing_Widgets
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
class Twenty_Fourteen_Ephemera_Widget extends WP_Widget {
/**
* The supported post formats.
*
* @since Twenty Fourteen 1.0
*
* @var array
*/
private $formats = array( 'aside', 'image', 'video', 'quote', 'link', 'gallery' );
/**
* Pluralized post format strings.
*
* @since Twenty Fourteen 1.0
*
* @var array
*/
private $format_strings;
/**
* Constructor.
*
* @since Twenty Fourteen 1.0
*
* @return Twenty_Fourteen_Ephemera_Widget
*/
public function __construct() {
parent::__construct( 'widget_twentyfourteen_ephemera', __( 'Twenty Fourteen Ephemera', 'twentyfourteen' ), array(
'classname' => 'widget_twentyfourteen_ephemera',
'description' => __( 'Use this widget to list your recent Aside, Quote, Video, Image, Gallery, and Link posts', 'twentyfourteen' ),
) );
/*
* @todo http://core.trac.wordpress.org/ticket/23257
*/
$this->format_strings = array(
'aside' => __( 'Asides', 'twentyfourteen' ),
'image' => __( 'Images', 'twentyfourteen' ),
'video' => __( 'Videos', 'twentyfourteen' ),
'quote' => __( 'Quotes', 'twentyfourteen' ),
'link' => __( 'Links', 'twentyfourteen' ),
'gallery' => __( 'Galleries', 'twentyfourteen' ),
);
add_action( 'save_post', array( $this, 'flush_widget_cache' ) );
add_action( 'deleted_post', array( $this, 'flush_widget_cache' ) );
add_action( 'switch_theme', array( $this, 'flush_widget_cache' ) );
}
/**
* Output the HTML for this widget.
*
* @since Twenty Fourteen 1.0
*
* @param array $args An array of standard parameters for widgets in this theme.
* @param array $instance An array of settings for this widget instance.
* @return void Echoes its output.
*/
public function widget( $args, $instance ) {
// If called directly, assign an unique index for caching.
if ( -1 == $this->number ) {
static $num = -1;
$this->_set( --$num );
}
$content = get_transient( $this->id );
if ( false !== $content ) {
echo $content;
return;
}
ob_start();
extract( $args, EXTR_SKIP );
$format = $instance['format'];
$number = empty( $instance['number'] ) ? 2 : absint( $instance['number'] );
$title = apply_filters( 'widget_title', empty( $instance['title'] ) ? $this->format_strings[ $format ] : $instance['title'], $instance, $this->id_base );
$ephemera = new WP_Query( array(
'order' => 'DESC',
'posts_per_page' => $number,
'no_found_rows' => true,
'post_status' => 'publish',
'post__not_in' => get_option( 'sticky_posts' ),
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'terms' => array( "post-format-$format" ),
'field' => 'slug',
'operator' => 'IN',
),
),
) );
if ( $ephemera->have_posts() ) :
$tmp_content_width = $GLOBALS['content_width'];
$GLOBALS['content_width'] = 306;
echo $before_widget;
?>
<h1 class="widget-title <?php echo esc_attr( $format ); ?>">
<a class="entry-format" href="<?php echo esc_url( get_post_format_link( $format ) ); ?>"><?php echo $title; ?></a>
</h1>
<ol>
<?php while ( $ephemera->have_posts() ) : $ephemera->the_post(); ?>
<li>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<div class="entry-content">
<?php
if ( has_post_format( 'gallery' ) ) :
$images = get_posts( array(
'post_parent' => get_post()->post_parent,
'fields' => 'ids',
'numberposts' => -1,
'post_status' => 'inherit',
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'ASC',
'orderby' => 'menu_order ID'
) );
$total_images = count( $images );
if ( has_post_thumbnail() ) :
$featured_image = get_the_post_thumbnail( get_the_ID(), 'featured-thumbnail-formatted' );
elseif ( $total_images > 0 ) :
$image = array_shift( $images );
$featured_image = wp_get_attachment_image( $image, 'featured-thumbnail-formatted' );
endif;
?>
<a href="<?php the_permalink(); ?>"><?php echo $featured_image; ?></a>
<p class="wp-caption-text">
<?php
printf( _n( 'This gallery contains <a href="%1$s" rel="bookmark">%2$s photo</a>.', 'This gallery contains <a href="%1$s" rel="bookmark">%2$s photos</a>.', $total_images, 'twentyfourteen' ),
esc_url( get_permalink() ),
number_format_i18n( $total_images )
);
?>
</p>
<?php
else :
the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyfourteen' ) );
endif;
?>
</div><!-- .entry-content -->
<header class="entry-header">
<div class="entry-meta">
<?php
if ( ! has_post_format( 'link' ) ) :
the_title( '<h1 class="entry-title"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h1>' );
endif;
printf( __( '<span class="entry-date"><a href="%1$s" rel="bookmark"><time class="entry-date" datetime="%2$s">%3$s</time></a></span> <span class="byline"><span class="author vcard"><a class="url fn n" href="%4$s" rel="author">%5$s</a></span></span>', 'twentyfourteen' ),
esc_url( get_permalink() ),
esc_attr( get_the_date( 'c' ) ),
esc_html( get_the_date() ),
esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
get_the_author()
);
if ( ! post_password_required() && ( comments_open() || get_comments_number() ) ) :
?>
<span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyfourteen' ), __( '1 Comment', 'twentyfourteen' ), __( '% Comments', 'twentyfourteen' ) ); ?></span>
<?php endif; ?>
</div><!-- .entry-meta -->
</header><!-- .entry-header -->
</article><!-- #post-## -->
</li>
<?php endwhile; ?>
</ol>
<a class="post-format-archive-link" href="<?php echo esc_url( get_post_format_link( $format ) ); ?>"><?php printf( __( 'More %s <span class="meta-nav">&rarr;</span>', 'twentyfourteen' ), $this->format_strings[ $format ] ); ?></a>
<?php
echo $after_widget;
// Reset the post globals as this query will have stomped on it.
wp_reset_postdata();
$GLOBALS['content_width'] = $tmp_content_width;
endif; // End check for ephemeral posts.
set_transient( $this->id, ob_get_flush() );
}
/**
* Deal with the settings when they are saved by the admin. Here is where
* any validation should happen.
*
* @since Twenty Fourteen 1.0
*
* @param array $new_instance
* @param array $instance
* @return array
*/
function update( $new_instance, $instance ) {
$instance['title'] = strip_tags( $new_instance['title'] );
$instance['number'] = empty( $new_instance['number'] ) ? 2 : absint( $new_instance['number'] );
if ( in_array( $new_instance['format'], $this->formats ) )
$instance['format'] = $new_instance['format'];
$this->flush_widget_cache();
return $instance;
}
/**
* Delete the transient.
*
* @since Twenty Fourteen 1.0
*
* @return void
*/
function flush_widget_cache() {
delete_transient( $this->id );
}
/**
* Display the form for this widget on the Widgets page of the Admin area.
*
* @since Twenty Fourteen 1.0
*
* @param array $instance
* @return void
*/
function form( $instance ) {
$title = empty( $instance['title'] ) ? '' : esc_attr( $instance['title'] );
$number = empty( $instance['number'] ) ? 2 : absint( $instance['number'] );
$format = isset( $instance['format'] ) && in_array( $instance['format'], $this->formats ) ? $instance['format'] : 'aside';
?>
<p><label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"><?php _e( 'Title:', 'twentyfourteen' ); ?></label>
<input id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" class="widefat" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" /></p>
<p><label for="<?php echo esc_attr( $this->get_field_id( 'number' ) ); ?>"><?php _e( 'Number of posts to show:', 'twentyfourteen' ); ?></label>
<input id="<?php echo esc_attr( $this->get_field_id( 'number' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'number' ) ); ?>" type="text" value="<?php echo esc_attr( $number ); ?>" size="3" /></p>
<p><label for="<?php echo esc_attr( $this->get_field_id( 'format' ) ); ?>"><?php _e( 'Post format to show:', 'twentyfourteen' ); ?></label>
<select id="<?php echo esc_attr( $this->get_field_id( 'format' ) ); ?>" class="widefat" name="<?php echo esc_attr( $this->get_field_name( 'format' ) ); ?>">
<?php foreach ( $this->formats as $slug ) : ?>
<option value="<?php echo esc_attr( $slug ); ?>"<?php selected( $format, $slug ); ?>><?php echo get_post_format_string( $slug ); ?></option>
<?php endforeach; ?>
</select>
<?php
}
}

View File

@@ -1,42 +0,0 @@
<?php
/**
* The main template file
*
* This is the most generic template file in a WordPress theme
* and one of the two required files for a theme (the other being style.css).
* It is used to display a page when nothing more specific matches a query.
* E.g., it puts together the home page when no home.php file exists.
* @link http://codex.wordpress.org/Template_Hierarchy
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
get_template_part( 'content', get_post_format() );
endwhile;
twentyfourteen_paging_nav();
else :
get_template_part( 'content', 'none' );
endif;
?>
</div><!-- #content -->
</div><!-- #primary -->
<?php
get_sidebar( 'content' );
get_sidebar();
get_footer();

View File

@@ -1,19 +0,0 @@
/**
* Theme Customizer enhancements for a better user experience.
*
* Contains handlers to make Theme Customizer preview reload changes asynchronously.
*/
( function( $ ) {
// Site title and description.
wp.customize( 'blogname', function( value ) {
value.bind( function( to ) {
$( '.site-title a' ).text( to );
} );
} );
wp.customize( 'blogdescription', function( value ) {
value.bind( function( to ) {
$( '.site-description' ).text( to );
} );
} );
} )( jQuery );

View File

@@ -1,3 +0,0 @@
jQuery( document ).ready( function( $ ) {
$( '#featured-content-tag-name' ).suggest( ajaxurl + '?action=ajax-tag-search&tax=post_tag', { delay: 500, minchars: 2 } );
} );

View File

@@ -1,101 +0,0 @@
( function( $ ) {
var body = $( 'body' ),
_window = $( window );
/**
* Enables menu toggle for small screens.
*/
( function() {
var nav = $( '#primary-navigation' ), button, menu;
if ( ! nav )
return;
button = nav.find( '.menu-toggle' );
if ( ! button )
return;
// Hide button if menu is missing or empty.
menu = nav.find( '.nav-menu' );
if ( ! menu || ! menu.children().length ) {
button.hide();
return;
}
$( '.menu-toggle' ).on( 'click.twentyfourteen', function() {
nav.toggleClass( 'toggled-on' );
} );
} )();
/**
* Makes "skip to content" link work correctly in IE9 and Chrome for better
* accessibility.
*
* @link http://www.nczonline.net/blog/2013/01/15/fixing-skip-to-content-links/
*/
_window.on( 'hashchange.twentyfourteen', function() {
var element = document.getElementById( location.hash.substring( 1 ) );
if ( element ) {
if ( ! /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) )
element.tabIndex = -1;
element.focus();
};
} );
$( function() {
/**
* Search toggle.
*/
$( '.search-toggle' ).on( 'click.twentyfourteen', function() {
var that = $( this ),
wrapper = $( '.search-box-wrapper' );
that.toggleClass( 'active' );
wrapper.toggleClass( 'hide' );
if ( that.is( '.active' ) )
wrapper.find( '.search-field' ).focus();
} );
/**
* Fixed navbar.
*
* The callback on the scroll event is only added if there is a header
* image and we are not on mobile.
*/
if ( body.is( '.header-image' ) && _window.width() > 781 ) {
var toolbarOffset = body.is( '.admin-bar' ) ? $( '#wpadminbar' ).height() : 0,
mastheadOffset = $( '#masthead' ).offset().top - toolbarOffset;
_window.on( 'scroll.twentyfourteen', function() {
if ( window.scrollY > mastheadOffset )
body.addClass( 'masthead-fixed' );
else
body.removeClass( 'masthead-fixed' );
} );
}
/**
* Focus styles for primary menu.
*/
$( '.primary-navigation' ).find( 'a' ).on( 'focus.twentyfourteen blur.twentyfourteen', function() {
$( this ).parents().toggleClass( 'focus' );
} );
} );
/**
* Arranges footer widgets vertically.
*/
if ( $.isFunction( $.fn.masonry ) ) {
$( '#footer-sidebar' ).masonry( {
itemSelector: '.widget',
columnWidth: function( containerWidth ) {
return containerWidth / 4;
},
gutterWidth: 0,
isResizable: true,
isRTL: $( 'body' ).is( '.rtl' )
} );
}
} )( jQuery );

View File

@@ -1,7 +0,0 @@
/*! HTML5 Shiv v3.6 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */
/* Source: https://github.com/aFarkas/html5shiv */
(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag();
a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x<style>article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}</style>";
c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^<|^(?:a|b|button|code|div|fieldset|form|h1|h2|h3|h4|h5|h6|i|iframe|img|input|label|li|link|ol|option|p|param|q|script|select|span|strong|style|table|tbody|td|textarea|tfoot|th|thead|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="<xyz></xyz>";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");
var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode||"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,
b){a||(a=f);if(g)return a.createDocumentFragment();for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d<h;d++)c.createElement(e[d]);return c}};l.html5=e;q(f)})(this,document);

View File

@@ -1,14 +0,0 @@
jQuery( document ).ready( function( $ ) {
$( document ).keydown( function( e ) {
var url = false;
if ( e.which == 37 ) { // Left arrow key code
url = $( '.previous-image a' ).attr( 'href' );
}
else if ( e.which == 39 ) { // Right arrow key code
url = $( '.entry-attachment a' ).attr( 'href' );
}
if ( url && ( !$( 'textarea, input' ).is( ':focus' ) ) ) {
window.location = url;
}
} );
} );

View File

@@ -1,539 +0,0 @@
# Copyright (C) 2013 the WordPress team
# This file is distributed under the GNU General Public License v2 or later.
msgid ""
msgstr ""
"Project-Id-Version: Twenty Fourteen 0.1\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tags/twentyfourteen\n"
"POT-Creation-Date: 2013-07-28 22:14:19+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2013-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
#: 404.php:16
msgid "Oops! That page can&rsquo;t be found."
msgstr ""
#: 404.php:20
msgid "It looks like nothing was found at this location. Maybe try one of the links below or a search?"
msgstr ""
#: archive.php:22
msgid "Category Archives: %s"
msgstr ""
#: archive.php:25
msgid "Tag Archives: %s"
msgstr ""
#: archive.php:32
msgid "Author Archives: %s"
msgstr ""
#: archive.php:40
msgid "Daily Archives: %s"
msgstr ""
#: archive.php:43
msgid "Monthly Archives: %s"
msgstr ""
#: archive.php:46
msgid "Yearly Archives: %s"
msgstr ""
#: archive.php:49 sidebar.php:36
msgid "Archives"
msgstr ""
#: comments.php:32
msgid "One thought on &ldquo;%2$s&rdquo;"
msgid_plural "%1$s thoughts on &ldquo;%2$s&rdquo;"
msgstr[0] ""
msgstr[1] ""
#: comments.php:39 comments.php:59
msgid "Comment navigation"
msgstr ""
#: comments.php:40 comments.php:60
msgid "&larr; Older Comments"
msgstr ""
#: comments.php:41 comments.php:61
msgid "Newer Comments &rarr;"
msgstr ""
#: comments.php:71
msgid "Comments are closed."
msgstr ""
#: content-featured-post.php:9 content-post-format.php:15
#: content-recent-formatted-post.php:29 content-recent-formatted-post.php:45
#: content.php:10
msgid "Permalink to %s"
msgstr ""
#. translators: used between list items, there is a space after the comma
#: content-featured-post.php:29 content-post-format.php:25
#: content-single.php:25 content.php:20
msgid ", "
msgstr ""
#: content-page.php:19 content-post-format.php:60 content-single.php:59
#: content.php:59 image.php:85
msgid "Pages:"
msgstr ""
#: content-page.php:25 content-post-format.php:52 content-single.php:51
#: content.php:46 image.php:29 inc/template-tags.php:90
#: inc/template-tags.php:118
msgid "Edit"
msgstr ""
#: content-post-format.php:40 content-single.php:41 content.php:33
msgid "All %s posts"
msgstr ""
#: content-post-format.php:49 content-recent-formatted-post.php:50
#: content-single.php:48 content.php:43
msgid "Leave a comment"
msgstr ""
#: content-post-format.php:49 content-recent-formatted-post.php:50
#: content-single.php:48 content.php:43
msgid "1 Comment"
msgstr ""
#: content-post-format.php:49 content-recent-formatted-post.php:50
#: content-single.php:48 content.php:43
msgid "% Comments"
msgstr ""
#: content-post-format.php:57 content-recent-formatted-post.php:36
#: content.php:56
msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: content-recent-formatted-post.php:28
msgid "This gallery contains <a %1$s>%2$s photo</a>."
msgid_plural "This gallery contains <a %1$s>%2$s photos</a>."
msgstr[0] ""
msgstr[1] ""
#: footer.php:19
msgid "http://wordpress.org/"
msgstr ""
#: footer.php:19
msgid "Semantic Personal Publishing Platform"
msgstr ""
#: footer.php:19
msgid "Proudly powered by %s"
msgstr ""
#: functions.php:72
msgid "Top primary menu"
msgstr ""
#: functions.php:73
msgid "Secondary menu in left sidebar"
msgstr ""
#: functions.php:133
msgid "Primary Sidebar"
msgstr ""
#: functions.php:135
msgid "Main sidebar that appears on the left."
msgstr ""
#: functions.php:142
msgid "Content Sidebar"
msgstr ""
#: functions.php:144
msgid "Additional sidebar that appears on the right, on single posts and pages."
msgstr ""
#: functions.php:151
msgid "Footer Widget Area One"
msgstr ""
#: functions.php:159
msgid "Footer Widget Area Two"
msgstr ""
#: functions.php:167
msgid "Footer Widget Area Three"
msgstr ""
#: functions.php:175
msgid "Footer Widget Area Four"
msgstr ""
#: functions.php:183
msgid "Footer Widget Area Five"
msgstr ""
#. translators: If there are characters in your language that are not supported
#. by Lato, translate this to 'off'. Do not translate into your own
#. language.
#: functions.php:200
msgctxt "Lato font: on or off"
msgid "on"
msgstr ""
#: functions.php:262
msgid "Read More <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: functions.php:442
msgid "Page %s"
msgstr ""
#: header.php:77
msgid "Connect"
msgstr ""
#: header.php:82 searchform.php:10 searchform.php:12
msgid "Search"
msgstr ""
#: header.php:87
msgid "Primary Menu"
msgstr ""
#: header.php:88
msgid "Skip to content"
msgstr ""
#: header.php:101 header.php:102
msgid "Email"
msgstr ""
#: header.php:109 header.php:110
msgid "Twitter"
msgstr ""
#: header.php:117 header.php:118
msgid "Facebook"
msgstr ""
#: header.php:125 header.php:126
msgid "Pinterest"
msgstr ""
#: header.php:133 header.php:134
msgid "Google Plus"
msgstr ""
#: header.php:141 header.php:142
msgid "LinkedIn"
msgstr ""
#: header.php:149 header.php:150
msgid "Flickr"
msgstr ""
#: header.php:157 header.php:158
msgid "Github"
msgstr ""
#: header.php:165 header.php:166
msgid "Dribbble"
msgstr ""
#: header.php:173 header.php:174
msgid "Vimeo"
msgstr ""
#: header.php:181 header.php:182
msgid "YouTube"
msgstr ""
#: image.php:95
msgid "<a class=\"comment-link\" href=\"#respond\" title=\"Post a comment\">Post a comment</a> or leave a trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback URL for your post\" rel=\"trackback\">Trackback URL</a>."
msgstr ""
#: image.php:97
msgid "Comments are closed, but you can leave a trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback URL for your post\" rel=\"trackback\">Trackback URL</a>."
msgstr ""
#: image.php:99
msgid "Trackbacks are closed, but you can <a class=\"comment-link\" href=\"#respond\" title=\"Post a comment\">post a comment</a>."
msgstr ""
#: image.php:101
msgid "Both comments and trackbacks are currently closed."
msgstr ""
#: image.php:107
msgid "<div class=\"previous-image\">Previous Image</div>"
msgstr ""
#: image.php:108
msgid "<div class=\"next-image\">Next Image</div>"
msgstr ""
#: inc/customizer.php:20
msgid "Theme Options"
msgstr ""
#: inc/customizer.php:31
msgid "Email Link"
msgstr ""
#: inc/customizer.php:45
msgid "Twitter Link"
msgstr ""
#: inc/customizer.php:59
msgid "Facebook Link"
msgstr ""
#: inc/customizer.php:73
msgid "Pinterest Link"
msgstr ""
#: inc/customizer.php:87
msgid "Google+ Link"
msgstr ""
#: inc/customizer.php:101
msgid "LinkedIn Link"
msgstr ""
#: inc/customizer.php:115
msgid "Flickr Link"
msgstr ""
#: inc/customizer.php:129
msgid "Github Link"
msgstr ""
#: inc/customizer.php:143
msgid "Dribbble Link"
msgstr ""
#: inc/customizer.php:157
msgid "Vimeo Link"
msgstr ""
#: inc/customizer.php:171
msgid "YouTube Link"
msgstr ""
#: inc/template-tags.php:38
msgid "Post navigation"
msgstr ""
#: inc/template-tags.php:42
msgid "<div class=\"nav-previous\"><span class=\"meta-nav\">Previous Post</span>%title</div>"
msgstr ""
#: inc/template-tags.php:43
msgid "<div class=\"nav-next\"><span class=\"meta-nav\">Next Post</span>%title</div>"
msgstr ""
#: inc/template-tags.php:61
msgid "&larr; Previous"
msgstr ""
#: inc/template-tags.php:62
msgid "Next &rarr;"
msgstr ""
#: inc/template-tags.php:90
msgid "Pingback:"
msgstr ""
#: inc/template-tags.php:100
msgid "%s"
msgstr ""
#: inc/template-tags.php:107
msgid "Your comment is awaiting moderation."
msgstr ""
#. translators: 1: date, 2: time
#: inc/template-tags.php:115
msgid "%1$s at %2$s"
msgstr ""
#: inc/template-tags.php:136
msgid "Sticky"
msgstr ""
#: inc/template-tags.php:138
msgid "<span class=\"entry-date\"><a href=\"%1$s\" title=\"%2$s\" rel=\"bookmark\"><time class=\"entry-date\" datetime=\"%3$s\">%4$s</time></a></span> <span class=\"byline\"><span class=\"author vcard\"><a class=\"url fn n\" href=\"%5$s\" title=\"%6$s\" rel=\"author\">%7$s</a></span></span>"
msgstr ""
#: inc/template-tags.php:144
msgid "View all posts by %s"
msgstr ""
#: no-results.php:14
msgid "Nothing Found"
msgstr ""
#: no-results.php:20
msgid "Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
msgstr ""
#: no-results.php:24
msgid "Sorry, but nothing matched your search terms. Please try again with some different keywords."
msgstr ""
#: no-results.php:29
msgid "It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help."
msgstr ""
#: recent-formatted-posts.php:19
msgid "All Video Posts"
msgstr ""
#: recent-formatted-posts.php:19
msgid "Videos"
msgstr ""
#: recent-formatted-posts.php:26
msgid "More Videos"
msgstr ""
#: recent-formatted-posts.php:26
msgid "More Videos <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: recent-formatted-posts.php:36
msgid "All Image Posts"
msgstr ""
#: recent-formatted-posts.php:36
msgid "Images"
msgstr ""
#: recent-formatted-posts.php:43
msgid "More images"
msgstr ""
#: recent-formatted-posts.php:43
msgid "More images <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: recent-formatted-posts.php:53
msgid "All Gallery Posts"
msgstr ""
#: recent-formatted-posts.php:53
msgid "Galleries"
msgstr ""
#: recent-formatted-posts.php:60
msgid "More Galleries"
msgstr ""
#: recent-formatted-posts.php:60
msgid "More galleries <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: recent-formatted-posts.php:70
msgid "All Aside Posts"
msgstr ""
#: recent-formatted-posts.php:70
msgid "Asides"
msgstr ""
#: recent-formatted-posts.php:77
msgid "More Asides"
msgstr ""
#: recent-formatted-posts.php:77
msgid "More asides <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: recent-formatted-posts.php:87
msgid "All Link Posts"
msgstr ""
#: recent-formatted-posts.php:87
msgid "Links"
msgstr ""
#: recent-formatted-posts.php:94
msgid "More Links"
msgstr ""
#: recent-formatted-posts.php:94
msgid "More links <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: recent-formatted-posts.php:104
msgid "All Quote Posts"
msgstr ""
#: recent-formatted-posts.php:104
msgid "Quotes"
msgstr ""
#: recent-formatted-posts.php:111
msgid "More Quotes"
msgstr ""
#: recent-formatted-posts.php:111
msgid "More quotes <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: search.php:17
msgid "Search Results for: %s"
msgstr ""
#: searchform.php:11
msgid "Search &hellip;"
msgstr ""
#: sidebar-content.php:18
msgid "Blogroll"
msgstr ""
#: sidebar-content.php:25
msgid "Meta"
msgstr ""
#: sidebar.php:29
msgid "Categories"
msgstr ""
#. Theme Name of the plugin/theme
msgid "Twenty Fourteen"
msgstr ""
#. Theme URI of the plugin/theme
msgid "http://wordpress.org/themes/"
msgstr ""
#. Description of the plugin/theme
msgid "The default theme for 2014 is a magazine theme with a sleek, modern, and beautifully crafted responsive design. As a magazine theme it highlights featured content prominently on the home page."
msgstr ""
#. Author of the plugin/theme
msgid "the WordPress team"
msgstr ""
#. Author URI of the plugin/theme
msgid "http://wordpress.org/"
msgstr ""
#. Tags of the plugin/theme
msgid "black, green, white, light, dark, two-columns, three-columns, fixed-width, responsive-width, custom-background, custom-header, custom-menu, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready"
msgstr ""
#. Template Name of the plugin/theme
msgid "Full Width Page"
msgstr ""

View File

@@ -1,37 +0,0 @@
<?php
/**
* The template for displaying all pages
*
* This is the template that displays all pages by default.
* Please note that this is the WordPress construct of pages and that other 'pages'
* on your WordPress site will use a different template.
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'content', 'page' );
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() )
comments_template();
endwhile;
?>
</div><!-- #content -->
</div><!-- #primary -->
<?php
get_sidebar( 'content' );
get_sidebar();
get_footer();

View File

@@ -1,804 +0,0 @@
/*
Theme Name: Twenty Fourteen
*/
body {
direction: rtl;
unicode-bidi: embed;
}
/* =Reset
----------------------------------------------- */
caption, th, td {
text-align: right;
}
/* =Global
----------------------------------------------- */
/* Text elements */
ul, ol {
margin: 0 22px 24px 0;
}
li > ul,
li > ol {
margin-right: 20px;
margin-left: auto;
}
.site-content blockquote.alignright {
margin: 7px 0 7px 24px;
}
.site-content blockquote.alignleft {
margin: 7px 24px 7px 0;
}
/* Alignment */
.alignright {
float: right;
margin-left: 24px;
margin-right: auto;
}
.alignleft {
float: left;
margin-right: 24px;
margin-left: auto;
}
.screen-reader-text:focus {
left: auto;
right: 5px;
}
/* =Header
----------------------------------------------- */
.search-toggle {
float: left;
margin-left: 38px;
margin-right: auto;
}
.site-title {
float: right;
}
.menu-toggle {
left: 0;
right: auto;
}
.search-toggle {
float: right;
padding: 25px 0 0 10px;
}
.search-box .search-field {
float: left;
}
/* =Menu
----------------------------------------------- */
/* Primary Navigation */
.primary-navigation ul {
padding-right: 0;
padding-left: 0;
}
.primary-navigation ul ul li {
margin-left: auto;
margin-right: 15px;
}
.primary-navigation ul ul {
right: -999em;
left: auto;
}
.primary-navigation ul ul ul {
right: -999em;
left: auto;
}
.primary-navigation ul li:hover > ul,
.primary-navigation ul li.focus > ul {
right: auto;
}
.primary-navigation ul ul li:hover > ul,
.primary-navigation ul ul li.focus > ul {
left: auto;
right: 100%;
}
/* Secondary Navigation */
.secondary-navigation ul ul {
margin: 0 20px 0 0;
}
/* Mobile Navigations */
.mobile-navigation ul ul li {
margin-right: 15px;
margin-left: auto;
}
/* =Content
----------------------------------------------- */
.entry-content th,
.comment-content th {
border-left: 1px solid rgba(0, 0, 0, 0.1);
border-right: none;
}
.entry-content td,
.comment-content td {
border-left: 1px solid rgba(0, 0, 0, 0.1);
border-right: none;
}
.more-link .meta-nav,
..post-format-archive-link .meta-nav {
right: 0;
left: auto;
}
.more-link:hover .meta-nav,
..post-format-archive-link:hover .meta-nav {
right: 5px;
left: auto;
}
.page-links a,
.page-links > span {
margin-left: 1px;
margin-right: auto;
}
.page-links > span.page-links-title {
padding-right: 0;
padding-left: 0;
}
.tag-links a {
margin: 0 10px 4px 4px;
}
.tag-links a:before {
border-left: 10px solid #8c8c8c;
right: -10px;
left: auto;
border-right: none;
}
.tag-links a:hover:before,
.tag-links a:focus:before {
border-left-color: #2b2b2b;
}
.tag-links a:after {
right: -2px;
left: auto;
}
/* =Post Formatted posts column
----------------------------------------------- */
.widget_twentyfourteen_ephemera .widget-title:before {
margin-left: 10px;
margin-right: auto;
}
/* =Media
----------------------------------------------- */
img.alignright,
.wp-caption.alignright,
blockquote.alignright {
margin: 7px 0 7px 24px;
}
img.alignleft,
.wp-caption.alignleft,
blockquote.alignleft {
margin: 7px 24px 7px 0;
}
.wp-caption-text {
padding: 0 0 0 10px;
text-align: right;
}
/* =Navigation
----------------------------------------------- */
.paging-navigation .page-numbers {
margin-left: 5px;
margin-right: auto;
}
.post-navigation [rel="prev"],
.post-navigation [rel="next"],
.image-navigation .previous-image,
.image-navigation .next-image {
text-align: right;
}
.comment-navigation {
padding-right: 10px;
padding-left: 0;
}
.comment-navigation .nav-previous a {
margin-left: 10px;
margin-right: auto;
}
/* =Comments
----------------------------------------------- */
.comment-author {
padding-right: 36px;
padding-left: 0;
}
.comment-author .avatar {
right: 0;
left: auto;
}
.comment-metadata,
.comment-content {
padding-right: 36px;
padding-left: 0;
}
.comment-content ul,
.comment-content ol {
margin: 0 22px 24px 0;
}
.comment-list .children {
margin-right: 18px;
margin-left: auto;
}
.comment .comment-respond {
margin-right: 36px;
margin-left: auto;
}
.comment-edit-link {
margin-left: 0;
margin-right: 10px;
}
.comment-edit-link:before {
margin: 3px 0 0 2px;
}
.comment-reply-link:before,
.comment-reply-login:before {
margin: 3px 0 0 3px;
}
/* =Widgets
----------------------------------------------- */
.widget li > ul,
.widget li > ol {
margin: 0 10px 0 0;
}
.widget select,
.widget iframe {
margin-right: 1px;
margin-left: auto;
}
/* Caledar widget*/
.widget_calendar caption {
text-align: right;
}
.widget_calendar#prev {
padding-right: 5px;
padding-left: 0;
}
.widget_calendar #next {
border-left: 1px solid rgba(255, 255, 255, 0.2);
padding-left: 5px;
text-align: left;
padding-right: 0;
border-right: none;
}
/* =Content Sidebar
----------------------------------------------- */
.content-sidebar .widget .children,
.content-sidebar .widget .sub-menu {
margin: 0 20px 0 0;
}
.content-sidebar .widget .widgets-multi-column-grid li {
padding: 0 0 6px 8px;
}
/* =Contributor Page
----------------------------------------------- */
.contributor-avatar {
float: right;
margin: 0 0 20px 30px;
}
.contributor-posts-link:before {
margin: -3px -3px -2px 5px;
}
/* =Media Queries
----------------------------------------------- */
/* Mobile list style */
@media screen and (max-width: 400px) {
.list-view .featured-thumbnail img {
float: right;
margin: 0 0 3px 10px;
}
}
@media screen and (min-width: 400px) {
.content-area .featured-post:before,
.content-area .post-format a:before,
.content-area .entry-date a:before,
.content-area .entry-date a:before,
.content-area .byline a:before,
.content-area .comments-link a:before,
.entry-comment .edit-link a:before,
.content-area .full-size-link a:before,
.content-area .parent-post-link a:before {
margin: 0 0 0 2px;
}
.content-area .entry-meta > span {
margin-left: 10px;
margin-right: auto;
}
.content-area .format-video .post-format a:before {
margin: -1px 0 0 2px;
}
.content-area .format-image .post-format a:before {
margin: -1px 0 0 2px;
}
.content-area .format-gallery .post-format a:before {
margin: -1px 0 0 4px;
}
.content-area .featured-post:before {
margin: -1px 0 0 3px;
}
.content-area .entry-date a:before,
.attachment span.entry-date:before {
margin: 0 0 0 1px;
}
.content-area .comments-link a:before {
margin: -1px 0 0 2px;
}
.entry-comment .edit-link a:before {
margin: -1px 0 0 2px;
}
.page .entry-comment .edit-link a:before {
margin: 5px 0 0 2px;
}
}
@media screen and (min-width: 672px) {
.content-area {
float: right;
}
.site-content {
margin: 0 0 0 33.33333333%;
}
.content-sidebar {
float: left;
margin: 0 -30.35714285% 0 0;
padding: 36px 0 24px 10px;
}
.ephemera {
float: left;
margin: 0 -30.35714285% 0 0;
padding: 36px 0 0 10px;
}
.featured-content .hentry {
float: right;
}
}
@media screen and (min-width: 740px) {
.comment-author {
padding-right: 60px;
padding-left: 0;
}
.comment-metadata,
.comment-content {
padding-right: 60px;
padding-left: 0;
}
.comments-title,
.no-comments,
.comment-respond,
.comments-area article,
.comment-list .trackback,
.comment-list .pingback,
.post-navigation [rel="prev"],
.post-navigation [rel="next"] {
padding-left: 9.12778904%;
padding-right: 9.12778904%;
}
.comment-navigation {
padding-right: 9.12778904%;
padding-left: 0;
}
.image-navigation .previous-image,
.image-navigation .next-image,
.full-width .comment-navigation,
.full-width .comments-title,
.full-width .comment-respond,
.full-width .comments-area article,
.full-width .comment-list .trackback,
.full-width .comment-list .pingback {
padding-left: 6.04307432%;
padding-right: 6.04307432%;
}
}
@media screen and (min-width: 782px) {
.header-main {
padding: 0 27px 0 0;
}
.search-toggle {
margin-left: 0;
}
}
@media screen and (min-width: 870px) {
.content-area .entry-header {
margin-left: 8.03571428%;
margin-right: 12.5%;
}
.content-area .entry-content,
.content-area .entry-summary {
margin-left: 8.03571428%;
margin-right: 12.5%;
}
.content-area footer.entry-meta {
margin: 12px 12.5% 24px 8.03571428%;
}
.page .content-area .entry-header,
.error404 .content-area .entry-header {
margin: 0 12.5% 0 8.03571428%;
}
.archive-header,
.page-header {
margin: 0 12.5% 24px 8.03571428%;
}
.comments-title,
.no-comments,
.comment-respond,
.comments-area article,
.comment-list .trackback,
.comment-list .pingback,
.post-navigation [rel="prev"],
.post-navigation [rel="next"] {
padding-left: 12.39493534%;
padding-right: 17.06896551%;
}
.comment-respond {
padding-left: 13.8900862%;
}
.comment-list,
.full-width .comment-list {
margin-right: -70px;
margin-left: auto;
}
.comment-navigation {
padding-right: 17.06896551%;
padding-left: 0;
}
.content-sidebar {
padding-top: 72px;
}
.image-navigation .previous-image,
.image-navigation .next-image,
.full-width .comment-navigation,
.full-width .comments-title,
.full-width .comment-respond,
.full-width .comments-area article,
.full-width .comment-list .trackback,
.full-width .comment-list .pingback {
padding-left: 11.30926724%;
padding-right: 11.30926724%;
}
.site-content blockquote.alignright {
margin-right: -20%;
margin-left: auto;
}
.site-content blockquote.alignleft {
margin-left: -20%;
margin-right: auto;
}
.content-area .no-results .entry-header {
margin-right: 12.5%;
margin-left: 8.03571428%;
}
.content-area .no-results .entry-content {
margin-right: 12.5%;
margin-left: 8.03571428%;
}
}
@media screen and (min-width: 1008px) {
.site:before {
right: 0;
left: auto;
}
.header-main {
padding-right: 27px;
padding-left: 0;
}
.search-box-wrapper {
padding-right: 222px;
padding-left: 0;
}
.site-content {
margin: 0 222px 0 27.31707317%;
}
#secondary {
float: right;
margin: 0 -100% 0 0;
}
.front-page-content-wrapper {
float: right;
}
.site-content {
margin: 0 222px 0 27.31707317%;
}
.content-sidebar,
.ephemera {
margin: 0 -27.31707317% 0 0;
}
.featured-content {
padding-right: 222px;
padding-left: 0;
}
.site-footer {
padding-right: 27px;
padding-left: 0;
}
.secondary-navigation ul ul {
right: 168px;
left: auto;
}
.full-width.site-content {
margin-right: 222px;
margin-left: auto;
}
.comments-title,
.no-comments,
.comment-respond,
.comments-area article,
.comment-list .trackback,
.comment-list .pingback,
.post-navigation [rel="prev"],
.post-navigation [rel="next"] {
padding-left: 9.87001616%;
padding-right: 9.19765166%;
}
.comment-list,
.full-width .comment-list {
margin-right: 0;
margin-left: auto;
}
.comment-navigation {
padding-right: 9.19765166%;
padding-left: 0;
}
.image-navigation .previous-image,
.image-navigation .next-image,
.full-width .comment-navigation,
.full-width .comments-title,
.full-width .comment-respond,
.full-width .comments-area article,
.full-width .comment-list .trackback,
.full-width .comment-list .pingback {
padding-left: 5.882236%;
padding-right: 5.882236%;
}
.site-content blockquote.alignright {
margin-right: 0;
margin-left: auto;
}
.site-content blockquote.alignleft {
margin-left: 0;
margin-right: auto;
}
.site-footer {
padding-left: 0;
padding-right: 0;
}
.site-footer .widget-area {
float: right;
}
}
@media screen and (min-width: 1150px) {
.content-area .entry-header {
margin: -48px 12.5% 0 8.03571428%;
}
.content-area .entry-content,
.content-area .entry-summary {
margin: 0 12.5% 0 8.03571428%;
}
.content-area footer.entry-meta {
margin: 12px 12.5% 24px 8.03571428%;
}
.comments-title,
.no-comments,
.comment-respond,
.comments-area article,
.comment-list .trackback,
.comment-list .pingback,
.post-navigation [rel="prev"],
.post-navigation [rel="next"] {
padding-left: 12.44146986%;
padding-right: 16.77524429%;
}
.comment-respond {
padding-left: 13.73697916%;
}
.comment-list,
.full-width .comment-list {
margin-right: -70px;
margin-left: auto;
}
.comment-navigation {
padding-right: 16.77524429%;
padding-left: 0;
}
.archive-header,
.page-header {
margin: 0 12.5% 24px 8.03571428%;
}
.page .content-area .entry-header,
.error404 .content-area .entry-header {
margin: 0 12.5% 0 8.03571428%;
}
.image-navigation .previous-image,
.image-navigation .next-image,
.full-width .comment-navigation,
.full-width .comments-title,
.full-width .comment-respond,
.full-width .comments-area article,
.full-width .comment-list .trackback,
.full-width .comment-list .pingback {
padding-left: 11.21868265%;
padding-right: 11.21868265%;
}
.content-area .entry-content .wp-caption.alignright .wp-caption-text {
padding-right: 10px;
padding-left: 0;
}
.site-content blockquote.alignright {
margin-right: -20%;
margin-left: auto;
}
.site-content blockquote.alignleft {
margin-left: -20%;
margin-right: auto;
}
}
@media screen and (min-width: 1230px) {
.content-sidebar,
.ephemera {
padding-left: 0;
}
.content-area .full-width .entry-header,
.content-area .full-width .entry-content,
.content-area .full-width footer.entry-meta {
margin: 0 11.21868265% 0 0;
}
.image-navigation .previous-image,
.image-navigation .next-image,
.full-width .comment-navigation,
.full-width .comments-title,
.full-width .comment-respond,
.full-width .comments-area article,
.full-width .comment-list .trackback,
.full-width .comment-list .pingback {
padding-left: 0;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -1,41 +0,0 @@
<?php
/**
* The template for displaying Search Results pages
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<section id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<h1 class="page-title"><?php printf( __( 'Search Results for: %s', 'twentyfourteen' ), get_search_query() ); ?></h1>
</header><!-- .page-header -->
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'content', get_post_format() );
endwhile;
twentyfourteen_paging_nav();
else :
get_template_part( 'content', 'none' );
endif;
?>
</div><!-- #content -->
</section><!-- #primary -->
<?php
get_sidebar( 'content' );
get_sidebar();
get_footer();

View File

@@ -1,16 +0,0 @@
<?php
/**
* The Content Sidebar
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
if ( ! is_active_sidebar( 'sidebar-2' ) )
return;
?>
<div id="content-sidebar" class="content-sidebar widget-area" role="complementary">
<?php do_action( 'before_sidebar' ); ?>
<?php dynamic_sidebar( 'sidebar-2' ); ?>
</div><!-- #content-sidebar -->

View File

@@ -1,18 +0,0 @@
<?php
/**
* The Footer Sidebar
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
if ( ! is_active_sidebar( 'sidebar-3' ) )
return;
?>
<div id="supplementary">
<div id="footer-sidebar" class="footer-sidebar widget-area" role="complementary">
<?php dynamic_sidebar( 'sidebar-3' ); ?>
</div><!-- #footer-sidebar -->
</div><!-- #supplementary -->

View File

@@ -1,34 +0,0 @@
<?php
/**
* The Sidebar containing the main widget area
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
?>
<div id="secondary">
<div id="secondary-top">
<?php
$description = get_bloginfo( 'description' );
if ( ! empty ( $description ) ) :
?>
<h2 class="site-description"><?php echo esc_html( $description ); ?></h2>
<?php endif; ?>
<?php if ( has_nav_menu( 'secondary' ) ) : ?>
<nav role="navigation" class="navigation site-navigation secondary-navigation">
<?php wp_nav_menu( array( 'theme_location' => 'secondary' ) ); ?>
</nav>
<?php endif; ?>
</div><!-- #secondary-top -->
<?php if ( is_active_sidebar( 'sidebar-1' ) ) : ?>
<div id="primary-sidebar" class="primary-sidebar widget-area" role="complementary">
<?php
do_action( 'before_sidebar' );
dynamic_sidebar( 'sidebar-1' );
?>
</div><!-- #secondary-bottom -->
<?php endif; ?>
</div><!-- #secondary -->

View File

@@ -1,33 +0,0 @@
<?php
/**
* The Template for displaying all single posts
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'content', get_post_format() );
twentyfourteen_post_nav();
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() )
comments_template();
endwhile;
?>
</div><!-- #content -->
</div><!-- #primary -->
<?php
get_sidebar( 'content' );
get_sidebar();
get_footer();

File diff suppressed because it is too large Load Diff

View File

@@ -1,52 +0,0 @@
<?php
/**
* The template for displaying Tag pages
*
* Used to display archive-type pages for posts in a tag.
*
* @link http://codex.wordpress.org/Template_Hierarchy
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<section id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php if ( have_posts() ) : ?>
<header class="archive-header">
<h1 class="archive-title"><?php single_tag_title();; ?></h1>
<?php
// Show an optional term description.
$term_description = term_description();
if ( ! empty( $term_description ) ) :
printf( '<div class="taxonomy-description">%s</div>', $term_description );
endif;
?>
</header><!-- .archive-header -->
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'content', get_post_format() );
endwhile;
twentyfourteen_paging_nav();
else :
get_template_part( 'content', 'none' );
endif;
?>
</div><!-- #content -->
</section><!-- #primary -->
<?php
get_sidebar( 'content' );
get_sidebar();
get_footer();

View File

@@ -1,71 +0,0 @@
<?php
/**
* The template for displaying Post Format pages
*
* Used to display archive-type pages for posts with a post format.
* If you'd like to further customize these Post Format views, you may create a
* new template file for each specific one.
*
* @link http://codex.wordpress.org/Template_Hierarchy
*
* @package WordPress
* @subpackage Twenty_Fourteen
* @since Twenty Fourteen 1.0
*/
get_header(); ?>
<section id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<?php if ( have_posts() ) : ?>
<header class="archive-header">
<h1 class="archive-title">
<?php
if ( is_tax( 'post_format', 'post-format-aside' ) ) :
_e( 'Asides', 'twentyfourteen' );
elseif ( is_tax( 'post_format', 'post-format-image' ) ) :
_e( 'Images', 'twentyfourteen');
elseif ( is_tax( 'post_format', 'post-format-video' ) ) :
_e( 'Videos', 'twentyfourteen' );
elseif ( is_tax( 'post_format', 'post-format-quote' ) ) :
_e( 'Quotes', 'twentyfourteen' );
elseif ( is_tax( 'post_format', 'post-format-link' ) ) :
_e( 'Links', 'twentyfourteen' );
elseif ( is_tax( 'post_format', 'post-format-gallery' ) ) :
_e( 'Galleries', 'twentyfourteen' );
else :
_e( 'Archives', 'twentyfourteen' );
endif;
?>
</h1>
</header><!-- .archive-header -->
<?php
while ( have_posts() ) :
the_post();
get_template_part( 'content', get_post_format() );
endwhile;
twentyfourteen_paging_nav();
else :
get_template_part( 'content', 'none' );
endif;
?>
</div><!-- #content -->
</section><!-- #primary -->
<?php
get_sidebar( 'content' );
get_sidebar();
get_footer();

View File

@@ -1,14 +1,14 @@
# Copyright (C) 2013 the WordPress team
# Copyright (C) 2014 the WordPress team
# This file is distributed under the GNU General Public License v2 or later.
msgid ""
msgstr ""
"Project-Id-Version: Twenty Ten 1.6\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tags/twentyten\n"
"POT-Creation-Date: 2013-08-01 18:14:06+00:00\n"
"POT-Creation-Date: 2014-03-18 19:16:24+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2013-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -22,37 +22,37 @@ msgid ""
"will help."
msgstr ""
#: archive.php:33
#: archive.php:34
msgid "Daily Archives: <span>%s</span>"
msgstr ""
#: archive.php:35
#: archive.php:36
msgid "Monthly Archives: <span>%s</span>"
msgstr ""
#: archive.php:35
#: archive.php:36
msgctxt "monthly archives date format"
msgid "F Y"
msgstr ""
#: archive.php:37
#: archive.php:38
msgid "Yearly Archives: <span>%s</span>"
msgstr ""
#: archive.php:37
#: archive.php:38
msgctxt "yearly archives date format"
msgid "Y"
msgstr ""
#: archive.php:39
#: archive.php:40
msgid "Blog Archives"
msgstr ""
#: author.php:27
#: author.php:28
msgid "Author Archives: %s"
msgstr ""
#: author.php:37 loop-single.php:43
#: author.php:47 loop-single.php:46
msgid "About %s"
msgstr ""
@@ -65,168 +65,168 @@ msgid ""
"This post is password protected. Enter the password to view any comments."
msgstr ""
#: comments.php:35
#: comments.php:36
msgid "One Response to %2$s"
msgid_plural "%1$s Responses to %2$s"
msgstr[0] ""
msgstr[1] ""
#: comments.php:41 comments.php:60
#: comments.php:42 comments.php:62
msgid "<span class=\"meta-nav\">&larr;</span> Older Comments"
msgstr ""
#: comments.php:42 comments.php:61
#: comments.php:43 comments.php:63
msgid "Newer Comments <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: comments.php:70
#: comments.php:73
msgid "Comments are closed."
msgstr ""
#. #-#-#-#-# twentyten.pot (Twenty Ten 1.6) #-#-#-#-#
#. Author URI of the plugin/theme
#: footer.php:33
#: footer.php:40
msgid "http://wordpress.org/"
msgstr ""
#: footer.php:33
#: footer.php:40
msgid "Semantic Personal Publishing Platform"
msgstr ""
#: footer.php:33
#: footer.php:40
msgid "Proudly powered by %s."
msgstr ""
#: functions.php:93
#: functions.php:95
msgid "Primary Navigation"
msgstr ""
#. translators: header image description
#: functions.php:145
#: functions.php:165
msgid "Berries"
msgstr ""
#. translators: header image description
#: functions.php:151
#: functions.php:171
msgid "Cherry Blossoms"
msgstr ""
#. translators: header image description
#: functions.php:157
#: functions.php:177
msgid "Concave"
msgstr ""
#. translators: header image description
#: functions.php:163
#: functions.php:183
msgid "Fern"
msgstr ""
#. translators: header image description
#: functions.php:169
#: functions.php:189
msgid "Forest Floor"
msgstr ""
#. translators: header image description
#: functions.php:175
#: functions.php:195
msgid "Inkwell"
msgstr ""
#. translators: header image description
#: functions.php:181
#: functions.php:201
msgid "Path"
msgstr ""
#. translators: header image description
#: functions.php:187
#: functions.php:207
msgid "Sunset"
msgstr ""
#: functions.php:255 loop-attachment.php:104 loop.php:114 loop.php:142
#: functions.php:280 loop-attachment.php:118 loop.php:116 loop.php:144
msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: functions.php:338
#: functions.php:373
msgid "%s <span class=\"says\">says:</span>"
msgstr ""
#: functions.php:341
#: functions.php:376
msgid "Your comment is awaiting moderation."
msgstr ""
#. translators: 1: date, 2: time
#: functions.php:348
#: functions.php:383
msgid "%1$s at %2$s"
msgstr ""
#: functions.php:348 functions.php:365
#: functions.php:383 functions.php:400
msgid "(Edit)"
msgstr ""
#: functions.php:365
#: functions.php:400
msgid "Pingback:"
msgstr ""
#: functions.php:384
#: functions.php:420
msgid "Primary Widget Area"
msgstr ""
#: functions.php:386
#: functions.php:422
msgid "Add widgets here to appear in your sidebar."
msgstr ""
#: functions.php:395
#: functions.php:431
msgid "Secondary Widget Area"
msgstr ""
#: functions.php:397
#: functions.php:433
msgid ""
"An optional secondary widget area, displays below the primary widget area in "
"your sidebar."
msgstr ""
#: functions.php:406
#: functions.php:442
msgid "First Footer Widget Area"
msgstr ""
#: functions.php:408 functions.php:419 functions.php:430 functions.php:441
#: functions.php:444 functions.php:455 functions.php:466 functions.php:477
msgid "An optional widget area for your site footer."
msgstr ""
#: functions.php:417
#: functions.php:453
msgid "Second Footer Widget Area"
msgstr ""
#: functions.php:428
#: functions.php:464
msgid "Third Footer Widget Area"
msgstr ""
#: functions.php:439
#: functions.php:475
msgid "Fourth Footer Widget Area"
msgstr ""
#: functions.php:475
#: functions.php:511
msgid ""
"<span class=\"%1$s\">Posted on</span> %2$s <span class=\"meta-sep\">by</"
"span> %3$s"
msgstr ""
#: functions.php:484 loop-attachment.php:36
#: functions.php:520 loop-attachment.php:36
msgid "View all posts by %s"
msgstr ""
#: functions.php:501
#: functions.php:537
msgid ""
"This entry was posted in %1$s and tagged %2$s. Bookmark the <a href=\"%3$s\" "
"title=\"Permalink to %4$s\" rel=\"bookmark\">permalink</a>."
msgstr ""
#: functions.php:503
#: functions.php:539
msgid ""
"This entry was posted in %1$s. Bookmark the <a href=\"%3$s\" title="
"\"Permalink to %4$s\" rel=\"bookmark\">permalink</a>."
msgstr ""
#: functions.php:505
#: functions.php:541
msgid ""
"Bookmark the <a href=\"%3$s\" title=\"Permalink to %4$s\" rel=\"bookmark"
"\">permalink</a>."
@@ -236,7 +236,7 @@ msgstr ""
msgid "Page %s"
msgstr ""
#: header.php:101
#: header.php:105
msgid "Skip to content"
msgstr ""
@@ -265,34 +265,34 @@ msgstr ""
msgid "Link to full-size image"
msgstr ""
#: loop-attachment.php:63 loop-attachment.php:111 loop-page.php:30
#: loop-single.php:56 loop.php:99 loop.php:122 loop.php:164
#: loop-attachment.php:63 loop-attachment.php:125 loop-page.php:30
#: loop-single.php:59 loop.php:101 loop.php:124 loop.php:166
msgid "Edit"
msgstr ""
#: loop-attachment.php:105 loop-page.php:29 loop-single.php:34 loop.php:143
#: loop-attachment.php:119 loop-page.php:29 loop-single.php:34 loop.php:145
msgid "Pages:"
msgstr ""
#: loop-single.php:21 loop-single.php:61
#: loop-single.php:21 loop-single.php:64
msgctxt "Previous post link"
msgid "&larr;"
msgstr ""
#: loop-single.php:22 loop-single.php:62
#: loop-single.php:22 loop-single.php:65
msgctxt "Next post link"
msgid "&rarr;"
msgstr ""
#: loop-single.php:47
#: loop-single.php:50
msgid "View all posts by %s <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: loop.php:25 loop.php:177
#: loop.php:25 loop.php:179
msgid "<span class=\"meta-nav\">&larr;</span> Older posts"
msgstr ""
#: loop.php:26 loop.php:178
#: loop.php:26 loop.php:180
msgid "Newer posts <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
@@ -302,55 +302,55 @@ msgid ""
"searching will help find a related post."
msgstr ""
#: loop.php:60 loop.php:94
#: loop.php:62 loop.php:96
msgctxt "gallery category slug"
msgid "gallery"
msgstr ""
#: loop.php:81
#: loop.php:83
msgid "This gallery contains <a %1$s>%2$s photo</a>."
msgid_plural "This gallery contains <a %1$s>%2$s photos</a>."
msgstr[0] ""
msgstr[1] ""
#: loop.php:82
#: loop.php:84
msgid "Permalink to %s"
msgstr ""
#: loop.php:92
#: loop.php:94
msgid "View Galleries"
msgstr ""
#: loop.php:92 loop.php:95
#: loop.php:94 loop.php:97
msgid "More Galleries"
msgstr ""
#: loop.php:95
#: loop.php:97
msgid "View posts in the Gallery category"
msgstr ""
#: loop.php:98 loop.php:121 loop.php:163
#: loop.php:100 loop.php:123 loop.php:165
msgid "Leave a comment"
msgstr ""
#: loop.php:98 loop.php:121 loop.php:163
#: loop.php:100 loop.php:123 loop.php:165
msgid "1 Comment"
msgstr ""
#: loop.php:98 loop.php:121 loop.php:163
#: loop.php:100 loop.php:123 loop.php:165
msgid "% Comments"
msgstr ""
#: loop.php:105
#: loop.php:107
msgctxt "asides category slug"
msgid "asides"
msgstr ""
#: loop.php:150
#: loop.php:152
msgid "<span class=\"%1$s\">Posted in</span> %2$s"
msgstr ""
#: loop.php:159
#: loop.php:161
msgid "<span class=\"%1$s\">Tagged</span> %2$s"
msgstr ""
@@ -358,21 +358,21 @@ msgstr ""
msgid "Search Results for: %s"
msgstr ""
#: search.php:26
#: search.php:27
msgid "Nothing Found"
msgstr ""
#: search.php:28
#: search.php:29
msgid ""
"Sorry, but nothing matched your search criteria. Please try again with some "
"different keywords."
msgstr ""
#: sidebar.php:27
#: sidebar.php:28
msgid "Archives"
msgstr ""
#: sidebar.php:34
#: sidebar.php:35
msgid "Meta"
msgstr ""

View File

@@ -13,7 +13,7 @@ get_header(); ?>
<div id="content" class="site-content" role="main">
<header class="page-header">
<h1 class="page-title"><?php _e( 'Not Found', 'twentythirteen' ); ?></h1>
<h1 class="page-title"><?php _e( 'Not found', 'twentythirteen' ); ?></h1>
</header>
<div class="page-wrapper">

View File

@@ -121,15 +121,13 @@ add_action( 'after_setup_theme', 'twentythirteen_setup' );
function twentythirteen_fonts_url() {
$fonts_url = '';
/*
* Translators: If there are characters in your language that are not
/* Translators: If there are characters in your language that are not
* supported by Source Sans Pro, translate this to 'off'. Do not translate
* into your own language.
*/
$source_sans_pro = _x( 'on', 'Source Sans Pro font: on or off', 'twentythirteen' );
/*
* Translators: If there are characters in your language that are not
/* Translators: If there are characters in your language that are not
* supported by Bitter, translate this to 'off'. Do not translate into your
* own language.
*/

View File

@@ -1,19 +1,19 @@
# Copyright (C) 2013 the WordPress team
# Copyright (C) 2014 the WordPress team
# This file is distributed under the GNU General Public License v2 or later.
msgid ""
msgstr ""
"Project-Id-Version: Twenty Thirteen 1.0\n"
"Project-Id-Version: Twenty Thirteen 1.1\n"
"Report-Msgid-Bugs-To: http://wordpress.org/tags/twentythirteen\n"
"POT-Creation-Date: 2013-08-01 18:14:17+00:00\n"
"POT-Creation-Date: 2014-03-18 19:16:26+00:00\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2013-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: 2014-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
#: 404.php:16 content-none.php:12
msgid "Nothing Found"
#: 404.php:16
msgid "Not found"
msgstr ""
#: 404.php:21
@@ -50,15 +50,15 @@ msgstr ""
msgid "Archives"
msgstr ""
#: author-bio.php:16
#: author-bio.php:26
msgid "About %s"
msgstr ""
#: author-bio.php:20
#: author-bio.php:30
msgid "View all posts by %s <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: author.php:30
#: author.php:31
msgid "All posts by %s"
msgstr ""
@@ -91,39 +91,43 @@ msgstr ""
#: content-aside.php:13 content-audio.php:24 content-gallery.php:24
#: content-image.php:23 content-link.php:24 content-quote.php:13
#: content-status.php:13 content-video.php:23 content.php:39
#: content-status.php:13 content-video.php:23 content.php:41
msgid "Continue reading <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: content-aside.php:14 content-audio.php:25 content-chat.php:24
#: content-gallery.php:25 content-image.php:24 content-link.php:25
#: content-quote.php:14 content-status.php:14 content-video.php:24
#: content.php:40 image.php:70 page.php:35
#: content.php:42 image.php:70 page.php:35
msgid "Pages:"
msgstr ""
#: content-aside.php:20 content-aside.php:28 content-audio.php:31
#: content-chat.php:29 content-gallery.php:39 content-image.php:35
#: content-link.php:19 content-quote.php:25 content-status.php:19
#: content-video.php:35 content.php:29 image.php:44 page.php:39
#: content-video.php:35 content.php:31 image.php:44 page.php:39
msgid "Edit"
msgstr ""
#: content-gallery.php:36 content-image.php:32 content-quote.php:22
#: content-video.php:32 content.php:47
#: content-video.php:32 content.php:49
msgid "Leave a comment"
msgstr ""
#: content-gallery.php:36 content-image.php:32 content-quote.php:22
#: content-video.php:32 content.php:47
#: content-video.php:32 content.php:49
msgid "One comment so far"
msgstr ""
#: content-gallery.php:36 content-image.php:32 content-quote.php:22
#: content-video.php:32 content.php:47
#: content-video.php:32 content.php:49
msgid "View all % comments"
msgstr ""
#: content-none.php:12
msgid "Nothing Found"
msgstr ""
#: content-none.php:18
msgid ""
"Ready to publish your first post? <a href=\"%1$s\">Get started here</a>."
@@ -141,28 +145,28 @@ msgid ""
"searching can help."
msgstr ""
#. #-#-#-#-# twentythirteen.pot (Twenty Thirteen 1.0) #-#-#-#-#
#. #-#-#-#-# twentythirteen.pot (Twenty Thirteen 1.1) #-#-#-#-#
#. Author URI of the plugin/theme
#: footer.php:20
#: footer.php:19
msgid "http://wordpress.org/"
msgstr ""
#: footer.php:20
#: footer.php:19
msgid "Semantic Personal Publishing Platform"
msgstr ""
#: footer.php:20
#: footer.php:19
msgid "Proudly powered by %s"
msgstr ""
#: functions.php:93
#: functions.php:97
msgid "Navigation Menu"
msgstr ""
#. Translators: If there are characters in your language that are not
#. * supported by Source Sans Pro, translate this to 'off'. Do not translate
#. * into your own language.
#: functions.php:124
#: functions.php:128
msgctxt "Source Sans Pro font: on or off"
msgid "on"
msgstr ""
@@ -170,76 +174,76 @@ msgstr ""
#. Translators: If there are characters in your language that are not
#. * supported by Bitter, translate this to 'off'. Do not translate into your
#. * own language.
#: functions.php:130
#: functions.php:134
msgctxt "Bitter font: on or off"
msgid "on"
msgstr ""
#: functions.php:212
#: functions.php:220
msgid "Page %s"
msgstr ""
#: functions.php:227
#: functions.php:235
msgid "Main Widget Area"
msgstr ""
#: functions.php:229
#: functions.php:237
msgid "Appears in the footer section of the site."
msgstr ""
#: functions.php:237
#: functions.php:245
msgid "Secondary Widget Area"
msgstr ""
#: functions.php:239
#: functions.php:247
msgid "Appears on posts and pages in the sidebar."
msgstr ""
#: functions.php:264
#: functions.php:272
msgid "Posts navigation"
msgstr ""
#: functions.php:268
#: functions.php:276
msgid "<span class=\"meta-nav\">&larr;</span> Older posts"
msgstr ""
#: functions.php:272
#: functions.php:280
msgid "Newer posts <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: functions.php:300
#: functions.php:308
msgid "Post navigation"
msgstr ""
#: functions.php:303
#: functions.php:311
msgctxt "Previous post link"
msgid "<span class=\"meta-nav\">&larr;</span> %title"
msgstr ""
#: functions.php:304
#: functions.php:312
msgctxt "Next post link"
msgid "%title <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: functions.php:324
#: functions.php:332
msgid "Sticky"
msgstr ""
#. Translators: used between list items, there is a space after the comma.
#: functions.php:330 functions.php:336
#: functions.php:338 functions.php:344
msgid ", "
msgstr ""
#: functions.php:345
#: functions.php:353
msgid "View all posts by %s"
msgstr ""
#: functions.php:365
#: functions.php:373
msgctxt "1: post format name. 2: date"
msgid "%1$s on %2$s"
msgstr ""
#: functions.php:371
#: functions.php:379
msgid "Permalink to %s"
msgstr ""
@@ -274,23 +278,23 @@ msgstr ""
msgid "Next <span class=\"meta-nav\">&rarr;</span>"
msgstr ""
#: inc/back-compat.php:38 inc/back-compat.php:50 inc/back-compat.php:65
#: inc/back-compat.php:41 inc/back-compat.php:53 inc/back-compat.php:68
msgid ""
"Twenty Thirteen requires at least WordPress version 3.6. You are running "
"version %s. Please upgrade and try again."
msgstr ""
#: inc/custom-header.php:48
#: inc/custom-header.php:51
msgctxt "header image description"
msgid "Circle"
msgstr ""
#: inc/custom-header.php:53
#: inc/custom-header.php:56
msgctxt "header image description"
msgid "Diamond"
msgstr ""
#: inc/custom-header.php:58
#: inc/custom-header.php:61
msgctxt "header image description"
msgid "Star"
msgstr ""

View File

@@ -4,7 +4,7 @@ Theme URI: http://wordpress.org/themes/twentythirteen
Author: the WordPress team
Author URI: http://wordpress.org/
Description: The 2013 theme for WordPress takes us back to the blog, featuring a full range of post formats, each displayed beautifully in their own unique way. Design details abound, starting with a vibrant color scheme and matching header images, beautiful typography and icons, and a flexible layout that looks great on any device, big or small.
Version: 1.0
Version: 1.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: black, brown, orange, tan, white, yellow, light, one-column, two-columns, right-sidebar, flexible-width, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, translation-ready

View File

@@ -95,15 +95,13 @@ require( get_template_directory() . '/inc/custom-header.php' );
function twentytwelve_get_font_url() {
$font_url = '';
/*
* translators: If there are characters in your language that are not supported
/* translators: If there are characters in your language that are not supported
* by Open Sans, translate this to 'off'. Do not translate into your own language.
*/
if ( 'off' !== _x( 'on', 'Open Sans font: on or off', 'twentytwelve' ) ) {
$subsets = 'latin,latin-ext';
/*
* translators: To add an additional Open Sans character subset specific to your language,
/* translators: To add an additional Open Sans character subset specific to your language,
* translate this to 'greek', 'cyrillic' or 'vietnamese'. Do not translate into your own language.
*/
$subset = _x( 'no-subset', 'Open Sans font: add new subset (greek, cyrillic, vietnamese)', 'twentytwelve' );

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