$theme_locations = get_nav_menu_locations();
$menu_obj = get_term( $theme_locations['top-bar'], 'nav_menu' );
$menu_name = $menu_obj->slug;
-
$topbar = wp_get_nav_menu_items($menu_name);
-//nice_print($topbar);
+
foreach($topbar as $tb=>$data){
- //if($data->menu_item_parent === '0'){
+ if($data->menu_item_parent === '0'){
$post_ids['menu-item-'.$data->ID] = get_post_meta( $data->ID, '_menu_item_object_id', true );
- //}
+ }
}
-
foreach($post_ids as $p=>$value){
$post_data[$p] = get_post($value);
}
foreach($post_data as $pd=>$value){
- echo "START STUFF" . print_r($value) . "END STUFF";
if(has_post_thumbnail($value->ID) ){
- $dropdown_image = wp_get_attachment_image_src( get_post_thumbnail_id( $value->ID ), "dropdown-image" );
+ $dropdown_image = wp_get_attachment_image_src( get_post_thumbnail_id( $value->ID ), 'dropdown-image' );
$dropdown[$value->ID]['image'] = $dropdown_image[0];
} else {
- $dropdown_image = false;
+ $dropdown[$value->ID]['image'] = esc_url( get_template_directory_uri() ) . "/assets/default-featured.jpg";
}
-
if (has_excerpt($value->ID) ){
$dropdown[$value->ID]['excerpt'] = get_the_excerpt($value->ID);
} else {
$dropdown[$value->ID]['excerpt'] = " ";
}
- $dropdown[$value->ID]['title'] = get_the_title($value->ID);
-
+ $dropdown[$value->ID]['title'] = $value->post_title;
$dropdown[$value->ID]['menu'] = $pd;
-
}
+
$dropdown = json_encode($dropdown);
?>
<script>
jQuery(document).ready(function(){
var page = $('body');
- var image = '';
var topbar = page.find('.top-bar-section > ul');
var dropdown = <?php echo $dropdown ?>;
- //console.log(dropdown);
-
$.each(dropdown, function(i, value){
+ console.log(i);
+ console.log(value.menu);
var menu = value.menu;
var excerpt = value.excerpt;
var title = value.title;
+ var image = value.image;
+ page.find('#'+value.menu).children('ul.dropdown').append('<div class="dropdown-content"> <div class="dropdown-image"></div><div class="dropdown-title">'+ value.title +'</div><div class="dropdown-excerpt">'+ value.excerpt + '</div></div>');
+ page.find('#'+value.menu +' .dropdown-image').css("background","url("+ image +") no-repeat center center / cover");
+ page.find('#'+value.menu).children('ul').css('cssText', 'min-height: 400px !important');
- if (value.image){
- image = value.image;
- page.find('#'+value.menu).children('ul.dropdown').append('<div class="dropdown-content"> <div class="dropdown-image"></div><div class="dropdown-title">'+ value.title +'</div><div class="dropdown-excerpt">'+ value.excerpt + '</div></div>');
- page.find('#'+value.menu +' .dropdown-image').css("background","url("+ image +") no-repeat center center");
- page.find('#'+value.menu).children('ul').css('cssText', 'min-height: 400px !important');
- } else {
- page.find('#'+value.menu).children('ul.dropdown').append('<div class="dropdown-content"> <div class="dropdown-image"></div><div class="dropdown-title">'+ value.title +'</div><div class="dropdown-excerpt">'+ value.excerpt + '</div></div>');
- page.find('#'+value.menu +' .dropdown-image').css("background","url("+ image +") no-repeat center center");
- page.find('#'+value.menu).children('ul').css('cssText', "padding-right: 0px");
- }
});
-
-
- $(".dropdown .menu-item").hover(function() {
-// console.log(this.id);
- var the_element_id = this.id
- //console.log(the_element_id);
- var the_menu_id = the_element_id.split("menu-item-")[1]; // 14->28, 58->47
- // Find which index has a 'menu' value corresponding to that item's id, as listed in the dropdown var
- var index = dropdown.findIndex(v => v.menu == the_menu_id);// dropdown is not an array or this'd work.. maybe something with indexOf
- console.log(index);
- console.log(dropdown[14]);
- // Conceptual pseudocode
-// this.parent.$(".dropdown-image").css("background","url("+ dropdown[index]['image'] + ") no-repeat center center");
-// this.parent.$(".dropdown-title").css("background","url("+ dropdown[index]['title'] + ") no-repeat center center");
-// this.parent.$(".dropdown-excerpt").css("background","url("+ dropdown[index]['excerpt'] + ") no-repeat center center");
- });
-
});
-</script>
\ No newline at end of file
+</script>