Plugin Directory

Changeset 2790908


Ignore:
Timestamp:
09/27/2022 04:31:37 PM (4 years ago)
Author:
wpfeelteam
Message:

version 1.4.0 released

Location:
faq-for-woocommerce/trunk
Files:
1 added
13 edited

Legend:

Unmodified
Added
Removed
  • faq-for-woocommerce/trunk/assets/public/css/style.css

    r2778411 r2790908  
    33}
    44
     5@font-face {
     6  font-family: "Nunito";
     7  font-weight: 900;
     8  src: url("../fonts/Nunito-Black.ttf") format("truetype");
     9}
     10@font-face {
     11  font-family: "Nunito";
     12  font-weight: 700;
     13  src: url("../fonts/Nunito-Bold.ttf") format("truetype");
     14}
     15@font-face {
     16  font-family: "Nunito";
     17  font-weight: 600;
     18  src: url("../fonts/Nunito-SemiBold.ttf") format("truetype");
     19}
     20@font-face {
     21  font-family: "Nunito";
     22  font-weight: 400;
     23  src: url("../fonts/Nunito-Regular.ttf") format("truetype");
     24}
    525#ffw-main-wrapper .ffw-hide {
    626  display: none;
     
    1939#ffw-main-wrapper .ffw-btn-expand-collapse-all:hover {
    2040  box-shadow: 1px 1px 6px -4px #000;
     41}
     42#ffw-main-wrapper .ffw-wrapper {
     43  position: relative;
    2144}
    2245
     
    203226  margin: 0 !important;
    204227}
     228
     229/*# sourceMappingURL=style.css.map */
  • faq-for-woocommerce/trunk/assets/public/css/style.css.map

    r2786574 r2790908  
    1 {"version":3,"sourceRoot":"","sources":["style.scss"],"names":[],"mappings":"AAAA;EACC;;;AAGA;EACC;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAKH;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;;AAEC;EACC;EACA;;AAIA;EACC;;AAOH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAIA;EACC;EACA;EACA;EACA;;AAIF;EACC;EACA;;AAGD;EACC;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;;AAKH;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAMJ;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;;AAIF;EACC;EACA;;AAEA;EACC;;AAKH;EACC;EACA;;AAGC;EACC;EACA;;AAEA;EACC;;AAKA;EACC;;AAOD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAOD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAOD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAKH;EACC;;AAEA;EACC;;AAKF;EACC;;AAMA;EACC;EACA;EACA;EACA;EACA;EACA","file":"style.css"}
     1{"version":3,"sourceRoot":"","sources":["style.scss"],"names":[],"mappings":"AAAA;EACC;;;AAED;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAIA;EACC;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAIF;EACC;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;;AAEC;EACC;EACA;;AAIA;EACC;;AAOH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAIA;EACC;EACA;EACA;EACA;;AAIF;EACC;EACA;;AAGD;EACC;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;;AAKH;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAMJ;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;;AAIF;EACC;EACA;;AAEA;EACC;;AAKH;EACC;EACA;;AAGC;EACC;EACA;;AAEA;EACC;;AAKA;EACC;;AAOD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAOD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAOD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAKH;EACC;;AAEA;EACC;;AAKF;EACC;;AAMA;EACC;EACA;EACA;EACA;EACA;EACA","file":"style.css"}
  • faq-for-woocommerce/trunk/assets/public/css/style.min.css

    r2778411 r2790908  
    1 *{box-sizing:border-box}#ffw-main-wrapper .ffw-hide{display:none}#ffw-main-wrapper .ffw-btn-expand-collapse-all{background:#fff;color:#000;font-size:18px;padding:5px 10px;border-radius:3px;margin-bottom:20px;display:inline-block;cursor:pointer;border:1px solid #000}#ffw-main-wrapper .ffw-btn-expand-collapse-all:hover{box-shadow:1px 1px 6px -4px #000}.ffw-comment-wrapper{display:block;font-family:Nunito,sans-serif;font-weight:400}.ffw-comment-wrapper .ffw-comment-header{background:#fff;padding:10px 20px;cursor:pointer;box-shadow:0 2px 4px -4px #000;margin:20px 0 10px;border:1px solid #000}.ffw-comment-wrapper li.comment{display:flex!important;flex-direction:column}.ffw-comment-wrapper li.comment ol.children,.ffw-comment-wrapper li.comment ul.children{padding:5px 25px;box-sizing:border-box}.ffw-comment-wrapper li.comment ol .ffw-comment-body .ffw-comment-url,.ffw-comment-wrapper li.comment ul .ffw-comment-body .ffw-comment-url{padding:0}.ffw-comment-wrapper input[type=submit]{background:green;border-radius:5px;border-width:3px;border-color:#fff;padding:5px 15px!important;box-sizing:border-box;font-size:16px!important}.ffw-comment-wrapper textarea{box-shadow:#000 0 5px 14px -13px;border:none;border-bottom:2px solid green;font-size:14px;box-sizing:border-box;margin:0!important}.ffw-comment-wrapper .comment-form-comment label{font-size:14px;margin-bottom:6px;font-weight:700;display:block}.ffw-comment-wrapper .ffw-comment-reply-button{cursor:pointer;color:#00f}.ffw-comment-wrapper .ffw-comment-body{margin:0;margin-bottom:20px}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta{margin:5px 0;padding:0;display:flex;justify-content:flex-start;align-items:flex-end}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-author{display:flex;align-items:center;justify-content:flex-start}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-author .ffw-comment-url{font-size:20px;display:flex;justify-content:flex-start;align-items:flex-end;text-decoration:none}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-author .ffw-comment-url img{margin-right:5px}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-author .ffw-comment-url span.fn{font-size:18px;text-decoration:none}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-metadata{padding:0;margin:0;margin-left:100px;font-size:14px}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-metadata a{color:#8d8383}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-metadata a.ffw-comment-edit-link{color:#fff;background:#202022;padding:3px 6px;border-radius:5px;text-decoration:none;font-size:12px;margin-left:3px}.ffw-comment-wrapper .ffw-comment-body .ffw-comment-content{margin:5px 0;padding:0}.ffw-comment-wrapper .ffw-comment-body .ffw-comment-content p{max-width:100%!important;font-size:16px;font-weight:600!important}.ffw-comment-wrapper .ffw-comment-body .ffw-comment-footer-meta{margin:0;padding:0;font-size:12px}.ffw-comment-wrapper .ffw-comment-body .ffw-comment-footer-meta .ffw-by-post-author{color:#585656;margin-left:5px}.ffw-comment-wrapper .ffw-comment-body .reply{margin:0;font-size:14px}.ffw-comment-wrapper .ffw-comment-body .reply a.ffw-comment-reply-link{color:#8a2be2}.ffw-comment-wrapper .ffw-comment-respond{border-top:2px solid #dedede;padding-top:30px}.ffw-comment-wrapper .ffw-comment-respond form .logged-in-as{font-size:14px;margin:0}.ffw-comment-wrapper .ffw-comment-respond form .logged-in-as *{color:#000}.ffw-comment-wrapper .ffw-comment-respond form .ffw-comment-form-comment label[for=comment]{display:none}.ffw-comment-wrapper .ffw-comment-respond form .ffw-comment-form-author input[type=text]{margin:0;max-width:100%;padding:5px 10px;box-sizing:border-box;font-size:14px;border:0;border-bottom:2px solid green}.ffw-comment-wrapper .ffw-comment-respond form .ffw-comment-form-email input[type=email]{margin:0;max-width:100%;padding:5px 10px;box-sizing:border-box;font-size:14px;border:0;border-bottom:2px solid green}.ffw-comment-wrapper .ffw-comment-respond form .ffw-comment-form-url input[type=url]{margin:0;max-width:100%;padding:5px 10px;box-sizing:border-box;font-size:14px;border:0;border-bottom:2px solid green}.ffw-comment-wrapper .ffw-comment-respond form .comment-form-cookies-consent{margin-bottom:0}.ffw-comment-wrapper .ffw-comment-respond form .comment-form-cookies-consent label{font-size:14px}.ffw-comment-wrapper .ffw-comment-respond form .form-submit{margin-top:10px}.ffw-comment-wrapper .ffw-comment-respond form input[type=email],.ffw-comment-wrapper .ffw-comment-respond form input[type=text],.ffw-comment-wrapper .ffw-comment-respond form input[type=url]{box-shadow:#000 0 5px 14px -13px;border:none;border-bottom:2px solid green;font-size:14px;box-sizing:border-box;margin:0!important}
     1*{box-sizing:border-box}@font-face{font-family:Nunito;font-weight:900;src:url(../fonts/Nunito-Black.ttf) format("truetype")}@font-face{font-family:Nunito;font-weight:700;src:url(../fonts/Nunito-Bold.ttf) format("truetype")}@font-face{font-family:Nunito;font-weight:600;src:url(../fonts/Nunito-SemiBold.ttf) format("truetype")}@font-face{font-family:Nunito;font-weight:400;src:url(../fonts/Nunito-Regular.ttf) format("truetype")}#ffw-main-wrapper .ffw-hide{display:none}#ffw-main-wrapper .ffw-btn-expand-collapse-all{background:#fff;color:#000;font-size:18px;padding:5px 10px;border-radius:3px;margin-bottom:20px;display:inline-block;cursor:pointer;border:1px solid #000}#ffw-main-wrapper .ffw-btn-expand-collapse-all:hover{box-shadow:1px 1px 6px -4px #000}#ffw-main-wrapper .ffw-wrapper{position:relative}.ffw-comment-wrapper{display:block;font-family:Nunito,sans-serif;font-weight:400}.ffw-comment-wrapper .ffw-comment-header{background:#fff;padding:10px 20px;cursor:pointer;box-shadow:0 2px 4px -4px #000;margin:20px 0 10px;border:1px solid #000}.ffw-comment-wrapper li.comment{display:flex!important;flex-direction:column}.ffw-comment-wrapper li.comment ol.children,.ffw-comment-wrapper li.comment ul.children{padding:5px 25px;box-sizing:border-box}.ffw-comment-wrapper li.comment ol .ffw-comment-body .ffw-comment-url,.ffw-comment-wrapper li.comment ul .ffw-comment-body .ffw-comment-url{padding:0}.ffw-comment-wrapper input[type=submit]{background:green;border-radius:5px;border-width:3px;border-color:#fff;padding:5px 15px!important;box-sizing:border-box;font-size:16px!important}.ffw-comment-wrapper textarea{box-shadow:#000 0 5px 14px -13px;border:none;border-bottom:2px solid green;font-size:14px;box-sizing:border-box;margin:0!important}.ffw-comment-wrapper .comment-form-comment label{font-size:14px;margin-bottom:6px;font-weight:700;display:block}.ffw-comment-wrapper .ffw-comment-reply-button{cursor:pointer;color:#00f}.ffw-comment-wrapper .ffw-comment-body{margin:0;margin-bottom:20px}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta{margin:5px 0;padding:0;display:flex;justify-content:flex-start;align-items:flex-end}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-author{display:flex;align-items:center;justify-content:flex-start}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-author .ffw-comment-url{font-size:20px;display:flex;justify-content:flex-start;align-items:flex-end;text-decoration:none}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-author .ffw-comment-url img{margin-right:5px}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-author .ffw-comment-url span.fn{font-size:18px;text-decoration:none}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-metadata{padding:0;margin:0;margin-left:100px;font-size:14px}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-metadata a{color:#8d8383}.ffw-comment-wrapper .ffw-comment-body footer.ffw-comment-meta .ffw-comment-metadata a.ffw-comment-edit-link{color:#fff;background:#202022;padding:3px 6px;border-radius:5px;text-decoration:none;font-size:12px;margin-left:3px}.ffw-comment-wrapper .ffw-comment-body .ffw-comment-content{margin:5px 0;padding:0}.ffw-comment-wrapper .ffw-comment-body .ffw-comment-content p{max-width:100%!important;font-size:16px;font-weight:600!important}.ffw-comment-wrapper .ffw-comment-body .ffw-comment-footer-meta{margin:0;padding:0;font-size:12px}.ffw-comment-wrapper .ffw-comment-body .ffw-comment-footer-meta .ffw-by-post-author{color:#585656;margin-left:5px}.ffw-comment-wrapper .ffw-comment-body .reply{margin:0;font-size:14px}.ffw-comment-wrapper .ffw-comment-body .reply a.ffw-comment-reply-link{color:#8a2be2}.ffw-comment-wrapper .ffw-comment-respond{border-top:2px solid #dedede;padding-top:30px}.ffw-comment-wrapper .ffw-comment-respond form .logged-in-as{font-size:14px;margin:0}.ffw-comment-wrapper .ffw-comment-respond form .logged-in-as *{color:#000}.ffw-comment-wrapper .ffw-comment-respond form .ffw-comment-form-comment label[for=comment]{display:none}.ffw-comment-wrapper .ffw-comment-respond form .ffw-comment-form-author input[type=text]{margin:0;max-width:100%;padding:5px 10px;box-sizing:border-box;font-size:14px;border:0;border-bottom:2px solid green}.ffw-comment-wrapper .ffw-comment-respond form .ffw-comment-form-email input[type=email]{margin:0;max-width:100%;padding:5px 10px;box-sizing:border-box;font-size:14px;border:0;border-bottom:2px solid green}.ffw-comment-wrapper .ffw-comment-respond form .ffw-comment-form-url input[type=url]{margin:0;max-width:100%;padding:5px 10px;box-sizing:border-box;font-size:14px;border:0;border-bottom:2px solid green}.ffw-comment-wrapper .ffw-comment-respond form .comment-form-cookies-consent{margin-bottom:0}.ffw-comment-wrapper .ffw-comment-respond form .comment-form-cookies-consent label{font-size:14px}.ffw-comment-wrapper .ffw-comment-respond form .form-submit{margin-top:10px}.ffw-comment-wrapper .ffw-comment-respond form input[type=email],.ffw-comment-wrapper .ffw-comment-respond form input[type=text],.ffw-comment-wrapper .ffw-comment-respond form input[type=url]{box-shadow:#000 0 5px 14px -13px;border:none;border-bottom:2px solid green;font-size:14px;box-sizing:border-box;margin:0!important}
  • faq-for-woocommerce/trunk/assets/public/css/style.scss

    r2786574 r2790908  
    22    box-sizing: border-box;
    33}
     4@font-face {
     5    font-family: 'Nunito';
     6    font-weight: 900;
     7    src: url('../fonts/Nunito-Black.ttf')  format('truetype'),
     8}
     9
     10@font-face {
     11    font-family: 'Nunito';
     12    font-weight: 700;
     13    src: url('../fonts/Nunito-Bold.ttf')  format('truetype'),
     14}
     15
     16@font-face {
     17    font-family: 'Nunito';
     18    font-weight: 600;
     19    src: url('../fonts/Nunito-SemiBold.ttf')  format('truetype'),
     20}
     21
     22@font-face {
     23    font-family: 'Nunito';
     24    font-weight: 400;
     25    src: url('../fonts/Nunito-Regular.ttf')  format('truetype'),
     26}
     27
    428#ffw-main-wrapper {
    529    .ffw-hide {
     
    2145        }
    2246    }
     47
     48    .ffw-wrapper {
     49        position: relative;
     50    }
    2351}
    2452
  • faq-for-woocommerce/trunk/faq-for-woocommerce.php

    r2786574 r2790908  
    44 * Plugin URI: https://wordpress.org/plugins/faq-for-woocommerce/
    55 * Description: This plugin shows faq question and answers for per product with comment and FAQ schema support.
    6  * Version: 1.3.35
     6 * Version: 1.4.0
    77 * Author: Optemiz
    88 * Author URI: https://optemiz.com/
     
    3030     * @since 1.0.0
    3131     */
    32     define( 'FFW_VERSION', '1.3.35' );
     32    define( 'FFW_VERSION', '1.4.0' );
    3333}
    3434
     
    6262include_once FFW_FILE_DIR . '/includes/class-faq-woocommerce.php';
    6363
    64 // Include tracker file
    65 include dirname(__FILE__) . '/includes/tracker/freemius-helper.php';
     64/**
     65 * Initialize the plugin tracker
     66 *
     67 * @return void
     68 */
     69function appsero_init_tracker_faq_for_woocommerce() {
     70
     71    if ( ! class_exists( 'Appsero\Client' ) ) {
     72        require_once __DIR__ . '/lib/tracker/appsero/src/Client.php';
     73    }
     74
     75    $client = new Appsero\Client( 'c989292b-3c3e-454a-a216-cc0df37fb6d9', 'XPlainer – WooCommerce Product FAQ', __FILE__ );
     76
     77    // Active insights
     78    $client->insights()->init();
     79
     80}
     81appsero_init_tracker_faq_for_woocommerce();
    6682
    6783/**
  • faq-for-woocommerce/trunk/includes/admin/class-faq-woocommerce-admin-assets.php

    r2760626 r2790908  
    3232            // Register admin styles.
    3333            wp_register_style( 'ffw_bootstrap', FFW_PLUGIN_URL . '/assets/admin/css/bootstrap.min.css', array(), FFW_PLUGIN_VERSION );
    34             wp_register_style( 'ffw_select2_styles', FFW_PLUGIN_URL . '/assets/admin/css/ffw-select2.min.css', array(), FFW_PLUGIN_VERSION );
    3534            wp_register_style( 'ffw_admin_menu_styles', FFW_PLUGIN_URL . '/assets/admin/css/faq-woocommerce-admin.min.css', array(), FFW_PLUGIN_VERSION );
    3635            wp_register_style( 'ffw_admin_popup_styles', FFW_PLUGIN_URL . '/assets/admin/css/faq-woocommerce-popup.min.css', array(), FFW_PLUGIN_VERSION );
    3736
    38            
    3937
    4038            // Add RTL support for admin styles.
     
    4846
    4947            if ( isset($_GET['post']) && isset($_GET['action']) && 'edit' === $_GET['action'] ) {
    50                 wp_enqueue_style( 'ffw_select2_styles' );
     48                wp_enqueue_style( 'woocommerce_admin_styles' );
    5149                wp_enqueue_style( 'ffw_admin_popup_styles' );
    52             } elseif( isset($_GET['page']) && 'woocommerce-faq' === $_GET['page'] ) {
    53                 wp_enqueue_style( 'ffw_select2_styles' );
     50            }elseif( isset($_GET['post_type']) && 'ffw' === $_GET['post_type'] ) {
     51                wp_enqueue_style( 'woocommerce_admin_styles' );
     52            }elseif( isset($_GET['page']) && 'woocommerce-faq' === $_GET['post_type'] ) {
     53                wp_enqueue_style( 'woocommerce_admin_styles' );
    5454            }
    5555        }
     
    7373            }
    7474
     75            // dependency
     76            $dep = array( 'jquery', 'jquery-blockui', 'jquery-ui-sortable', 'jquery-ui-widget', 'jquery-ui-core', 'jquery-tiptip', 'wp-color-picker');
     77
     78            if ( class_exists( 'WooCommerce' ) ) {
     79                $dep[] = 'wc-enhanced-select';
     80            }
     81
    7582            // Register scripts.
    7683            wp_register_script( 'ffw_bootstrap_js', FFW_PLUGIN_URL . '/assets/admin/js/bootstrap.min.js', array( 'jquery', 'jquery-blockui', 'jquery-ui-sortable', 'jquery-ui-widget', 'jquery-ui-core', 'jquery-tiptip' ), FFW_PLUGIN_VERSION, true );
    7784            wp_register_script( 'ffw_sweetalert', FFW_PLUGIN_URL . '/assets/admin/js/ffw-sweetalert.all.min.js', array( 'jquery', 'jquery-blockui', 'jquery-ui-sortable', 'jquery-ui-widget', 'jquery-ui-core', 'jquery-tiptip' ), FFW_PLUGIN_VERSION, true );
    78             wp_register_script( 'ffw_select2_js', FFW_PLUGIN_URL . '/assets/admin/js/ffw-select2.min.js', array( 'jquery', 'jquery-blockui', 'jquery-ui-sortable', 'jquery-ui-widget', 'jquery-ui-core', 'jquery-tiptip' ), FFW_PLUGIN_VERSION, true );
    79             wp_register_script( 'ffw_admin', FFW_PLUGIN_URL . '/assets/admin/js/faq-woocommerce-admin.min.js', array( 'jquery', 'jquery-blockui', 'jquery-ui-sortable', 'jquery-ui-widget', 'jquery-ui-core', 'jquery-tiptip', 'wp-color-picker' ), FFW_PLUGIN_VERSION, true );
     85            wp_register_script( 'ffw_admin', FFW_PLUGIN_URL . '/assets/admin/js/faq-woocommerce-admin.min.js', $dep, FFW_PLUGIN_VERSION, true );
    8086            wp_localize_script( 'ffw_admin', 'ffw_admin', [
    8187                'ajaxurl'               => admin_url( 'admin-ajax.php' ),
     
    8591            ] );
    8692
    87 
    88 
    8993            //Enqueue scripts
    9094            if( "ffw_page_woocommerce-faq" === $needle ) {
     
    9397
    9498            if ( isset($_GET['post']) && isset($_GET['action']) && 'edit' === $_GET['action'] ) {
    95                 wp_enqueue_script( 'ffw_select2_js' );
    9699                wp_enqueue_script( 'ffw_sweetalert' );
    97100                wp_enqueue_script( 'ffw_admin' );
     101            } elseif( isset($_GET['post_type']) && 'ffw' === $_GET['post_type'] ) {
     102                wp_enqueue_script( 'ffw_admin' );
    98103            } elseif( isset($_GET['page']) && 'woocommerce-faq' === $_GET['page'] ) {
    99                 wp_enqueue_script( 'ffw_select2_js' );
    100104                wp_enqueue_script( 'ffw_admin' );
    101105            }
  • faq-for-woocommerce/trunk/includes/admin/class-faq-woocommerce-admin.php

    r2772216 r2790908  
    3737        include_once dirname( __FILE__ ) . '/class-faq-woocommerce-admin-notices.php';
    3838        include_once dirname( __FILE__ ) . '/class-faq-woocommerce-admin-assets.php';
    39        
     39        include_once dirname( __FILE__ ) . '/class-ffw-metaboxes.php';
     40
    4041        //Setting page
    4142        include_once dirname( __FILE__ ) . '/class-faq-woocommerce-settings.php';
  • faq-for-woocommerce/trunk/includes/class-faq-comments.php

    r2760626 r2790908  
    184184        function ffw_redirect_on_comment_submit($location, $comment) {
    185185            if( isset($comment->comment_post_ID) && $comment->comment_post_ID == $this->faq_id ) {
    186                 error_log("when redirect: " . $comment->comment_post_ID);
    187186                $location = get_permalink($this->post_id);
    188187            }
  • faq-for-woocommerce/trunk/includes/ffw-helper.php

    r2786574 r2790908  
    194194        $content = '';
    195195
    196         $shortcode_wrap_class = $is_shortcode ? 'ffw-main-wrapper-shortcode' : '';
     196        $shortcode_wrap_class = $is_shortcode ? ['ffw-main-wrapper-shortcode'] : [];
    197197        if( ( isset($args['cat_ids']) && ! empty($args['cat_ids']) ) ) {
    198198            $faqs = get_product_faqs_by_cat_ids($args);
     
    203203        }
    204204
     205        $wrapper_classes = apply_filters('ffw_filter_template_wrapper_classes', ['ffw-main-wrapper'], $layout, $id);
     206        $wrapper_classes = array_merge($wrapper_classes, $shortcode_wrap_class);
     207        $wrapper_classes = implode(' ', $wrapper_classes);
     208
    205209        //faq schema
    206210        new FAQ_Woocommerce_Schema($faqs, $display_schema_type);
     
    211215        $ffw_display_all_answers = isset( $options['ffw_display_all_faq_answers'] ) ? $options['ffw_display_all_faq_answers'] : "2";
    212216
    213         //load fonts
    214         ?>
    215         <style type="text/css">
    216             @font-face {
    217                 font-family: 'Nunito';
    218                 font-weight: 900;
    219                 src: url('<?php echo FFW_PLUGIN_URL; ?>/assets/public/fonts/Nunito-Black.ttf')  format('truetype'),
    220             }
    221 
    222             @font-face {
    223                 font-family: 'Nunito';
    224                 font-weight: 700;
    225                 src: url('<?php echo FFW_PLUGIN_URL; ?>/assets/public/fonts/Nunito-Bold.ttf')  format('truetype'),
    226             }
    227 
    228             @font-face {
    229                 font-family: 'Nunito';
    230                 font-weight: 600;
    231                 src: url('<?php echo FFW_PLUGIN_URL; ?>/assets/public/fonts/Nunito-SemiBold.ttf')  format('truetype'),
    232             }
    233 
    234             @font-face {
    235                 font-family: 'Nunito';
    236                 font-weight: 400;
    237                 src: url('<?php echo FFW_PLUGIN_URL; ?>/assets/public/fonts/Nunito-Regular.ttf')  format('truetype'),
    238             }
    239         </style>
    240         <?php
    241217        //init layout name
    242218        $layout_name = '';
     
    262238        ob_start();
    263239
    264         $content .= '<div style="width: '.$width.'%;max-width: 100%;" class="ffw-main-wrapper'. esc_attr($shortcode_wrap_class) .'" id="ffw-main-wrapper">';
     240        $content .= '<div style="width: '.$width.'%;max-width: 100%;" class="'. esc_attr($wrapper_classes) .'" id="ffw-main-wrapper" data-product_id="'. esc_attr($id) .'" data-layout="'. esc_attr($layout) .'" >';
     241
     242        $content .= '<input type="hidden" id="ffw-hidden-faqs" value="' . base64_encode(json_encode($faqs)) . '" />';
     243
     244        do_action('ffw_search_input');
    265245
    266246        do_action('ffw_before_faq_start');
     
    268248        do_action('ffw_expand_collapse_all');
    269249
    270         //get faq templates
    271         if ( 1 === $layout || 2 === $layout ) {
    272             include FFW_FILE_DIR . '/views/ffw-classic-template.php';
    273         } elseif ( 3 === $layout ) {
    274             include FFW_FILE_DIR . '/views/ffw-trip-template.php';
    275         } elseif ( 4 === $layout ) {
    276             include FFW_FILE_DIR . '/views/ffw-pop-template.php';
    277         }
     250        //get faq templates
     251        if ( 1 === $layout || 2 === $layout ) {
     252            include FFW_FILE_DIR . '/views/ffw-classic-template.php';
     253        } elseif ( 3 === $layout ) {
     254            include FFW_FILE_DIR . '/views/ffw-trip-template.php';
     255        } elseif ( 4 === $layout ) {
     256            include FFW_FILE_DIR . '/views/ffw-pop-template.php';
     257        }
    278258
    279259        echo '<br>';
     
    284264
    285265        return $content . '</div>';
     266    }
     267}
     268
     269
     270if ( ! function_exists('ffw_get_layout') ) {
     271    /**
     272     * @param $faqs array faqs list
     273     * @param $layout int template number
     274     * @param $id int product id
     275     * @return string
     276     *
     277     * @since  1.4.0
     278     */
     279    function ffw_get_layout($faqs, $layout, $id ) {
     280        $content = '';
     281
     282        $display_schema_type = 'product_page';
     283
     284        // Get registered option
     285        $options    = get_option( 'ffw_general_settings' );
     286        $width      = (isset($options['ffw_width']) && !empty($options['ffw_width'])) ? $options['ffw_width'] : '100';
     287        $ffw_display_all_answers = isset( $options['ffw_display_all_faq_answers'] ) ? $options['ffw_display_all_faq_answers'] : "2";
     288
     289        //init layout name
     290        $layout_name = '';
     291
     292        // enqueue template CSS.
     293        if ( 1 === $layout ) {
     294            $layout_name = "ffw-classic-layout";
     295            wp_enqueue_style( 'ffw_classic_styles' );
     296        }elseif ( 2 === $layout ) {
     297            $layout_name = "ffw-whitish-layout";
     298            wp_enqueue_style( 'ffw_whitish_styles' );
     299        }elseif ( 3 === $layout ) {
     300            $layout_name = "ffw-trip-layout";
     301            wp_enqueue_style( 'ffw_trip_styles' );
     302        }elseif ( 4 === $layout ) {
     303            $layout_name = "ffw-pop-layout";
     304            wp_enqueue_style( 'ffw_pop_styles' );
     305        }
     306
     307        // general styles
     308        wp_enqueue_style( 'ffw_public_styles' );
     309
     310        ob_start();
     311
     312        //get faq templates
     313        if ( 1 === $layout || 2 === $layout ) {
     314            include FFW_FILE_DIR . '/views/ffw-classic-template.php';
     315        } elseif ( 3 === $layout ) {
     316            include FFW_FILE_DIR . '/views/ffw-trip-template.php';
     317        } elseif ( 4 === $layout ) {
     318            include FFW_FILE_DIR . '/views/ffw-pop-template.php';
     319        }
     320
     321        $content .= ob_get_clean();
     322
     323        return $content;
    286324    }
    287325}
     
    804842}
    805843add_filter( 'wp_robots', 'ffw_page_indexing' );
    806 
    807 if ( ! function_exists( 'ffw_fs' ) ) {
    808     // Create a helper function for easy SDK access.
    809     function ffw_fs() {
    810         global $ffw_fs;
    811 
    812         if ( ! isset( $ffw_fs ) ) {
    813             // Include Freemius SDK.
    814             require_once dirname(__FILE__) . '/freemius/start.php';
    815 
    816             $ffw_fs = fs_dynamic_init( array(
    817                 'id'                  => '11066',
    818                 'slug'                => 'faq-for-woocommerce',
    819                 'type'                => 'plugin',
    820                 'public_key'          => 'pk_c2fcd40c93b263aa8296b7ef88d38',
    821                 'is_premium'          => false,
    822                 'has_addons'          => false,
    823                 'has_paid_plans'      => false,
    824                 'menu'                => array(
    825                     'slug'           => 'edit.php?post_type=ffw',
    826                     'account'        => false,
    827                     'contact'        => false,
    828                     'support'        => false,
    829                 ),
    830             ) );
    831         }
    832 
    833         return $ffw_fs;
    834     }
    835 
    836     // Init Freemius.
    837     ffw_fs();
    838     // Signal that SDK was initiated.
    839     do_action( 'ffw_fs_loaded' );
    840 }
  • faq-for-woocommerce/trunk/readme.txt

    r2786574 r2790908  
    55Tested Up To: 6.0
    66Requires PHP: 5.6
    7 Stable tag: 1.3.35
     7Stable tag: 1.4.0
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    340340== Changelog ==
    341341
     342= 1.4.0 =
     343* Added: Product selector metabox in FAQ edit page.
     344* Fixed: Can't declare FS_Storage class issue has been fixed.
     345
    342346= 1.3.35 =
    343347* Fixed: After deleting all the faqs, new insertion does not work properly has been fixed.
  • faq-for-woocommerce/trunk/views/ffw-classic-template.php

    r2760626 r2790908  
    1 <div class="ffw-wrapper <?php echo esc_attr($layout_name); ?>" id="ffw-wrapper">
    2     <div class="ffw-accordion">
    3         <?php
    4         if ( is_array($faqs) && ! empty($faqs) ) {
    5             foreach ( $faqs as $faq ) {
    6                 ?>
    7                 <div class="ffw-accordion-item">
    8                     <button class="ffw-button <?php echo isset($ffw_display_all_answers) && '1' === $ffw_display_all_answers ? 'ffw-active' : '';  ?>">
    9                         <?php echo sprintf('<span class="ffw-question">%s</span>', esc_html__($faq['question'], 'faq-for-woocommerce') ); ?>
    10                         <span class="ffw-classic-icon" aria-hidden="true"></span>
    11                     </button>
    12                     <div class="ffw-classic-answer" style="display:block;">
    13                         <?php
    14                         $post_id = get_the_ID();
    15                         $faq_id = (int) $faq['id'];
    16                         ffw_show_content($faq_id);
     1<div class="ffw-layout-container">
     2    <div class="ffw-wrapper <?php echo esc_attr($layout_name); ?>" data-layout="<?php echo esc_attr($layout); ?>" id="ffw-wrapper">
     3        <div class="ffw-accordion">
     4            <?php
     5            if ( is_array($faqs) && ! empty($faqs) ) {
     6                $counter = 0;
     7                foreach ( $faqs as $faq ) {
     8                    do_action('ffw_before_display_faq_item', array('faqs' => $faqs, 'counter' => $counter));
     9                    ?>
     10                    <div class="ffw-accordion-item">
     11                        <button class="ffw-button <?php echo isset($ffw_display_all_answers) && '1' === $ffw_display_all_answers ? 'ffw-active' : '';  ?>">
     12                            <?php echo sprintf('<span class="ffw-question">%s</span>', esc_html__($faq['question'], 'faq-for-woocommerce') ); ?>
     13                            <span class="ffw-classic-icon" aria-hidden="true"></span>
     14                        </button>
     15                        <div class="ffw-classic-answer" style="display:block;">
     16                            <?php
     17                            $post_id = get_the_ID();
     18                            $faq_id = (int) $faq['id'];
     19                            ffw_show_content($faq_id);
    1720
    18                         //faq comment
    19                         ffw_comments($post_id, $faq);
    20                         ?>
     21                            //faq comment
     22                            ffw_comments($post_id, $faq);
     23                            ?>
     24                        </div>
    2125                    </div>
    22                 </div>
    23                 <?php
    24             }
    25         }
    26         ?>
     26                    <?php
     27                    do_action('ffw_after_display_faq_item', array('faqs' => $faqs, 'counter' => $counter));
     28                    $counter++;
     29                }
     30            }
     31            ?>
     32        </div>
    2733    </div>
    2834</div>
    29 
  • faq-for-woocommerce/trunk/views/ffw-pop-template.php

    r2760626 r2790908  
    1 <div class="ffw-wrapper ffw-pop-wrapper <?php echo esc_attr($layout_name); ?>" id="ffw-wrapper">
     1<div class="ffw-layout-container">
     2    <div class="ffw-wrapper ffw-pop-wrapper <?php echo esc_attr($layout_name); ?>" data-layout="<?php echo esc_attr($layout); ?>" id="ffw-wrapper">
    23    <div class="ffw-pop-container">
    34        <?php
    4         $counter = 0;
    55        if ( is_array($faqs) && ! empty($faqs) ) {
     6            $counter = 0;
    67            foreach ( $faqs as $faq ) {
     8                do_action('ffw_before_display_faq_item', array('faqs' => $faqs, 'counter' => $counter));
    79                ?>
    810                <div class="ffw-collapse ffw-accordion-item">
     
    2022                </div>
    2123                <?php
     24                do_action('ffw_after_display_faq_item', array('faqs' => $faqs, 'counter' => $counter));
     25                $counter++;
    2226            }
    23             $counter++;
    2427        }
    2528        ?>
    2629    </div>
    2730</div>
    28 
     31</div>
  • faq-for-woocommerce/trunk/views/ffw-trip-template.php

    r2760626 r2790908  
    1 <div class="ffw-wrapper ffw-trip-wrapper <?php echo esc_attr($layout_name); ?>" id="ffw-wrapper">
    2     <div style="position: absolute; width: 0px; height: 0px;">
     1<div class="ffw-layout-container">
     2    <div class="ffw-wrapper ffw-trip-wrapper <?php echo esc_attr($layout_name); ?>" data-layout="<?php echo esc_attr($layout); ?>" id="ffw-wrapper">
     3    <div style="position: absolute; width: 0px; height: 0px;">
    34        <svg xmlns="http://www.w3.org/2000/svg">
    45            <symbol viewBox="0 0 24 24" id="expand-more">
     
    1213    <?php
    1314    if ( is_array($faqs) && ! empty($faqs) ) {
     15        $counter = 0;
    1416        foreach ( $faqs as $faq ) {
     17            do_action('ffw_before_display_faq_item', array('faqs' => $faqs, 'counter' => $counter));
    1518            ?>
    1619            <details <?php echo isset($ffw_display_all_answers) && '1' === $ffw_display_all_answers ? 'open' : '';  ?>>
     
    2730                    ?>
    2831                </div>
    29 
    3032                <?php
    3133                    //faq comment
    3234                    ffw_comments($post_id, $faq);
    3335                ?>
    34 
    3536            </details>
    3637            <?php
     38            do_action('ffw_after_display_faq_item', array('faqs' => $faqs, 'counter' => $counter));
     39            $counter++;
    3740        }
    3841    }
    3942    ?>
    4043</div>
     44</div>
Note: See TracChangeset for help on using the changeset viewer.