File: /home/autoaccidentes/www/wp-content/themes/vantage/inc/menu.php
<?php
/* Handle the nav menu icon */
if ( ! function_exists( 'vantage_filter_nav_menu_items' ) ) {
function vantage_filter_nav_menu_items( $item_output, $item, $depth, $args ) {
$object_type = get_post_meta( $item->ID, '_menu_item_object', true );
if ( $object_type == 'page' ) {
$object_id = get_post_meta( $item->ID, '_menu_item_object_id', true );
$icon = get_post_meta( $object_id, 'vantage_menu_icon', true );
if ( siteorigin_setting( 'navigation_home_icon' ) && ( strpos( $item_output, 'href="' . home_url( '/' ) . '"', 0 ) !== false || strpos( $item_output, 'href="' . home_url() . '"', 0 ) !== false ) ) {
$item_output = str_replace( '<span class="icon"></span>', '<span class="fa fa-home"></span>', $item_output );
} elseif ( ! empty( $icon ) ) {
$icon = apply_filters( 'vantage_fontawesome_icon_name', $icon );
$item_output = str_replace( '<span class="icon"></span>', '<span class="' . esc_attr( $icon ) . '"></span>', $item_output );
} else {
$item_output = str_replace( '<span class="icon"></span>', '', $item_output );
}
} elseif ( $object_type == 'custom' ) {
if ( siteorigin_setting( 'navigation_home_icon' ) && ( strpos( $item_output, 'href="' . home_url( '/' ) . '"', 0 ) !== false || strpos( $item_output, 'href="' . home_url() . '"', 0 ) !== false ) ) {
$item_output = str_replace( '<span class="icon"></span>', '<span class="fa fa-home"></span>', $item_output );
}
} else {
$item_output = str_replace( '<span class="icon"></span>', '', $item_output );
}
return $item_output;
}
}
add_filter( 'walker_nav_menu_start_el', 'vantage_filter_nav_menu_items', 10, 4 );
if ( ! function_exists( 'vantage_menu_icon_metabox' ) ) {
/**
* Add the metabox for menu icon.
*/
function vantage_menu_icon_metabox() {
add_meta_box(
'vantage-menu-icon-metabox',
__( 'Menu Icon', 'vantage' ),
'vantage_menu_icon_metabox_render',
'page',
'side'
);
}
}
add_action( 'add_meta_boxes', 'vantage_menu_icon_metabox' );
if ( ! function_exists( 'vantage_menu_icon_metabox_render' ) ) {
function vantage_menu_icon_metabox_render( $post ) {
$icons = include get_template_directory() . '/fontawesome/icons.php';
$sections = include get_template_directory() . '/fontawesome/icon-sections.php';
$current = get_post_meta( $post->ID, 'vantage_menu_icon', true );
if ( ! empty( $current ) ) {
$current = apply_filters( 'vantage_fontawesome_icon_name', $current );
}
?>
<select name="vantage_menu_icon">
<option value="" <?php selected( $current ); ?>><?php esc_html_e( 'None', 'vantage' ); ?></option>
<?php foreach ( $icons as $section => $s_icons ) { ?>
<?php if ( isset( $sections[ $section ] ) ) { ?><optgroup label="<?php echo esc_attr( $sections[ $section ] ); ?>"><?php } ?>
<?php foreach ( $s_icons as $icon ) { ?>
<option value="<?php echo esc_attr( $icon ); ?>" <?php selected( $current, $icon ); ?>><?php echo esc_html( vantage_icon_get_name( $icon ) ); ?></option>
<?php } ?>
</optgroup>
<?php } ?>
</select>
<?php
wp_nonce_field( 'save_post_icon', '_vantage_menuicon_nonce' );
}
}
if ( ! function_exists( 'vantage_icon_get_name' ) ) {
/**
* @return string
*/
function vantage_icon_get_name( $icon ) {
$name = preg_replace( '/^icon-/', '', $icon );
$name = preg_replace( '/^fa fa-/', '', $name );
$name = str_replace( '-', ' ', $name );
$name = ucwords( $name );
return $name;
}
}
if ( ! function_exists( 'vantage_menu_icon_save' ) ) {
/**
* Save the post icon setting.
*/
function vantage_menu_icon_save( $post_id ) {
if ( empty( $_POST['_vantage_menuicon_nonce'] ) || ! wp_verify_nonce( $_POST['_vantage_menuicon_nonce'], 'save_post_icon' ) ) {
return;
}
if ( ! current_user_can( 'edit_post', $post_id ) );
update_post_meta( $post_id, 'vantage_menu_icon', $_POST['vantage_menu_icon'] );
}
}
add_action( 'save_post', 'vantage_menu_icon_save' );