<?php if ( ! defined( 'WPINC' ) ) { die; } $free_themes = mm_api_cache( 'https://api.wordpress.org/themes/info/1.1/?action=query_themes&request[author]=automattic&request[browse]=popular' ); $free_themes = wp_remote_retrieve_body( $free_themes ); if ( $free_themes = json_decode( $free_themes, true ) ) { if ( isset( $free_themes['themes'] ) ) { $free_themes = $free_themes['themes']; shuffle( $free_themes ); } } $paid_themes = mm_api_cache( 'https://api.mojomarketplace.com/api/v2/items?category=wordpress&type=themes&count=20&order=popular' ); $paid_themes = wp_remote_retrieve_body( $paid_themes ); if ( $paid_themes = json_decode( $paid_themes, true ) ) { if ( isset( $paid_themes['items'] ) ) { $paid_themes = $paid_themes['items']; shuffle( $paid_themes ); } } $free_themes = array_slice( $free_themes, 0, 15 ); $paid_themes = array_slice( $paid_themes, 0, 15 ); $themes = array_merge( $free_themes, $paid_themes ); shuffle( $themes ); ?> <style> .mm-mixed-item { margin: 5px 0 20px; max-height: 224px; } .mm-filter-actions{ margin: 0 0 10px 0; } .mm-mixed-item .mm-img-wrap{ border: 1px solid #ccc; border-bottom: 0px; max-height: 175px; overflow: hidden; position: relative; } .mm-mixed-item img{ max-width: 100%; } .mm-mixed-item h4{ display: inline; } .mm-mixed-item .mm-action-wrap{ padding: 10px 0; margin-bottom: 10px; border: 1px solid #ccc; border-top: 0px; min-height: 50px; } .mm-mixed-item .mm-action-wrap .mm-action-btns{ text-align: right; } .mm-mixed-item .mm-img-wrap:hover .item-actions-hover { z-index: 10; background: rgba(0, 0, 0, 0) linear-gradient(90deg, rgba( 45, 110, 180, 0.7 ), rgba( 0, 150, 190, 0.7 ) ) repeat scroll 0 0; display: block; height: 100%; position: absolute; top: 0; width: 100%; text-align:center; } .mm-mixed-item .mm-img-wrap:hover .item-actions-hover .btn { display: block; margin-top: 30px; } </style> <div id="mojo-wrapper" class="<?php echo mm_brand( 'mojo-%s-branding' ); ?>"> <?php require_once MM_BASE_DIR . 'pages/header/header.php'; ?> <main id="main"> <div class="container"> <div class="panel panel-default"> <div class="panel-body"> <div class="row mm-filter-actions text-right"> <a href="#" class="btn btn-success btn-sm" data-view="all"><?php esc_html_e( 'All', 'mojo-marketplace-wp-plugin' ); ?></a> <a href="#" class="btn btn-primary btn-sm" data-view="premium"><?php esc_html_e( 'Premium', 'mojo-marketplace-wp-plugin' ); ?></a> <a href="#" class="btn btn-primary btn-sm" data-view="free"><?php esc_html_e( 'Free', 'mojo-marketplace-wp-plugin' ); ?></a> </div> <div class="row"> <?php foreach ( $themes as $theme ) { if ( isset( $theme['images'] ) ) { $demo = add_query_arg( array( 'page' => 'mojo-theme-preview', 'id' => $theme['id'], 'items' => 'mixed-themes', ), admin_url( 'admin.php' ) ); echo ' <div class="col-xs-12 col-sm-4 mm-mixed-premium-item"> <div class="mm-mixed-item"> <div class="mm-img-wrap"> <img src="' . $theme['images']['preview_url'] . '" /> <div class="item-actions-hover"> <a href="' . $demo . '" class="btn btn-primary btn-md">' . esc_html__( 'Demo', 'mojo-marketplace-wp-plugin' ) . '</a> <br/> <a href="' . add_query_arg( array( 'page' => 'mojo-marketplace', 'section' => 'single-item', 'item_id' => $theme['id'], ), admin_url( 'admin.php' ) ) . '" class="btn btn-primary btn-md">' . esc_html__( 'Details', 'mojo-marketplace-wp-plugin' ) . '</a> </div> </div> <div class="mm-action-wrap"> <div class="col-xs-12 col-sm-5"> <h4>' . mm_truncate_name( $theme['name'] ) . '</h4> </div> <div class="col-xs-12 col-sm-7 mm-action-btns"> <a href="' . mm_build_link( add_query_arg( array( 'item_id' => $theme['id'] ), 'https://www.mojomarketplace.com/cart' ), array( 'utm_medium' => 'plugin_admin', 'utm_content' => 'buy_now_mixed_grid', ) ) . '" class="btn btn-success btn-sm mm_buy_now" data-id="' . $theme['id'] . '" data-price="' . number_format( $theme['prices']['single_domain_license'] ) . '" data-view="themes_mixed">' . esc_html__( 'Buy Now', 'mojo-marketplace-wp-plugin' ) . '</a> </div> </div> </div> </div>'; } else { echo ' <div class="col-xs-12 col-sm-4 mm-mixed-free-item"> <div class="mm-mixed-item"> <div class="mm-img-wrap"> <img src="' . $theme['screenshot_url'] . '" /> <div class="item-actions-hover"> <a href="' . $theme['preview_url'] . '" target="_blank" class="btn btn-primary btn-md">' . esc_html__( 'Demo', 'mojo-marketplace-wp-plugin' ) . '</a> <br/> <a href="' . add_query_arg( array( 'theme' => $theme['slug'] ), admin_url( 'theme-install.php' ) ) . '" class="btn btn-primary btn-md">' . esc_html__( 'Details', 'mojo-marketplace-wp-plugin' ) . '</a> </div> </div> <div class="mm-action-wrap"> <div class="col-xs-12 col-sm-5"> <h4>' . mm_truncate_name( $theme['name'] ) . '</h4> </div> <div class="col-xs-12 col-sm-7 mm-action-btns"> <a href="#" class="btn btn-success btn-sm free-theme-install" data-slug="' . $theme['slug'] . '">' . esc_html__( 'Install', 'mojo-marketplace-wp-plugin' ) . '</a> </div> </div> </div> </div>'; } } ?> </div> </div> </div> </div> </main> </div> <script type="text/javascript"> jQuery( document ).ready( function ( $ ) { <?php if ( isset( $_GET['type'] ) && in_array( $_GET['type'], array( 'free', 'premium' ) ) ) { echo '$( \'.mm-filter-actions a\' ).addClass( \'btn-primary\' );'; if ( 'premium' == $_GET['type'] ) { ?> $( '.mm-mixed-free-item' ).hide(); $( '.mm-mixed-premium-item' ).show(); $( '.mm-filter-actions a[data-view="premium"]' ).removeClass( 'btn-primary' ); $( '.mm-filter-actions a[data-view="premium"]' ).addClass( 'btn-success' ); <?php } else { ?> $( '.mm-mixed-free-item' ).show(); $( '.mm-mixed-premium-item' ).hide(); $( '.mm-filter-actions a[data-view="free"]' ).removeClass( 'btn-primary' ); $( '.mm-filter-actions a[data-view="free"]' ).addClass( 'btn-success' ); <?php } } ?> $( '.mm-filter-actions a' ).click( function() { $( '.mm-filter-actions a' ).attr( 'class', 'btn btn-sm' ); $( '.mm-filter-actions a' ).addClass( 'btn-primary' ); $( this ).removeClass( 'btn-primary' ); $( this ).addClass( 'btn-success' ); if ( $( this ).data( 'view' ) == 'all' ) { $( '.mm-mixed-free-item' ).show(); $( '.mm-mixed-premium-item' ).show(); } if ( $( this ).data( 'view' ) == 'free' ) { $( '.mm-mixed-free-item' ).show(); $( '.mm-mixed-premium-item' ).hide(); } if ( $( this ).data( 'view' ) == 'premium' ) { $( '.mm-mixed-free-item' ).hide(); $( '.mm-mixed-premium-item' ).show(); } } ); $( '.free-theme-install' ).click( function () { $( this ).append( ' <img class="install-spinner" src="https://api.mojomarketplace.com/mojo-plugin-assets/img/loader.svg"/>' ); var data = { 'action': 'install-theme', 'slug': $(this).data( 'slug' ), '_ajax_nonce' : '<?php echo wp_create_nonce( 'updates' ); ?>' }; $.post( ajaxurl, data, function( theme ) { if( theme.success == true ) { window.location = theme.data.customizeUrl; } else { $( '#mojo-wrapper' ).append( '<div id="mm-message" class="mm-error" style="display:none;"><?php esc_html_e( 'Unable to Install Theme', 'mojo-marketplace-wp-plugin' ); ?></div>' ); $( '#mm-message' ).fadeIn( 'slow', function() { setTimeout( function() { $( '#mm-message' ).fadeOut( 'fast', function() { $( '#mm-message' ).remove(); } ); }, 8000 ); } ); $( '.install-spinner' ).hide(); } } ); } ); } ); </script>