Make WordPress Themes

Changeset 299122 for saas-software


Ignore:
Timestamp:
11/19/2025 06:31:52 AM (5 days ago)
Author:
themedropbox
Message:

New version of SAAS Software - 0.0.3

Location:
saas-software/0.0.3
Files:
7 added
18 edited
1 copied

Legend:

Unmodified
Added
Removed
  • saas-software/0.0.3/archive.php

    r295689 r299122  
    1111
    1212    <div id="skip-content" class="container">
    13         <div class="row">
    14             <div id="primary" class="content-area <?php echo esc_attr( is_active_sidebar('sidebar') ? 'col-lg-9 col-md-8' : 'col-lg-12' ); ?>">
    15                 <main id="main" class="site-main module-border-wrap">
    16                     <?php if (have_posts()) { ?>
     13        <div id="primary" class="content-area">
     14            <main id="main" class="site-main">
     15               
     16                <?php if (have_posts()) {
     17                    if (is_home() && !is_front_page()) : ?>
     18                        <header>
     19                            <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
     20                        </header>
     21                    <?php endif; ?>
    1722
    18                         <header class="page-header">
    19                             <?php
    20                             the_archive_title('<h2 class="page-title">', '</h2>');
    21                             the_archive_description('<div class="archive-description">', '</div>');
    22                             ?>
    23                         </header>
     23                <div class="row">
     24                    <?php
     25                        get_template_part( 'template-parts/patterns');
    2426
    25                         <div class="row">
    26                             <?php /* Start the Loop */
    27                             while (have_posts()) :
    28                                 the_post();
    29                                
    30                                 get_template_part( 'template-parts/content',get_post_format());
    31 
    32                             endwhile; ?>
    33                         </div>
    34                            
    35                         <?php if( get_theme_mod('saas_software_post_page_pagination',1) == 1){
    36                             the_posts_navigation();
    37                         }
    38 
    39                     }else {
     27                    } else {
    4028
    4129                        get_template_part('template-parts/content', 'none');
    4230
    4331                    } ?>
    44                    
    45                 </main>
    46             </div>
    47             <?php get_sidebar(); ?>
     32                </div>
     33
     34            </main>
    4835        </div>
    4936    </div>
  • saas-software/0.0.3/assets/css/customizer-layout.css

    r295689 r299122  
    187187    padding: 8px !important;
    188188}
     189
     190ul#saas-software-img-container {
     191    display: grid;
     192    grid-template-columns: auto auto;
     193    gap: 10px;
     194    row-gap: 4px;
     195}
     196ul#saas-software-img-container img {
     197    width: 100%;
     198    height: 60px;
     199}
  • saas-software/0.0.3/functions.php

    r298392 r299122  
    8585        'name'          => esc_html__( 'Sidebar', 'saas-software' ),
    8686        'id'            => 'sidebar',
     87        'description'   => esc_html__( 'Add widgets here.', 'saas-software' ),
     88        'before_widget' => '<section id="%1$s" class="widget %2$s">',
     89        'after_widget'  => '</section>',
     90        'before_title'  => '<h5 class="widget-title">',
     91        'after_title'   => '</h5>',
     92    ) );
     93
     94    register_sidebar( array(
     95        'name'          => esc_html__( 'Sidebar 1', 'saas-software' ),
     96        'id'            => 'sidebar1',
     97        'description'   => esc_html__( 'Add widgets here.', 'saas-software' ),
     98        'before_widget' => '<section id="%1$s" class="widget %2$s">',
     99        'after_widget'  => '</section>',
     100        'before_title'  => '<h5 class="widget-title">',
     101        'after_title'   => '</h5>',
     102    ) );
     103
     104    register_sidebar( array(
     105        'name'          => esc_html__( 'Sidebar 2', 'saas-software' ),
     106        'id'            => 'sidebar2',
    87107        'description'   => esc_html__( 'Add widgets here.', 'saas-software' ),
    88108        'before_widget' => '<section id="%1$s" class="widget %2$s">',
     
    341361add_action( 'customize_register', 'saas_software_remove_customize_register', 11 );
    342362
     363if ( class_exists( 'WP_Customize_Control' ) ) {
     364    // Image Toggle Radio Buttpon
     365    class SAAS_Software_Image_Radio_Control extends WP_Customize_Control {
     366
     367        public function render_content() {
     368     
     369            if (empty($this->choices))
     370                return;
     371     
     372            $name = '_customize-radio-' . $this->id;
     373            ?>
     374            <span class="customize-control-title"><?php echo esc_html($this->label); ?></span>
     375            <ul class="controls" id='saas-software-img-container'>
     376                <?php
     377                foreach ($this->choices as $value => $label) :
     378                    $class = ($this->value() == $value) ? 'saas-software-radio-img-selected saas-software-radio-img-img' : 'saas-software-radio-img-img';
     379                    ?>
     380                    <li style="display: inline;">
     381                        <label>
     382                            <input <?php $this->link(); ?>style = 'display:none' type="radio" value="<?php echo esc_attr($value); ?>" name="<?php echo esc_attr($name); ?>" <?php
     383                                $this->link();
     384                                checked($this->value(), $value);
     385                                ?> />
     386                            <img src='<?php echo esc_url($label); ?>' class='<?php echo esc_attr($class); ?>' />
     387                        </label>
     388                    </li>
     389                    <?php
     390                endforeach;
     391                ?>
     392            </ul>
     393            <?php
     394        }
     395    }
     396}
     397
    343398
    344399require_once get_theme_file_path( 'inc/wptt-webfont-loader.php' );
     
    482537
    483538    function saas_software_file_link_setup() {
     539
     540        define( 'FREE_MNSSP_API_URL', 'https://license.themagnifico.net/api/general/' );
    484541
    485542        if ( ! defined( 'SAAS_SOFTWARE_CONTACT_SUPPORT' ) ) {
     
    896953}
    897954add_action( 'init', 'SAAS_Software_Theme_Info_load' );
     955
     956// Getstart Function
     957
     958
     959function free_mnssp_get_filtered_products($cursor = '', $search = '', $collection = 'pro') {
     960    $endpoint_url = FREE_MNSSP_API_URL . 'getFilteredProducts';
     961
     962    $remote_post_data = array(
     963        'collectionHandle' => $collection,
     964        'productHandle' => $search,
     965        'paginationParams' => array(
     966            "first" => 12,
     967            "afterCursor" => $cursor,
     968            "beforeCursor" => "",
     969            "reverse" => true
     970        )
     971    );
     972
     973    $body = wp_json_encode($remote_post_data);
     974
     975    $options = [
     976        'body' => $body,
     977        'headers' => [
     978            'Content-Type' => 'application/json'
     979        ]
     980    ];
     981    $response = wp_remote_post($endpoint_url, $options);
     982
     983    if (!is_wp_error($response)) {
     984        $response_body = wp_remote_retrieve_body($response);
     985        $response_body = json_decode($response_body);
     986
     987        if (isset($response_body->data) && !empty($response_body->data)) {
     988            if (isset($response_body->data->products) && !empty($response_body->data->products)) {
     989                return  array(
     990                    'products' => $response_body->data->products,
     991                    'pagination' => $response_body->data->pageInfo
     992                );
     993            }
     994        }
     995        return [];
     996    }
     997   
     998    return [];
     999}
     1000
     1001function free_mnssp_get_filtered_products_ajax() {
     1002    $cursor = isset($_POST['cursor']) ? sanitize_text_field(wp_unslash($_POST['cursor'])) : '';
     1003    $search = isset($_POST['search']) ? sanitize_text_field(wp_unslash($_POST['search'])) : '';
     1004    $collection = isset($_POST['collection']) ? sanitize_text_field(wp_unslash($_POST['collection'])) : 'pro';
     1005
     1006    check_ajax_referer('free_mnssp_create_pagination_nonce_action', 'mnssp_pagination_nonce');
     1007
     1008    $get_filtered_products = free_mnssp_get_filtered_products($cursor, $search, $collection);
     1009    ob_start();
     1010    if (isset($get_filtered_products['products']) && !empty($get_filtered_products['products'])) {
     1011        foreach ( $get_filtered_products['products'] as $product ) {
     1012
     1013            $product_obj = $product->node;
     1014           
     1015            if (isset($product_obj->inCollection) && !$product_obj->inCollection) {
     1016                continue;
     1017            }
     1018
     1019            $product_obj = $product->node;
     1020
     1021            $demo_url = isset($product->node->metafield->value) ? $product->node->metafield->value : '';
     1022            $product_url = isset($product->node->onlineStoreUrl) ? $product->node->onlineStoreUrl : '';
     1023            $image_src = isset($product->node->images->edges[0]->node->src) ? $product->node->images->edges[0]->node->src : '';
     1024            $price = isset($product->node->variants->edges[0]->node->price) ? '$' . $product->node->variants->edges[0]->node->price : ''; ?>
     1025
     1026            <div class="mnssp-grid-item">
     1027                <div class="mnssp-image-wrap">
     1028                    <img src="<?php echo esc_url($image_src); ?>" alt="<?php echo esc_attr($product_obj->title); ?>">
     1029                    <div class="mnssp-image-overlay">
     1030                        <a class="mnssp-demo-url mnssp-btn" href="<?php echo esc_attr($demo_url); ?>" target="_blank" rel="noopener noreferrer"><?php echo esc_html('Demo'); ?></a>
     1031                        <a class="mnssp-buy-now mnssp-btn" href="<?php echo esc_attr($product_url); ?>" target="_blank" rel="noopener noreferrer"><?php echo esc_html('Buy Now'); ?></a>
     1032                    </div>
     1033                </div>
     1034                <footer>
     1035                    <h3><?php echo esc_html($product_obj->title); ?></h3>
     1036                </footer>
     1037                <div class="mnssp-grid-item-price">Price: <?php echo esc_html($price); ?></div>
     1038            </div>
     1039        <?php }
     1040    }
     1041    $output = ob_get_clean();
     1042
     1043    $pagination = isset($get_filtered_products['pagination']) ?  $get_filtered_products['pagination'] : [];
     1044    wp_send_json(array(
     1045        'content' => $output,
     1046        'pagination' => $pagination
     1047    ));
     1048}
     1049
     1050add_action('wp_ajax_free_mnssp_get_filtered_products', 'free_mnssp_get_filtered_products_ajax');
     1051add_action('wp_ajax_nopriv_free_mnssp_get_filtered_products', 'free_mnssp_get_filtered_products_ajax');
     1052
     1053function free_mnssp_get_collections() {
     1054   
     1055    $endpoint_url = FREE_MNSSP_API_URL . 'getCollections';
     1056
     1057    $options = [
     1058        'body' => [],
     1059        'headers' => [
     1060            'Content-Type' => 'application/json'
     1061        ]
     1062    ];
     1063    $response = wp_remote_post($endpoint_url, $options);
     1064
     1065    if (!is_wp_error($response)) {
     1066        $response_body = wp_remote_retrieve_body($response);
     1067        $response_body = json_decode($response_body);
     1068
     1069        if (isset($response_body->data) && !empty($response_body->data)) {
     1070           return  $response_body->data;
     1071        }
     1072        return  [];
     1073    }
     1074
     1075    return  [];
     1076}
  • saas-software/0.0.3/inc/customizer.php

    r295689 r299122  
    326326    ));
    327327
     328    // Post Layouts Settings
     329     $wp_customize->add_section('saas_software_post_layouts_settings',array(
     330        'title' => esc_html__('Post Layouts Settings','saas-software'),
     331        'priority'   => 30,
     332    ));
     333
     334    $wp_customize->add_setting('saas_software_post_layout',array(
     335        'default' => 'pattern_two_column_right',
     336        'sanitize_callback' => 'saas_software_sanitize_choices'
     337    ));
     338    $wp_customize->add_control(new SAAS_Software_Image_Radio_Control($wp_customize, 'saas_software_post_layout', array(
     339        'type' => 'select',
     340        'label' => __('Blog Post Layouts','saas-software'),
     341        'section' => 'saas_software_post_layouts_settings',
     342        'choices' => array(
     343            'pattern_one_column' => esc_url(get_template_directory_uri()).'/assets/img/1column.png',
     344            'pattern_two_column_right' => esc_url(get_template_directory_uri()).'/assets/img/right-sidebar.png',
     345            'pattern_two_column_left' => esc_url(get_template_directory_uri()).'/assets/img/left-sidebar.png',
     346            'pattern_three_column' => esc_url(get_template_directory_uri()).'/assets/img/3column.png',
     347            'pattern_four_column' => esc_url(get_template_directory_uri()).'/assets/img/4column.png',
     348            'pattern_grid_post' => esc_url(get_template_directory_uri()).'/assets/img/grid.png',
     349    ))
     350    ));
     351
    328352    // General Settings
    329353     $wp_customize->add_section('saas_software_general_settings',array(
  • saas-software/0.0.3/inc/theme-installation/assets/css/theme-installation.css

    r298392 r299122  
    516516    }
    517517}
     518
     519
     520
     521/*Pro Templates*/
     522
     523.mnssp-templates-grid.mnssp-main-grid.getstart-free {
     524    display: -ms-grid;
     525    display: grid;
     526    -ms-grid-columns: 1fr 20px 1fr 20px 1fr 20px 1fr;
     527    grid-template-columns: repeat(4, 1fr);
     528    grid-column-gap: 30px;
     529    grid-row-gap: 30px;
     530    padding: 0px;
     531}
     532.mnssp-grid-item {
     533    position: relative;
     534    overflow: hidden;
     535    border: 1px solid #e8e8e8;
     536    -webkit-box-shadow: 0 0 3px 0 rgba(0,0,0,0.1);
     537    box-shadow: 0 0 3px 0 rgba(0,0,0,0.1);
     538    background: #fff;
     539}
     540.mnssp-templates-grid.mnssp-main-grid.getstart-free .mnssp-image-wrap {
     541    position: relative;
     542    border-bottom: 1px solid #e8e8e8;
     543    height: 285px;
     544}
     545.mnssp-image-wrap img {
     546    height: 100%;
     547    display: block;
     548    max-width: 100%;
     549    width: 100%;
     550    object-fit: cover;
     551    object-position: top;
     552}
     553.mnssp-grid-item footer{
     554    display: -webkit-box;
     555    display: -ms-flexbox;
     556    display: flex;
     557    padding: 15px;
     558    -webkit-box-pack: justify;
     559    -ms-flex-pack: justify;
     560    justify-content: space-between;
     561}
     562.mnssp-main-grid .mnssp-grid-item footer h3 {
     563    margin: 0;
     564    font-size: 16px;
     565    text-transform: capitalize;
     566}
     567.mnssp-templates-grid .mnssp-image-overlay {
     568    opacity: 0;
     569    display: -webkit-box;
     570    display: -ms-flexbox;
     571    display: flex;
     572    -webkit-box-align: center;
     573    -ms-flex-align: center;
     574    align-items: center;
     575    -webkit-box-pack: center;
     576    -ms-flex-pack: center;
     577    justify-content: center;
     578    position: absolute;
     579    top: 0;
     580    left: 0;
     581    width: 100%;
     582    height: 100%;
     583    background: rgba(0, 0, 0, 0.7);
     584    cursor: pointer;
     585    -webkit-transition: opacity 0.2s ease-in;
     586    -o-transition: opacity 0.2s ease-in;
     587    transition: opacity 0.2s ease-in;
     588}
     589.mnssp-templates-grid .mnssp-image-wrap:hover .mnssp-image-overlay {
     590    opacity: 1;
     591}
     592.mnssp-grid-item .mnssp-btn {
     593    padding: 10px 25px;
     594    border: 0;
     595    -webkit-box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
     596    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
     597    font-size: 18px;
     598    text-decoration: none;
     599    border-radius: 5px;
     600}
     601.mnssp-grid-item .mnssp-demo-url.mnssp-btn {
     602    color: #fff;
     603    background: #2673ff;
     604    margin-right: 15px;
     605}
     606.mnssp-buy-now.mnssp-btn {
     607    color: #fff;
     608    background: #fcb03b;
     609}
     610.mnssp-loader-overlay {
     611    display: none;
     612    position: fixed;
     613    width: 100%;
     614    height: 100%;
     615    background-color: rgb(255, 255, 255);
     616    z-index: 9998;
     617}
     618.mnssp-loader {
     619    display: none;
     620    position: fixed;
     621    top: 50%;
     622    left: 50%;
     623    transform: translate(-50%, -50%);
     624    z-index: 9999;
     625    width: fit-content;
     626    font-size: 40px;
     627    font-family: system-ui,sans-serif;
     628    font-weight: bold;
     629    text-transform: uppercase;
     630    color: #0000;
     631    -webkit-text-stroke: 1px #f15b26;
     632    --g: conic-gradient(#fcb03b 0 0) no-repeat text;
     633    background: var(--g) 0,var(--g) 100%,var(--g) 0 0,var(--g) 0 100%;
     634    animation: l5 2s linear infinite;
     635  }
     636.mnssp-loader:before {
     637    content: "Loading";
     638}
     639.mnsp-feat-img img {
     640    width: 100%;
     641}
     642.mnssp-right-content .mnsp-feat {
     643    flex-basis: 45%;
     644}
     645.mnssp-right-content .mnsp-feat-img {
     646    flex-basis: 55%;
     647}
     648.mnsp-feat-img img {
     649    width: 100%;
     650    height: 360px;
     651    object-fit: cover;
     652}
     653.mnsp-feat .mnsp-buy-btn {
     654    color: #fff;
     655    text-decoration: unset;
     656    font-size: 17px;
     657    padding: 12px 26px;
     658    display: inline-block;
     659    background-color: #f15b26;
     660    border-radius: 5px;
     661    margin-top: 10px;
     662    font-weight: 500;
     663    transition: 0.3s ease-in-out;
     664    &:hover {
     665        background-color: #f15b26;
     666    }
     667}
     668.mnssp-grid-item-price {
     669    padding: 0px 15px 15px 15px;
     670    color: #000;
     671    font-size: 16px;
     672}
     673
     674.mnssp-search-box {
     675    display: flex;
     676    justify-content: space-between;
     677    margin-bottom: 20px;
     678}
     679.mnssp-templates-collections-search input {
     680    width: 100%;
     681    height: 45px;
     682    padding-left: 15px;
     683    background-color: #FBFBFB;
     684    border: none;
     685    border: 1px solid #e8e8e8 !important;
     686    -webkit-box-shadow: none !important;
     687    box-shadow: none !important;
     688    border-radius: 3px;
     689}
     690.mnssp-templates-collections-search .dashicons {
     691    margin-left: -32px;
     692    color: #f15b26;
     693    vertical-align: text-bottom;
     694}
     695#mnssp-collections {
     696    height: 45px;
     697    border: 1px solid #e8e8e8;
     698    padding: 0px 10px;
     699}
     700
     701.mnssp-loader-overlay {
     702    display: none;
     703    position: fixed;
     704    width: 100%;
     705    height: 100%;
     706    background-color: rgb(255, 255, 255);
     707    z-index: 9998;
     708}
     709.mnssp-loader {
     710    display: none;
     711    position: fixed;
     712    top: 50%;
     713    left: 50%;
     714    transform: translate(-50%, -50%);
     715    z-index: 9999;
     716    width: fit-content;
     717    font-size: 40px;
     718    font-family: system-ui,sans-serif;
     719    font-weight: bold;
     720    text-transform: uppercase;
     721    color: #0000;
     722    -webkit-text-stroke: 1px #f15b26;
     723    --g: conic-gradient(#fcb03b 0 0) no-repeat text;
     724    background: var(--g) 0,var(--g) 100%,var(--g) 0 0,var(--g) 0 100%;
     725    animation: l5 2s linear infinite;
     726  }
     727.mnssp-loader:before {
     728    content: "Loading";
     729}
  • saas-software/0.0.3/inc/theme-installation/assets/js/theme-installation.js

    r298392 r299122  
    3838
    3939});
     40
     41jQuery(document).ready(function($) {
     42    var page = 1;
     43    var isLoading = false;
     44
     45    $(window).scroll(function () {
     46        if ($(window).scrollTop() + $(window).height() >= $(document).height() - 200 && !isLoading) {           
     47            loadMoreProducts();
     48        }
     49    });
     50
     51    function productsAjax( endCursor, templateSearch, collection, actionValue ) {
     52
     53        var progress = 0;
     54        var progressInterval = setInterval(function() {
     55            progress += 10;
     56            if (progress >= 100) {
     57                clearInterval(progressInterval);
     58            }
     59        }, 300);
     60
     61        $.ajax({
     62            url: tm_theme_info_box_object.ajaxurl,
     63            type: 'POST',
     64            data: {
     65                action: 'free_mnssp_get_filtered_products',
     66                cursor: endCursor,
     67                search: templateSearch,
     68                collection: collection,
     69                mnssp_pagination_nonce: tm_theme_info_box_object.nonce
     70            },
     71            success: function (response) {
     72
     73                clearInterval(progressInterval);
     74                jQuery('.mnssp-loader').hide();
     75                jQuery('.mnssp-loader-overlay').hide();
     76
     77                if (response.content) {
     78
     79                    isLoading = false;
     80
     81                    if ( actionValue != 'load' ) {
     82                        jQuery('.mnssp-templates-grid.mnssp-main-grid').empty();
     83                    }
     84                    jQuery('.mnssp-templates-grid.mnssp-main-grid').append(response.content);
     85
     86                    const hasNextPage = response?.pagination?.hasNextPage;
     87                    const endCursor = response?.pagination?.endCursor;
     88
     89                    jQuery('[name="mnssp-end-cursor"]').val(endCursor);
     90                    if (!hasNextPage) {
     91                        jQuery('[name="mnssp-end-cursor"]').val('');
     92                        isLoading = true
     93                    }
     94                }
     95            },
     96            error: function () {
     97               
     98                clearInterval(progressInterval);
     99                jQuery('.mnssp-loader').hide();
     100                jQuery('.mnssp-loader-overlay').hide();
     101
     102                console.log('Error loading products');
     103            }
     104        });
     105    }
     106
     107    function loadMoreProducts() {
     108        isLoading = true;
     109        page++;
     110
     111        const endCursor = jQuery('[name="mnssp-end-cursor"]').val();
     112        const templateSearch = jQuery('[name="mnssp-templates-search"]').val();
     113        const collection = jQuery('[name="mnssp-collections"]').val();
     114
     115        productsAjax( endCursor, templateSearch, collection, 'load' );
     116    }
     117
     118    function debounce(func, delay) {
     119        let timeoutId;
     120        return function() {
     121            const context = this;
     122            const args = arguments;
     123            clearTimeout(timeoutId);
     124            timeoutId = setTimeout(() => {
     125                func.apply(context, args);
     126            }, delay);
     127        };
     128    }
     129
     130    jQuery('#mnssp-collections').on('change', function() {
     131
     132        jQuery('.mnssp-loader').show();
     133        jQuery('.mnssp-loader-overlay').show();
     134
     135        productsAjax( '', '', jQuery(this).val(), 'category' );
     136    });
     137
     138    $('body').on("input", '[name="mnssp-templates-search"]', debounce(function (event) {
     139
     140        const templateSearch = $('[name="mnssp-templates-search"]').val();
     141
     142        jQuery('.mnssp-loader').show();
     143        jQuery('.mnssp-loader-overlay').show();
     144       
     145        productsAjax( '', templateSearch, '', 'search' );
     146       
     147    }, 1000));
     148});
  • saas-software/0.0.3/inc/theme-installation/theme-installation.php

    r298392 r299122  
    55 * @subpackage Admin
    66 */
    7 if ( ! class_exists( 'SAAS_Software_Theme_Info' ) ) {
    8     class SAAS_Software_Theme_Info{
     7if ( ! class_exists( 'saas_software_Theme_Info' ) ) {
     8    class saas_software_Theme_Info{
    99
    1010        private $config;
     
    304304
    305305        /**
     306         * Getting started tab
     307         */
     308        public function saas_software_pro_templates() {
     309            echo '<div class="feature-section demo-impoter-tab ">'; ?>
     310                <div class="pro-search-main">
     311                    <div class="mnssp-search-box">
     312                        <div class="mnssp-templates-collections-search">
     313                            <input type="text" name="mnssp-templates-search" autocomplete="off" placeholder="Search Templates...">
     314                            <span class="dashicons dashicons-search"></span>
     315                        </div>
     316                        <div class="mnssp-templates-collections-filter">
     317                            <?php $collections_arr = free_mnssp_get_collections(); ?>
     318                            <select name="mnssp-collections" id="mnssp-collections">
     319                                <?php foreach ( $collections_arr as $collection ) { ?>
     320                                    <option value="<?php echo esc_attr($collection->handle); ?>"><?php echo esc_html($collection->title); ?></option>
     321                                <?php } ?>
     322                            </select>
     323                        </div>
     324                    </div>
     325                    <div class="mnssp-templates-grid mnssp-main-grid getstart-free ">
     326                        <?php $get_filtered_products = free_mnssp_get_filtered_products();
     327                            if (isset($get_filtered_products['products']) && !empty($get_filtered_products['products'])) {
     328                                foreach ( $get_filtered_products['products'] as $product ) {
     329
     330                                    $product_obj = $product->node;
     331                                   
     332                                    if (isset($product_obj->inCollection) && !$product_obj->inCollection) {
     333                                        continue;
     334                                    }
     335
     336                                    $demo_url = isset($product->node->metafield->value) ? $product->node->metafield->value : '';
     337                                    $product_url = isset($product->node->onlineStoreUrl) ? $product->node->onlineStoreUrl : '';
     338                                    $image_src = isset($product->node->images->edges[0]->node->src) ? $product->node->images->edges[0]->node->src : '';
     339                                    $price = isset($product->node->variants->edges[0]->node->price) ? '$' . $product->node->variants->edges[0]->node->price : ''; ?>
     340
     341                                    <div class="mnssp-grid-item">
     342                                        <div class="mnssp-image-wrap">
     343                                            <img src="<?php echo esc_url($image_src); ?>" alt="<?php echo esc_attr($product_obj->title); ?>">
     344                                            <div class="mnssp-image-overlay">
     345                                                <a class="mnssp-demo-url mnssp-btn" href="<?php echo esc_attr($demo_url); ?>" target="_blank" rel="noopener noreferrer"><?php echo esc_html('Demo'); ?></a>
     346                                                <a class="mnssp-buy-now mnssp-btn" href="<?php echo esc_attr($product_url); ?>" target="_blank" rel="noopener noreferrer"><?php echo esc_html('Buy Now'); ?></a>
     347                                            </div>
     348                                        </div>
     349                                        <footer>
     350                                            <h3><?php echo esc_html($product_obj->title); ?></h3>
     351                                        </footer>
     352                                        <div class="mnssp-grid-item-price">Price: <?php echo esc_html($price); ?></div>
     353                                    </div>
     354                                <?php }
     355                            }
     356                        ?>
     357                    </div>
     358
     359                    <?php if (isset($get_filtered_products['pagination']->hasNextPage) && $get_filtered_products['pagination']->hasNextPage) { ?>
     360                        <input type="hidden" name="mnssp-end-cursor" value="<?php echo esc_attr(isset($get_filtered_products['pagination']->endCursor) ? $get_filtered_products['pagination']->endCursor : '') ?>">
     361                    <?php } ?>
     362                </div>
     363            <?php echo '</div><!-- .feature-section col-wrap -->';
     364        }
     365
     366        /**
    306367         * Recommended Actions tab
    307368         */
     
    745806                    'nr_actions_recommended'   => $count,
    746807                    'ajaxurl'                  => admin_url( 'admin-ajax.php' ),
    747                     'template_directory'       => get_template_directory_uri()
     808                    'template_directory'       => get_template_directory_uri(),
     809                    'nonce'   => wp_create_nonce('free_mnssp_create_pagination_nonce_action')
    748810                ) );
    749811
     
    785847    'tabs' => array(
    786848        'saas_software_demo_impoter'         => esc_html__( 'Demo Impoter', 'saas-software' ),
     849        'saas_software_pro_templates'        => esc_html__( 'Pro Templates', 'saas-software' ),
    787850        'saas_software_free_pro'             => esc_html__( 'Compare Free Vs Pro', 'saas-software' ),
    788851        'saas_software_recommended_plugins'  => esc_html__( 'Recommended Plugins', 'saas-software' ),
     
    9811044            'slug' => 'classic-widgets'
    9821045        ),
    983         'Contact Form 7' => array(
    984             'slug' => 'contact-form-7'
     1046        'Currency Switcher for WooCommerce' => array(
     1047            'slug' => 'currency-switcher-woocommerce'
     1048        ),
     1049        'GTranslate' => array(
     1050            'slug' => 'gtranslate'
     1051        ),
     1052        'WooCommerce' => array(
     1053            'slug' => 'woocommerce'
    9851054        )
    9861055    ),
    9871056
    9881057);
    989 return new SAAS_Software_Theme_Info( $config );
     1058return new saas_software_Theme_Info( $config );
  • saas-software/0.0.3/index.php

    r295689 r299122  
    1616
    1717    <div id="skip-content" class="container">
    18         <div class="row">
    19             <div id="primary" class="content-area <?php echo esc_attr( is_active_sidebar('sidebar') ? 'col-lg-9 col-md-8' : 'col-lg-12' ); ?>">
    20                 <main id="main" class="site-main">
    21                    
    22                     <?php if (have_posts()) {
    23                         if (is_home() && !is_front_page()) : ?>
    24                             <header>
    25                                 <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
    26                             </header>
    27                         <?php endif; ?>
     18        <div id="primary" class="content-area">
     19            <main id="main" class="site-main">
     20                <?php if (have_posts()) {
     21                    if (is_home() && !is_front_page()) : ?>
     22                        <header>
     23                            <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
     24                        </header>
     25                    <?php endif; ?>
    2826
    29                     <div class="row">
    30                         <?php /* Start the Loop */
    31                         while (have_posts()) :
    32                             the_post();
     27                <div class="row">
     28                    <?php
     29                        get_template_part( 'template-parts/patterns');
    3330
    34                             get_template_part( 'template-parts/content',get_post_format());
     31                    } else {
    3532
    36                         endwhile;
     33                        get_template_part('template-parts/content', 'none');
    3734
    38                         if( get_theme_mod('saas_software_post_page_pagination',1) == 1){
    39                             the_posts_navigation();
    40                         }
     35                    } ?>
     36                </div>
    4137
    42                         } else {
    43 
    44                             get_template_part('template-parts/content', 'none');
    45 
    46                         } ?>
    47                     </div>
    48 
    49                 </main>
    50             </div>
    51             <?php get_sidebar(); ?>
     38            </main>
    5239        </div>
    5340    </div>
  • saas-software/0.0.3/readme.txt

    r298392 r299122  
    44Tested up to: 6.8
    55Requires PHP: 7.2
    6 Stable tag: 0.0.2
     6Stable tag: 0.0.3
    77License: GNU General Public License v3.0
    88License URI: http://www.gnu.org/licenses/gpl-3.0.html
    9 Tags: wide-blocks, block-styles, custom-logo, one-column, two-columns, grid-layout, sticky-post, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexible-header, footer-widgets, post-formats, threaded-comments, theme-options, left-sidebar, right-sidebar, full-width-template, editor-style, education, portfolio, blog
     9Tags: three-columns, four-columns, translation-ready, wide-blocks, block-styles, custom-logo, one-column, two-columns, grid-layout, sticky-post, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexible-header, footer-widgets, post-formats, threaded-comments, theme-options, left-sidebar, right-sidebar, full-width-template, editor-style, education, portfolio, blog
    1010
    1111The SAAS Software is a modern, multipurpose, and elegant WordPress theme built for startups, software companies, SaaS agencies, SaaS Solutions, Software agencies, SaaS Services, SaaS Development, Cloud Software, Software Consulting, SaaS Marketing, SaaS Growth and digital agencies looking to create a powerful online presence. With its minimal and sophisticated layout, it offers a clean and user-friendly interface that ensures effortless navigation and a visually stunning experience for visitors.
     
    101101== Changelog ==
    102102
     103= 0.0.3
     104
     105* Added some tags.
     106* Added post layout option.
     107* Updated getstart.
     108
    103109= 0.0.2
    104110
    105 * Added default sidrbar.
     111* Added default sidebar.
    106112* Added demo impoter.
    107113* Added getstart.
  • saas-software/0.0.3/search.php

    r295689 r299122  
    1010
    1111    <div id="skip-content" class="container">
    12         <div class="row">
    13             <div id="primary" class="content-area col-md-12 <?php echo esc_attr( is_active_sidebar('sidebar') ? 'col-lg-9' : 'col-lg-12' ); ?>">
    14                 <main id="main" class="site-main module-border-wrap mb-4">
    15                     <div class="row">
    16                         <?php if (have_posts()) { ?>
    17                             <header class="page-header">
    18                                 <h4 class="page-title">
    19                                     <?php
    20                                         /* translators: %s: search query. */
    21                                         printf(esc_html__('Search Results for: %s', 'saas-software'), '<span>' . get_search_query() . '</span>');
    22                                     ?>
    23                                 </h4>
    24                             </header>
    25                             <?php
    26                             /* Start the Loop */
    27                             while (have_posts()) : the_post();
     12        <div id="primary" class="content-area">
     13            <main id="main" class="site-main module-border-wrap mb-4">
     14                <div class="row">
     15                    <?php if (have_posts()) { ?>
     16                       
     17                        <?php
     18                     
     19                        /**
     20                         * Run the loop for the search to output the results.
     21                         * If you want to overload this in a child theme then include a file
     22                         * called content-search.php and that will be used instead.
     23                         */
     24                        get_template_part( 'template-parts/patterns');
    2825
    29                                 /**
    30                                  * Run the loop for the search to output the results.
    31                                  * If you want to overload this in a child theme then include a file
    32                                  * called content-search.php and that will be used instead.
    33                                  */
    34                                 get_template_part( 'template-parts/content',get_post_format());
     26                    }else {
    3527
    36                             endwhile;
     28                        get_template_part('template-parts/content', 'none');
    3729
    38                             if( get_theme_mod('saas_software_post_page_pagination',1) == 1){
    39                                 the_posts_navigation();
    40                             }
    41 
    42                         }else {
    43 
    44                             get_template_part('template-parts/content', 'none');
    45 
    46                         } ?>
    47                     </div>
    48                 </main>
    49             </div>
    50             <?php get_sidebar();?>
     30                    } ?>
     31                </div>
     32            </main>
    5133        </div>
    5234    </div>
  • saas-software/0.0.3/sidebar.php

    r295689 r299122  
    88 */
    99
    10 if ( ! is_active_sidebar( 'sidebar' ) ) {
    11     return;
    12 }
    1310?>
    1411
    15 <aside id="secondary" class="widget-area col-lg-3 col-md-4">
    16     <div class="sidebar">
    17         <?php dynamic_sidebar( 'sidebar' ); ?>
    18     </div>
     12<aside id="secondary" class="widget-area">
     13    <div class="sidebar">
     14        <?php if ( is_active_sidebar( 'sidebar' )) : ?>
     15
     16            <?php dynamic_sidebar( 'sidebar' ); ?>
     17
     18        <?php else : ?>
     19
     20            <!-- Search Widget -->
     21            <section id="search" class="widget widget_search">
     22                <h5 class="widget-title"><?php esc_html_e( 'Search', 'saas-software' ); ?></h5>
     23                <?php get_search_form(); ?>
     24            </section>
     25
     26            <!-- Archives Widget -->
     27            <section id="archives" class="widget widget_archive">
     28                <h5 class="widget-title"><?php esc_html_e( 'Archives List', 'saas-software' ); ?></h5>
     29                <ul>
     30                    <?php wp_get_archives( array( 'type' => 'monthly' ) ); ?>
     31                </ul>
     32            </section>
     33
     34            <!-- Recent Posts Widget -->
     35            <section id="recent-posts-widget" class="widget widget_recent_posts">
     36                <h5 class="widget-title"><?php esc_html_e( 'Recent Posts', 'saas-software' ); ?></h5>
     37                <ul>
     38                    <?php
     39                    $recent_posts = wp_get_recent_posts( array(
     40                        'numberposts' => 5,
     41                        'post_status' => 'publish',
     42                    ) );
     43                    foreach ( $recent_posts as $post ) :
     44                    ?>
     45                        <li>
     46                            <a href="<?php echo esc_url( get_permalink( $post['ID'] ) ); ?>">
     47                                <?php echo esc_html( $post['post_title'] ); ?>
     48                            </a>
     49                        </li>
     50                    <?php endforeach; ?>
     51                </ul>
     52            </section>
     53
     54            <!-- Meta Widget -->
     55            <section id="meta" class="widget widget_meta">
     56                <h5 class="widget-title"><?php esc_html_e( 'Meta', 'saas-software' ); ?></h5>
     57                <ul>
     58                    <?php wp_register(); ?>
     59                    <li><?php wp_loginout(); ?></li>
     60                    <?php wp_meta(); ?>
     61                </ul>
     62            </section>
     63
     64            <!-- Categories Widget -->
     65            <section id="categories" class="widget widget_categories">
     66                <h5 class="widget-title"><?php esc_html_e( 'Categories', 'saas-software' ); ?></h5>
     67                <ul>
     68                    <?php wp_list_categories( array( 'title_li' => '' ) ); ?>
     69                </ul>
     70            </section>
     71
     72            <!-- Tag Cloud Widget -->
     73            <section id="tags" class="widget widget_tag_cloud">
     74                <h5 class="widget-title"><?php esc_html_e( 'Tags', 'saas-software' ); ?></h5>
     75                <div class="tagcloud">
     76                    <?php wp_tag_cloud( array(
     77                        'smallest' => 10,
     78                        'largest'  => 22,
     79                        'unit'     => 'px',
     80                        'number'   => 20
     81                    ) ); ?>
     82                </div>
     83            </section>
     84
     85        <?php endif; ?>
     86    </div>
    1987</aside>
  • saas-software/0.0.3/style.css

    r298392 r299122  
    66Author URI: https://www.themagnifico.net/
    77Description: The SAAS Software is a modern, multipurpose, and elegant WordPress theme built for startups, software companies, SaaS agencies, SaaS Solutions, Software agencies, SaaS Services, SaaS Development, Cloud Software, Software Consulting, SaaS Marketing, SaaS Growth and digital agencies looking to create a powerful online presence. With its minimal and sophisticated layout, it offers a clean and user-friendly interface that ensures effortless navigation and a visually stunning experience for visitors. The theme is designed using bootstrap technology and optimized codes for faster page load time, giving your website a professional edge. Fully responsive and retina ready, it delivers sharp visuals and seamless performance across all devices. It includes essential sections like banner, testimonial, and team areas to highlight your products, client feedback, and team members attractively. The integrated Call to Action (CTA) button and social media links help improve user engagement, while the personalization options give developers and business owners complete control over their site’s look and functionality.
    8 Version: 0.0.2
     8Version: 0.0.3
    99Requires at least: 5.0
    1010Tested up to: 6.8
     
    1313License URI: http://www.gnu.org/licenses/gpl-3.0.html
    1414Text Domain: saas-software
    15 Tags: wide-blocks, block-styles, custom-logo, one-column, two-columns, grid-layout, sticky-post, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexible-header, footer-widgets, post-formats, threaded-comments, theme-options, left-sidebar, right-sidebar, full-width-template, editor-style, education, portfolio, blog
     15Tags: three-columns, four-columns, translation-ready, wide-blocks, block-styles, custom-logo, one-column, two-columns, grid-layout, sticky-post, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexible-header, footer-widgets, post-formats, threaded-comments, theme-options, left-sidebar, right-sidebar, full-width-template, editor-style, education, portfolio, blog
    1616SAAS Software WordPress Theme has been created by TheMagnifico(themagnifico.net), 2025.
    1717SAAS Software WordPress Theme is released under the terms of GNU GPL
  • saas-software/0.0.3/template-parts/content-audio.php

    r295689 r299122  
    2222?>
    2323
    24 <div class="col-lg-6 col-md-6 col-sm-6">
    25   <article id="post-<?php the_ID(); ?>" <?php post_class('article-box'); ?>>
    26     <?php
    27       if ( ! is_single() ) {
    28         // If not a single post, highlight the audio file.
    29         if ( ! empty( $audio ) ) {
    30           foreach ( $audio as $audio_html ) {
    31             echo '<div class="entry-audio">';
    32               echo $audio_html;
    33             echo '</div><!-- .entry-audio -->';
    34           }
    35         };
     24<article id="post-<?php the_ID(); ?>" <?php post_class('article-box'); ?>>
     25  <?php
     26    if ( ! is_single() ) {
     27      // If not a single post, highlight the audio file.
     28      if ( ! empty( $audio ) ) {
     29        foreach ( $audio as $audio_html ) {
     30          echo '<div class="entry-audio">';
     31            echo $audio_html;
     32          echo '</div><!-- .entry-audio -->';
     33        }
    3634      };
    37     ?>
    38     <div class="serv-cont">
    39       <?php if ($saas_software_post_page_meta == 1 ) {?>
    40         <div class="meta-info-box my-2">
    41           <span class="entry-author"><?php esc_html_e('BY','saas-software'); ?> <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' )) ); ?>"><?php the_author(); ?></a></span>
    42           <span class="ms-2"><?php echo esc_html(get_the_date()); ?></span>
    43         </div>
    44       <?php } ?>
    45       <div class="post-summery">
    46         <?php if ($saas_software_post_page_title == 1 ) {?>
    47           <?php the_title('<h3 class="entry-title pb-3"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>');?>
    48         <?php }?>
    49         <?php if ($saas_software_post_page_content == 1 ) {?>
    50           <p><?php echo wp_trim_words( get_the_content(), esc_attr(get_theme_mod('saas_software_post_page_excerpt_length', 30)) ); ?><?php echo esc_html(get_theme_mod('saas_software_post_page_excerpt_suffix','[...]')); ?></p>
    51         <?php }?>
    52         <a href="<?php the_permalink(); ?>" class="btn-text"><?php esc_html_e('Read More','saas-software'); ?></a>
     35    };
     36  ?>
     37  <div class="serv-cont">
     38    <?php if ($saas_software_post_page_meta == 1 ) {?>
     39      <div class="meta-info-box my-2">
     40        <span class="entry-author"><?php esc_html_e('BY','saas-software'); ?> <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' )) ); ?>"><?php the_author(); ?></a></span>
     41        <span class="ms-2"><?php echo esc_html(get_the_date()); ?></span>
    5342      </div>
     43    <?php } ?>
     44    <div class="post-summery">
     45      <?php if ($saas_software_post_page_title == 1 ) {?>
     46        <?php the_title('<h3 class="entry-title pb-3"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>');?>
     47      <?php }?>
     48      <?php if ($saas_software_post_page_content == 1 ) {?>
     49        <p><?php echo wp_trim_words( get_the_content(), esc_attr(get_theme_mod('saas_software_post_page_excerpt_length', 30)) ); ?><?php echo esc_html(get_theme_mod('saas_software_post_page_excerpt_suffix','[...]')); ?></p>
     50      <?php }?>
     51      <a href="<?php the_permalink(); ?>" class="btn-text"><?php esc_html_e('Read More','saas-software'); ?></a>
    5452    </div>
    55   </article>
    56 </div>
     53  </div>
     54</article>
  • saas-software/0.0.3/template-parts/content-gallery.php

    r295689 r299122  
    1212?>
    1313
    14 <div class="col-lg-6 col-md-6 col-sm-6">
    15   <article id="post-<?php the_ID(); ?>" <?php post_class('article-box'); ?>>
    16     <?php
    17       if ( ! is_single() ) {
    18         // If not a single post, highlight the gallery.
    19         if ( get_post_gallery() ) {
    20           echo '<div class="entry-gallery">';
    21             echo ( get_post_gallery() );
    22           echo '</div>';
    23         };
     14<article id="post-<?php the_ID(); ?>" <?php post_class('article-box'); ?>>
     15  <?php
     16    if ( ! is_single() ) {
     17      // If not a single post, highlight the gallery.
     18      if ( get_post_gallery() ) {
     19        echo '<div class="entry-gallery">';
     20          echo ( get_post_gallery() );
     21        echo '</div>';
    2422      };
    25     ?>
    26     <div class="serv-cont">
    27       <?php if ($saas_software_post_page_meta == 1 ) {?>
    28         <div class="meta-info-box my-2">
    29           <span class="entry-author"><?php esc_html_e('BY','saas-software'); ?> <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' )) ); ?>"><?php the_author(); ?></a></span>
    30           <span class="ms-2"><?php echo esc_html(get_the_date()); ?></span>
    31         </div>
     23    };
     24  ?>
     25  <div class="serv-cont">
     26    <?php if ($saas_software_post_page_meta == 1 ) {?>
     27      <div class="meta-info-box my-2">
     28        <span class="entry-author"><?php esc_html_e('BY','saas-software'); ?> <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' )) ); ?>"><?php the_author(); ?></a></span>
     29        <span class="ms-2"><?php echo esc_html(get_the_date()); ?></span>
     30      </div>
     31    <?php }?>
     32    <div class="post-summery">
     33      <?php if ($saas_software_post_page_title == 1 ) {?>
     34        <?php the_title('<h3 class="entry-title pb-3"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>');?>
    3235      <?php }?>
    33       <div class="post-summery">
    34         <?php if ($saas_software_post_page_title == 1 ) {?>
    35           <?php the_title('<h3 class="entry-title pb-3"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>');?>
    36         <?php }?>
    37         <?php if ($saas_software_post_page_content == 1 ) {?>
    38           <p><?php echo wp_trim_words( get_the_content(), esc_attr(get_theme_mod('saas_software_post_page_excerpt_length', 30)) ); ?><?php echo esc_html(get_theme_mod('saas_software_post_page_excerpt_suffix','[...]')); ?></p>
    39         <?php }?>
    40         <a href="<?php the_permalink(); ?>" class="btn-text"><?php esc_html_e('Read More','saas-software'); ?></a>
    41       </div>
     36      <?php if ($saas_software_post_page_content == 1 ) {?>
     37        <p><?php echo wp_trim_words( get_the_content(), esc_attr(get_theme_mod('saas_software_post_page_excerpt_length', 30)) ); ?><?php echo esc_html(get_theme_mod('saas_software_post_page_excerpt_suffix','[...]')); ?></p>
     38      <?php }?>
     39      <a href="<?php the_permalink(); ?>" class="btn-text"><?php esc_html_e('Read More','saas-software'); ?></a>
    4240    </div>
    43   </article>
    44 </div>
     41  </div>
     42</article>
  • saas-software/0.0.3/template-parts/content-image.php

    r295689 r299122  
    1313?>
    1414
    15 <div class="col-lg-6 col-md-6 col-sm-6">
    16     <article id="post-<?php the_ID(); ?>" <?php post_class('article-box'); ?>>
    17         <?php if ($saas_software_post_page_thumb == 1 ) {?>
    18             <?php if ( has_post_thumbnail() ) { ?>
    19                 <?php saas_software_post_thumbnail(); ?>
    20             <?php }?>
     15<article id="post-<?php the_ID(); ?>" <?php post_class('article-box'); ?>>
     16    <?php if ($saas_software_post_page_thumb == 1 ) {?>
     17        <?php if ( has_post_thumbnail() ) { ?>
     18            <?php saas_software_post_thumbnail(); ?>
    2119        <?php }?>
    22         <?php if ($saas_software_post_page_meta == 1 ) {?>
    23             <div class="meta-info-box my-2">
    24                 <span class="entry-author"><?php esc_html_e('BY','saas-software'); ?> <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' )) ); ?>"><?php the_author(); ?></a></span>
    25                 <span class="ms-2"><?php echo esc_html(get_the_date()); ?></span>
    26             </div>
     20    <?php }?>
     21    <?php if ($saas_software_post_page_meta == 1 ) {?>
     22        <div class="meta-info-box my-2">
     23            <span class="entry-author"><?php esc_html_e('BY','saas-software'); ?> <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' )) ); ?>"><?php the_author(); ?></a></span>
     24            <span class="ms-2"><?php echo esc_html(get_the_date()); ?></span>
     25        </div>
     26    <?php }?>
     27    <div class="post-summery">
     28        <?php if ($saas_software_post_page_title == 1 ) {?>
     29            <?php the_title('<h3 class="entry-title pb-3"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>');?>
    2730        <?php }?>
    28         <div class="post-summery">
    29             <?php if ($saas_software_post_page_title == 1 ) {?>
    30                 <?php the_title('<h3 class="entry-title pb-3"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>');?>
    31             <?php }?>
    32             <?php if ($saas_software_post_page_content == 1 ) {?>
    33                 <p><?php echo wp_trim_words( get_the_content(), esc_attr(get_theme_mod('saas_software_post_page_excerpt_length', 30)) ); ?><?php echo esc_html(get_theme_mod('saas_software_post_page_excerpt_suffix','[...]')); ?></p>
    34             <?php }?>
    35             <a href="<?php the_permalink(); ?>" class="btn-text"><?php esc_html_e('Read More','saas-software'); ?></a>
    36         </div>
    37     </article>
    38 </div>
     31        <?php if ($saas_software_post_page_content == 1 ) {?>
     32            <p><?php echo wp_trim_words( get_the_content(), esc_attr(get_theme_mod('saas_software_post_page_excerpt_length', 30)) ); ?><?php echo esc_html(get_theme_mod('saas_software_post_page_excerpt_suffix','[...]')); ?></p>
     33        <?php }?>
     34        <a href="<?php the_permalink(); ?>" class="btn-text"><?php esc_html_e('Read More','saas-software'); ?></a>
     35    </div>
     36</article>
  • saas-software/0.0.3/template-parts/content-search.php

    r295689 r299122  
    99?>
    1010
    11 <div class="col-lg-6 col-md-6 col-sm-6">
    12     <article id="post-<?php the_ID(); ?>" <?php post_class('article-box'); ?>>
    13         <?php if ( has_post_thumbnail() ) { ?><?php saas_software_post_thumbnail(); ?><?php }?>
    14         <div class="meta-info-box my-2">
    15             <span class="entry-author"><?php esc_html_e('BY','saas-software'); ?> <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' )) ); ?>"><?php the_author(); ?></a></span>
    16             <span class="ms-2"></i><?php echo esc_html(get_the_date()); ?></span>
    17         </div>
    18         <div class="post-summary m-0">
    19             <?php the_title('<h3 class="entry-title pb-3"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>');?>
    20             <p><?php echo wp_trim_words( get_the_content(), esc_attr(get_theme_mod('saas_software_post_page_excerpt_length', 30)) ); ?><?php echo esc_html(get_theme_mod('saas_software_post_page_excerpt_suffix','[...]')); ?></p>
    21             <a href="<?php the_permalink(); ?>" class="btn-text"><?php esc_html_e('Read More','saas-software'); ?></a>
    22         </div>
    23     </article>
    24 </div>
     11<article id="post-<?php the_ID(); ?>" <?php post_class('article-box'); ?>>
     12    <?php if ( has_post_thumbnail() ) { ?><?php saas_software_post_thumbnail(); ?><?php }?>
     13    <div class="meta-info-box my-2">
     14        <span class="entry-author"><?php esc_html_e('BY','saas-software'); ?> <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' )) ); ?>"><?php the_author(); ?></a></span>
     15        <span class="ms-2"></i><?php echo esc_html(get_the_date()); ?></span>
     16    </div>
     17    <div class="post-summary m-0">
     18        <?php the_title('<h3 class="entry-title pb-3"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>');?>
     19        <p><?php echo wp_trim_words( get_the_content(), esc_attr(get_theme_mod('saas_software_post_page_excerpt_length', 30)) ); ?><?php echo esc_html(get_theme_mod('saas_software_post_page_excerpt_suffix','[...]')); ?></p>
     20        <a href="<?php the_permalink(); ?>" class="btn-text"><?php esc_html_e('Read More','saas-software'); ?></a>
     21    </div>
     22</article>
  • saas-software/0.0.3/template-parts/content-video.php

    r295689 r299122  
    2121  }
    2222?>
    23 <div class="col-lg-6 col-md-6 col-sm-6">
    24   <article id="post-<?php the_ID(); ?>" <?php post_class('article-box'); ?>>
    25     <?php
    26       if ( ! is_single() ) {
    27         // If not a single post, highlight the video file.
    28         if ( ! empty( $video ) ) {
    29           foreach ( $video as $video_html ) {
    30             echo '<div class="entry-video">';
    31               echo $video_html;
    32             echo '</div>';
    33           }
    34         };
     23
     24<article id="post-<?php the_ID(); ?>" <?php post_class('article-box'); ?>>
     25  <?php
     26    if ( ! is_single() ) {
     27      // If not a single post, highlight the video file.
     28      if ( ! empty( $video ) ) {
     29        foreach ( $video as $video_html ) {
     30          echo '<div class="entry-video">';
     31            echo $video_html;
     32          echo '</div>';
     33        }
    3534      };
    36     ?>
    37     <div class="serv-cont">
    38       <?php if ($saas_software_post_page_meta == 1 ) {?>
    39         <div class="meta-info-box my-2">
    40           <span class="entry-author"><?php esc_html_e('BY','saas-software'); ?> <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' )) ); ?>"><?php the_author(); ?></a></span>
    41           <span class="ms-2"><?php echo esc_html(get_the_date()); ?></span>
    42         </div>
     35    };
     36  ?>
     37  <div class="serv-cont">
     38    <?php if ($saas_software_post_page_meta == 1 ) {?>
     39      <div class="meta-info-box my-2">
     40        <span class="entry-author"><?php esc_html_e('BY','saas-software'); ?> <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' )) ); ?>"><?php the_author(); ?></a></span>
     41        <span class="ms-2"><?php echo esc_html(get_the_date()); ?></span>
     42      </div>
     43    <?php }?>
     44    <div class="post-summery">
     45      <?php if ($saas_software_post_page_title == 1 ) {?>
     46        <?php the_title('<h3 class="entry-title pb-3"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>');?>
    4347      <?php }?>
    44       <div class="post-summery">
    45         <?php if ($saas_software_post_page_title == 1 ) {?>
    46           <?php the_title('<h3 class="entry-title pb-3"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>');?>
    47         <?php }?>
    48         <?php if ($saas_software_post_page_content == 1 ) {?>
    49           <p><?php echo wp_trim_words( get_the_content(), esc_attr(get_theme_mod('saas_software_post_page_excerpt_length', 30)) ); ?><?php echo esc_html(get_theme_mod('saas_software_post_page_excerpt_suffix','[...]')); ?></p>
    50         <?php }?>
    51         <a href="<?php the_permalink(); ?>" class="btn-text"><?php esc_html_e('Read More','saas-software'); ?></a>
    52       </div>
     48      <?php if ($saas_software_post_page_content == 1 ) {?>
     49        <p><?php echo wp_trim_words( get_the_content(), esc_attr(get_theme_mod('saas_software_post_page_excerpt_length', 30)) ); ?><?php echo esc_html(get_theme_mod('saas_software_post_page_excerpt_suffix','[...]')); ?></p>
     50      <?php }?>
     51      <a href="<?php the_permalink(); ?>" class="btn-text"><?php esc_html_e('Read More','saas-software'); ?></a>
    5352    </div>
    54   </article>
    55 </div>
     53  </div>
     54</article>
  • saas-software/0.0.3/template-parts/content.php

    r295689 r299122  
    1313?>
    1414
    15 <div class="col-lg-6 col-md-6 col-sm-6">
    16     <article id="post-<?php the_ID(); ?>" <?php post_class('article-box'); ?>>
    17         <?php if ($saas_software_post_page_thumb == 1 ) {?>
    18             <?php if ( has_post_thumbnail() ) { ?>
    19                 <?php saas_software_post_thumbnail(); ?>
    20             <?php }?>
     15<article id="post-<?php the_ID(); ?>" <?php post_class('article-box'); ?>>
     16    <?php if ($saas_software_post_page_thumb == 1 ) {?>
     17        <?php if ( has_post_thumbnail() ) { ?>
     18            <?php saas_software_post_thumbnail(); ?>
    2119        <?php }?>
    22         <?php if ($saas_software_post_page_meta == 1 ) {?>
    23             <div class="meta-info-box my-2">
    24                 <span class="entry-author"><?php esc_html_e('BY','saas-software'); ?> <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' )) ); ?>"><?php the_author(); ?></a></span>
    25                 <span class="ms-2"><?php echo esc_html(get_the_date()); ?></span>
    26             </div>
     20    <?php }?>
     21    <?php if ($saas_software_post_page_meta == 1 ) {?>
     22        <div class="meta-info-box my-2">
     23            <span class="entry-author"><?php esc_html_e('BY','saas-software'); ?> <a href="<?php echo esc_url( get_author_posts_url( get_the_author_meta( 'ID' )) ); ?>"><?php the_author(); ?></a></span>
     24            <span class="ms-2"><?php echo esc_html(get_the_date()); ?></span>
     25        </div>
     26    <?php }?>
     27    <div class="post-summery">
     28        <?php if ($saas_software_post_page_title == 1 ) {?>
     29            <?php the_title('<h3 class="entry-title pb-3"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>');?>
    2730        <?php }?>
    28         <div class="post-summery">
    29             <?php if ($saas_software_post_page_title == 1 ) {?>
    30                 <?php the_title('<h3 class="entry-title pb-3"><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h3>');?>
    31             <?php }?>
    32             <?php if ($saas_software_post_page_content == 1 ) {?>
    33                 <p><?php echo wp_trim_words( get_the_content(), esc_attr(get_theme_mod('saas_software_post_page_excerpt_length', 30)) ); ?><?php echo esc_html(get_theme_mod('saas_software_post_page_excerpt_suffix','[...]')); ?></p>
    34             <?php }?>
    35             <a href="<?php the_permalink(); ?>" class="btn-text"><?php esc_html_e('Read More','saas-software'); ?></a>
    36         </div>
    37     </article>
    38 </div>
     31        <?php if ($saas_software_post_page_content == 1 ) {?>
     32            <p><?php echo wp_trim_words( get_the_content(), esc_attr(get_theme_mod('saas_software_post_page_excerpt_length', 30)) ); ?><?php echo esc_html(get_theme_mod('saas_software_post_page_excerpt_suffix','[...]')); ?></p>
     33        <?php }?>
     34        <a href="<?php the_permalink(); ?>" class="btn-text"><?php esc_html_e('Read More','saas-software'); ?></a>
     35    </div>
     36</article>
Note: See TracChangeset for help on using the changeset viewer.