Default Themes: Import Twenty Nineteen from the 5.0 branch.
Merges [43808,43821,43842,43860,43892,43904,43909,43926-43929,43956,43961-43963] from the 5.0 branch to trunk.
Props allancole, karmatosed, kjellr, yingling017, mrasharirfan, milana_cap, fabiankaegy, westonruter, jorbin, netweb, b-07, khleomix, audrasjb, nielslange, mmaumio, richsalvucci, littlebigthing, dimadin, joyously, anevins, peterwilsoncc, dannycooper, iCaleb, siriokun, technosiren, travel_girl, azchughtai, ianbelanger, nadim1992, ismailelkorchi, nativeinside, chetan200891, grapplerulrich, ocean90, joshfeck, frankew, AbdulWahab610, mendezcode, eliorivero, melchoyce, joen, laurelfulford, mdawaffe, kraftbj, dsmart, nao, mayukojpn, enodekciw, ketuchetan, atanasangelovdev, poena, sharaz, artisticasad, mukesh27, burhandodhy, crunnells, aprakasa, themeroots, imonly_ik, tlxo, youthkee, brentswisher, smyoon315, mrahmadawais, desideveloper, Kau-Boy, mor10, mikeyarce, dingo_bastard, xkon, twoabove.
Fixes #45424.
Built from https://develop.svn.wordpress.org/trunk@44149
git-svn-id: http://core.svn.wordpress.org/trunk@43979 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-14 03:33:41 +01:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* SVG icons related functions
|
|
|
|
*
|
|
|
|
* @package WordPress
|
|
|
|
* @subpackage Twenty_Nineteen
|
2019-12-07 14:56:06 +01:00
|
|
|
* @since Twenty Nineteen 1.0
|
Default Themes: Import Twenty Nineteen from the 5.0 branch.
Merges [43808,43821,43842,43860,43892,43904,43909,43926-43929,43956,43961-43963] from the 5.0 branch to trunk.
Props allancole, karmatosed, kjellr, yingling017, mrasharirfan, milana_cap, fabiankaegy, westonruter, jorbin, netweb, b-07, khleomix, audrasjb, nielslange, mmaumio, richsalvucci, littlebigthing, dimadin, joyously, anevins, peterwilsoncc, dannycooper, iCaleb, siriokun, technosiren, travel_girl, azchughtai, ianbelanger, nadim1992, ismailelkorchi, nativeinside, chetan200891, grapplerulrich, ocean90, joshfeck, frankew, AbdulWahab610, mendezcode, eliorivero, melchoyce, joen, laurelfulford, mdawaffe, kraftbj, dsmart, nao, mayukojpn, enodekciw, ketuchetan, atanasangelovdev, poena, sharaz, artisticasad, mukesh27, burhandodhy, crunnells, aprakasa, themeroots, imonly_ik, tlxo, youthkee, brentswisher, smyoon315, mrahmadawais, desideveloper, Kau-Boy, mor10, mikeyarce, dingo_bastard, xkon, twoabove.
Fixes #45424.
Built from https://develop.svn.wordpress.org/trunk@44149
git-svn-id: http://core.svn.wordpress.org/trunk@43979 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-12-14 03:33:41 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the SVG code for a given icon.
|
|
|
|
*/
|
|
|
|
function twentynineteen_get_icon_svg( $icon, $size = 24 ) {
|
|
|
|
return TwentyNineteen_SVG_Icons::get_svg( 'ui', $icon, $size );
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Gets the SVG code for a given social icon.
|
|
|
|
*/
|
|
|
|
function twentynineteen_get_social_icon_svg( $icon, $size = 24 ) {
|
|
|
|
return TwentyNineteen_SVG_Icons::get_svg( 'social', $icon, $size );
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Detects the social network from a URL and returns the SVG code for its icon.
|
|
|
|
*/
|
|
|
|
function twentynineteen_get_social_link_svg( $uri, $size = 24 ) {
|
|
|
|
return TwentyNineteen_SVG_Icons::get_social_link_svg( $uri, $size );
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Display SVG icons in social links menu.
|
|
|
|
*
|
|
|
|
* @param string $item_output The menu item output.
|
|
|
|
* @param WP_Post $item Menu item object.
|
|
|
|
* @param int $depth Depth of the menu.
|
|
|
|
* @param array $args wp_nav_menu() arguments.
|
|
|
|
* @return string $item_output The menu item output with social icon.
|
|
|
|
*/
|
|
|
|
function twentynineteen_nav_menu_social_icons( $item_output, $item, $depth, $args ) {
|
|
|
|
// Change SVG icon inside social links menu if there is supported URL.
|
|
|
|
if ( 'social' === $args->theme_location ) {
|
|
|
|
$svg = twentynineteen_get_social_link_svg( $item->url, 26 );
|
|
|
|
if ( empty( $svg ) ) {
|
|
|
|
$svg = twentynineteen_get_icon_svg( 'link' );
|
|
|
|
}
|
|
|
|
$item_output = str_replace( $args->link_after, '</span>' . $svg, $item_output );
|
|
|
|
}
|
|
|
|
|
|
|
|
return $item_output;
|
|
|
|
}
|
|
|
|
add_filter( 'walker_nav_menu_start_el', 'twentynineteen_nav_menu_social_icons', 10, 4 );
|