Changeset 2790908
- Timestamp:
- 09/27/2022 04:31:37 PM (4 years ago)
- Location:
- faq-for-woocommerce/trunk
- Files:
-
- 1 added
- 13 edited
-
assets/public/css/style.css (modified) (3 diffs)
-
assets/public/css/style.css.map (modified) (1 diff)
-
assets/public/css/style.min.css (modified) (1 diff)
-
assets/public/css/style.scss (modified) (2 diffs)
-
faq-for-woocommerce.php (modified) (3 diffs)
-
includes/admin/class-faq-woocommerce-admin-assets.php (modified) (5 diffs)
-
includes/admin/class-faq-woocommerce-admin.php (modified) (1 diff)
-
includes/admin/class-ffw-metaboxes.php (added)
-
includes/class-faq-comments.php (modified) (1 diff)
-
includes/ffw-helper.php (modified) (7 diffs)
-
readme.txt (modified) (2 diffs)
-
views/ffw-classic-template.php (modified) (1 diff)
-
views/ffw-pop-template.php (modified) (2 diffs)
-
views/ffw-trip-template.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
faq-for-woocommerce/trunk/assets/public/css/style.css
r2778411 r2790908 3 3 } 4 4 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 } 5 25 #ffw-main-wrapper .ffw-hide { 6 26 display: none; … … 19 39 #ffw-main-wrapper .ffw-btn-expand-collapse-all:hover { 20 40 box-shadow: 1px 1px 6px -4px #000; 41 } 42 #ffw-main-wrapper .ffw-wrapper { 43 position: relative; 21 44 } 22 45 … … 203 226 margin: 0 !important; 204 227 } 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;;;AA GA;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 2 2 box-sizing: border-box; 3 3 } 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 4 28 #ffw-main-wrapper { 5 29 .ffw-hide { … … 21 45 } 22 46 } 47 48 .ffw-wrapper { 49 position: relative; 50 } 23 51 } 24 52 -
faq-for-woocommerce/trunk/faq-for-woocommerce.php
r2786574 r2790908 4 4 * Plugin URI: https://wordpress.org/plugins/faq-for-woocommerce/ 5 5 * Description: This plugin shows faq question and answers for per product with comment and FAQ schema support. 6 * Version: 1. 3.356 * Version: 1.4.0 7 7 * Author: Optemiz 8 8 * Author URI: https://optemiz.com/ … … 30 30 * @since 1.0.0 31 31 */ 32 define( 'FFW_VERSION', '1. 3.35' );32 define( 'FFW_VERSION', '1.4.0' ); 33 33 } 34 34 … … 62 62 include_once FFW_FILE_DIR . '/includes/class-faq-woocommerce.php'; 63 63 64 // Include tracker file 65 include dirname(__FILE__) . '/includes/tracker/freemius-helper.php'; 64 /** 65 * Initialize the plugin tracker 66 * 67 * @return void 68 */ 69 function 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 } 81 appsero_init_tracker_faq_for_woocommerce(); 66 82 67 83 /** -
faq-for-woocommerce/trunk/includes/admin/class-faq-woocommerce-admin-assets.php
r2760626 r2790908 32 32 // Register admin styles. 33 33 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 );35 34 wp_register_style( 'ffw_admin_menu_styles', FFW_PLUGIN_URL . '/assets/admin/css/faq-woocommerce-admin.min.css', array(), FFW_PLUGIN_VERSION ); 36 35 wp_register_style( 'ffw_admin_popup_styles', FFW_PLUGIN_URL . '/assets/admin/css/faq-woocommerce-popup.min.css', array(), FFW_PLUGIN_VERSION ); 37 36 38 39 37 40 38 // Add RTL support for admin styles. … … 48 46 49 47 if ( isset($_GET['post']) && isset($_GET['action']) && 'edit' === $_GET['action'] ) { 50 wp_enqueue_style( ' ffw_select2_styles' );48 wp_enqueue_style( 'woocommerce_admin_styles' ); 51 49 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' ); 54 54 } 55 55 } … … 73 73 } 74 74 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 75 82 // Register scripts. 76 83 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 ); 77 84 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 ); 80 86 wp_localize_script( 'ffw_admin', 'ffw_admin', [ 81 87 'ajaxurl' => admin_url( 'admin-ajax.php' ), … … 85 91 ] ); 86 92 87 88 89 93 //Enqueue scripts 90 94 if( "ffw_page_woocommerce-faq" === $needle ) { … … 93 97 94 98 if ( isset($_GET['post']) && isset($_GET['action']) && 'edit' === $_GET['action'] ) { 95 wp_enqueue_script( 'ffw_select2_js' );96 99 wp_enqueue_script( 'ffw_sweetalert' ); 97 100 wp_enqueue_script( 'ffw_admin' ); 101 } elseif( isset($_GET['post_type']) && 'ffw' === $_GET['post_type'] ) { 102 wp_enqueue_script( 'ffw_admin' ); 98 103 } elseif( isset($_GET['page']) && 'woocommerce-faq' === $_GET['page'] ) { 99 wp_enqueue_script( 'ffw_select2_js' );100 104 wp_enqueue_script( 'ffw_admin' ); 101 105 } -
faq-for-woocommerce/trunk/includes/admin/class-faq-woocommerce-admin.php
r2772216 r2790908 37 37 include_once dirname( __FILE__ ) . '/class-faq-woocommerce-admin-notices.php'; 38 38 include_once dirname( __FILE__ ) . '/class-faq-woocommerce-admin-assets.php'; 39 39 include_once dirname( __FILE__ ) . '/class-ffw-metaboxes.php'; 40 40 41 //Setting page 41 42 include_once dirname( __FILE__ ) . '/class-faq-woocommerce-settings.php'; -
faq-for-woocommerce/trunk/includes/class-faq-comments.php
r2760626 r2790908 184 184 function ffw_redirect_on_comment_submit($location, $comment) { 185 185 if( isset($comment->comment_post_ID) && $comment->comment_post_ID == $this->faq_id ) { 186 error_log("when redirect: " . $comment->comment_post_ID);187 186 $location = get_permalink($this->post_id); 188 187 } -
faq-for-woocommerce/trunk/includes/ffw-helper.php
r2786574 r2790908 194 194 $content = ''; 195 195 196 $shortcode_wrap_class = $is_shortcode ? 'ffw-main-wrapper-shortcode' : '';196 $shortcode_wrap_class = $is_shortcode ? ['ffw-main-wrapper-shortcode'] : []; 197 197 if( ( isset($args['cat_ids']) && ! empty($args['cat_ids']) ) ) { 198 198 $faqs = get_product_faqs_by_cat_ids($args); … … 203 203 } 204 204 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 205 209 //faq schema 206 210 new FAQ_Woocommerce_Schema($faqs, $display_schema_type); … … 211 215 $ffw_display_all_answers = isset( $options['ffw_display_all_faq_answers'] ) ? $options['ffw_display_all_faq_answers'] : "2"; 212 216 213 //load fonts214 ?>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 <?php241 217 //init layout name 242 218 $layout_name = ''; … … 262 238 ob_start(); 263 239 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'); 265 245 266 246 do_action('ffw_before_faq_start'); … … 268 248 do_action('ffw_expand_collapse_all'); 269 249 270 //get faq templates271 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 } 278 258 279 259 echo '<br>'; … … 284 264 285 265 return $content . '</div>'; 266 } 267 } 268 269 270 if ( ! 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; 286 324 } 287 325 } … … 804 842 } 805 843 add_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 5 5 Tested Up To: 6.0 6 6 Requires PHP: 5.6 7 Stable tag: 1. 3.357 Stable tag: 1.4.0 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 340 340 == Changelog == 341 341 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 342 346 = 1.3.35 = 343 347 * 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); 17 20 18 //faq comment 19 ffw_comments($post_id, $faq); 20 ?> 21 //faq comment 22 ffw_comments($post_id, $faq); 23 ?> 24 </div> 21 25 </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> 27 33 </div> 28 34 </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"> 2 3 <div class="ffw-pop-container"> 3 4 <?php 4 $counter = 0;5 5 if ( is_array($faqs) && ! empty($faqs) ) { 6 $counter = 0; 6 7 foreach ( $faqs as $faq ) { 8 do_action('ffw_before_display_faq_item', array('faqs' => $faqs, 'counter' => $counter)); 7 9 ?> 8 10 <div class="ffw-collapse ffw-accordion-item"> … … 20 22 </div> 21 23 <?php 24 do_action('ffw_after_display_faq_item', array('faqs' => $faqs, 'counter' => $counter)); 25 $counter++; 22 26 } 23 $counter++;24 27 } 25 28 ?> 26 29 </div> 27 30 </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;"> 3 4 <svg xmlns="http://www.w3.org/2000/svg"> 4 5 <symbol viewBox="0 0 24 24" id="expand-more"> … … 12 13 <?php 13 14 if ( is_array($faqs) && ! empty($faqs) ) { 15 $counter = 0; 14 16 foreach ( $faqs as $faq ) { 17 do_action('ffw_before_display_faq_item', array('faqs' => $faqs, 'counter' => $counter)); 15 18 ?> 16 19 <details <?php echo isset($ffw_display_all_answers) && '1' === $ffw_display_all_answers ? 'open' : ''; ?>> … … 27 30 ?> 28 31 </div> 29 30 32 <?php 31 33 //faq comment 32 34 ffw_comments($post_id, $faq); 33 35 ?> 34 35 36 </details> 36 37 <?php 38 do_action('ffw_after_display_faq_item', array('faqs' => $faqs, 'counter' => $counter)); 39 $counter++; 37 40 } 38 41 } 39 42 ?> 40 43 </div> 44 </div>
Note: See TracChangeset
for help on using the changeset viewer.