Changeset 2783512
- Timestamp:
- 09/12/2022 05:18:55 PM (3 years ago)
- Location:
- hookywoo/trunk
- Files:
-
- 7 added
- 6 edited
-
README.md (modified) (5 diffs)
-
images/cart.png (added)
-
images/checkout1.png (added)
-
images/checkout2.png (added)
-
includes/cart-page-fields.php (added)
-
includes/checkout-page-fields.php (added)
-
includes/hw-cart.php (added)
-
includes/hw-checkout.php (added)
-
includes/hw-shop.php (modified) (7 diffs)
-
includes/hw-single-product.php (modified) (7 diffs)
-
includes/loop-classes.php (modified) (2 diffs)
-
includes/shop-page-fields.php (modified) (1 diff)
-
includes/single-page-fields.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
hookywoo/trunk/README.md
r2133637 r2783512 4 4 License: GNU GENERAL PUBLIC LICENSE 5 5 License URI: http://fsf.org/ 6 Requires at least: 3.7.17 Tested up to: 5.2.28 Stable tag: 1.5.19 Requires PHP: 5.66 Requires at least: 5.0.1 7 Tested up to: 6.2.0 8 Stable tag: 2.0.0 9 Requires PHP: 7.0 10 10 11 11 A WYSIWYG solution for adding content to the majority of all WooCommerce Action Hooks. 12 12 13 13 == Description == 14 14 … … 20 20 4. Check your work on the public facing side of the site. 21 21 22 Stylesheet is included for the basic layout of the plugin. 22 Stylesheet is included for the basic layout of the plugin. 23 23 All hook divs have their own class so you can update the CSS however you need to. 24 24 … … 26 26 The "after cart" and "before product tabs" divs are both set to clear:all; for basic layout reasons. Those, and all others, can be over ridden in your own theme's stylesheet. 27 27 28 Includes "Shop/Archive" , "Single Product" Hooks. 29 For PRO Version (includes Checkout and Cart pages), please visit <a href="https://ridgeviewtechnology.com/product/hookywoo-woocommerce-hooks-customizer">RidgeView Technology</a> 28 Includes "Shop/Archive" , "Single Product", "Cart" and "Checkout" Hooks. 30 29 31 <a href="https:// ridgeviewtechnology.com/about-ridgeview-technology" target="_blank">Contact Us</a>30 <a href="https://madcowweb.com/contact-us/" target="_blank">Contact Us</a> 32 31 == Installation == 33 32 34 33 Activate the plugin through the 'Plugins' menu in WordPress. 35 34 Settings page is found under "WooCommerce - HookyWoo Settings". … … 37 36 38 37 == Frequently Asked Questions == 39 38 40 39 = What about styled text and images? = 41 40 42 41 You can put any sort of HTML you like in that text area. 43 42 For example: … … 47 46 `<div class="my-cool-div">My Awesome Stuff inside my div</div>` 48 47 49 = Will I lose my changes if I up grade =50 51 No. The data is stored safely in the database. Just remove the Standard Plugin and Upload the Pro version as you would any other plugin.48 = Will I lose my changes if I update = 49 50 No. The data is stored safely in the database. 52 51 53 52 == Changelog == 53 = 2.0.0 = 54 * Added Cart and Checkout page functionality 55 * Updated readme file with more instructions 56 * Removed images from interface 57 * Added new elements for cart and checkout - list items - so they display correctly 54 58 = 1.1.0 = 55 59 * Added tabbed function to better separate page sections 56 60 * Updated readme file with more instructions 57 58 a 59 = 1.4.1 = 60 * Core code update, Verify functionality with latest WooCommerce Updates 61 = 1.3.0 = 62 * Included Cart and Checkout pages 63 == Upgrade Notice == 64 1.3.0 65 Including cart and checkout pages 61 66 = 1.4.5 = 62 * Fix php errors for empty indexes on empty fields67 fix php errors for empty indexes on empty fields -
hookywoo/trunk/includes/hw-shop.php
r1848019 r2783512 7 7 'wooHook' => 'woocommerce_before_main_content', 8 8 'priority' => '', 9 'div_class' => 'hw-before-shop-page-content', 9 'elem_start' => '<div', 10 'elem_end' => '</div>', 11 'elem_class' => 'hw-before-shop-page-content', 10 12 'hooky_content' => get_option('before_shop_page_content'), 11 13 ), … … 13 15 'wooHook' => 'woocommerce_archive_description', 14 16 'priority' => '', 15 'div_class' => 'hw-below-shop-title', 17 'elem_start' => '<div', 18 'elem_end' => '</div>', 19 'elem_class' => 'hw-below-shop-title', 16 20 'hooky_content' => get_option('shop_page_description'), 17 21 ), … … 19 23 'wooHook' => 'woocommerce_before_shop_loop_item', 20 24 'priority' => '', 21 'div_class' => 'hw-above-loop-image', 25 'elem_start' => '<div', 26 'elem_end' => '</div>', 27 'elem_class' => 'hw-above-loop-image', 22 28 'hooky_content' => get_option('before_loop_product_image'), 23 29 ), … … 25 31 'wooHook' => 'woocommerce_shop_loop_item_title', 26 32 'priority' => '', 27 'div_class' => 'hw-after-loop-image', 33 'elem_start' => '<div', 34 'elem_end' => '</div>', 35 'elem_class' => 'hw-after-loop-image', 28 36 'hooky_content' => get_option('after_loop_product_image'), 29 37 ), … … 31 39 'wooHook' => 'woocommerce_after_shop_loop_item_title', 32 40 'priority' => '', 33 'div_class' => 'hw-after-loop-title', 41 'elem_start' => '<div', 42 'elem_end' => '</div>', 43 'elem_class' => 'hw-after-loop-title', 34 44 'hooky_content' => get_option('after_loop_product_title'), 35 45 ), … … 37 47 'wooHook' => 'woocommerce_after_shop_loop_item', 38 48 'priority' => '', 39 'div_class' => 'hw-before-loop-item-cart-button', 49 'elem_start' => '<div', 50 'elem_end' => '</div>', 51 'elem_class' => 'hw-before-loop-item-cart-button', 40 52 'hooky_content' => get_option('before_loop_product_cart_button'), 41 53 ), … … 43 55 'wooHook' => 'woocommerce_after_main_content', 44 56 'priority' => '', 45 'div_class' => 'hw-after-shop-loop', 57 'elem_start' => '<div', 58 'elem_end' => '</div>', 59 'elem_class' => 'hw-after-shop-loop', 46 60 'hooky_content' => get_option('after_main_shop_content'), 47 ), 61 ), 48 62 ); 49 63 -
hookywoo/trunk/includes/hw-single-product.php
r1848019 r2783512 7 7 'wooHook' => 'woocommerce_single_product_summary', 8 8 'priority' => ', 3', 9 'div_class' => 'hw-after-product', 9 'elem_start' => '<div', 10 'elem_end' => '</div>', 11 'elem_class' => 'hw-after-product', 10 12 'hooky_content' => get_option('before_product_title'), 11 13 ), … … 13 15 'wooHook' => 'woocommerce_before_add_to_cart_form', 14 16 'priority' => '', 15 'div_class' => 'hw-after-short-description', 17 'elem_start' => '<div', 18 'elem_end' => '</div>', 19 'elem_class' => 'hw-after-short-description', 16 20 'hooky_content' => get_option('after_short_description'), 17 21 ), … … 19 23 'wooHook' => 'woocommerce_before_variations_form', 20 24 'priority' => '', 21 'div_class' => 'hw-before-variations', 25 'elem_start' => '<div', 26 'elem_end' => '</div>', 27 'elem_class' => 'hw-before-variations', 22 28 'hooky_content' => get_option('before_variations_content'), 23 29 ), … … 25 31 'wooHook' => 'woocommerce_after_add_to_cart_button', 26 32 'priority' => '', 27 'div_class' => 'hw-after-cart', 33 'elem_start' => '<div', 34 'elem_end' => '</div>', 35 'elem_class' => 'hw-after-cart', 28 36 'hooky_content' => get_option('after_add_to_cart_button'), 29 37 ), … … 31 39 'wooHook' => 'woocommerce_after_variations_form', 32 40 'priority' => '', 33 'div_class' => 'hw-after-variations', 41 'elem_start' => '<div', 42 'elem_end' => '</div>', 43 'elem_class' => 'hw-after-variations', 34 44 'hooky_content' => get_option('after_variations_content'), 35 45 ), … … 37 47 'wooHook' => 'woocommerce_product_meta_start', 38 48 'priority' => '', 39 'div_class' => 'hw-before-product-meta', 49 'elem_start' => '<div', 50 'elem_end' => '</div>', 51 'elem_class' => 'hw-before-product-meta', 40 52 'hooky_content' => get_option('before_product_meta'), 41 53 ), … … 43 55 'wooHook' => 'woocommerce_product_meta_end', 44 56 'priority' => '', 45 'div_class' => 'hw-after-product-meta', 57 'elem_start' => '<div', 58 'elem_end' => '</div>', 59 'elem_class' => 'hw-after-product-meta', 46 60 'hooky_content' => get_option('after_product_meta'), 47 ), 61 ), 48 62 array( 49 63 'wooHook' => 'woocommerce_after_single_product_summary', 50 64 'priority' => '', 51 'div_class' => 'hw-before-product-tabs', 65 'elem_start' => '<div', 66 'elem_end' => '</div>', 67 'elem_class' => 'hw-before-product-tabs', 52 68 'hooky_content' => get_option('before_tabs_section'), 53 ), 69 ), 54 70 array( 55 71 'wooHook' => 'woocommerce_after_single_product', 56 72 'priority' => '', 57 'div_class' => 'hw-after-product', 73 'elem_start' => '<div', 74 'elem_end' => '</div>', 75 'elem_class' => 'hw-after-product', 58 76 'hooky_content' => get_option('after_product_content'), 59 ), 77 ), 60 78 ); 61 79 require_once( 'loop-classes.php' ); -
hookywoo/trunk/includes/loop-classes.php
r1848022 r2783512 2 2 //This class generates all of the hooks from hw-single-product and hw-shop 3 3 class Hooky_Loop_Class{ 4 4 5 5 public function __construct( $strings ){ 6 6 $this->strings = $strings; … … 9 9 } 10 10 } // End function __construct() 11 11 12 12 public function echo_strings() { 13 $hook = current_filter();14 foreach ( $this->strings as $string ) {15 if ( $string['wooHook'] == $hook ) {16 echo '<div class="' . $string['div_class'] . '">' . $string['hooky_content'] . '</div>';17 }18 }13 $hook = current_filter(); 14 foreach ( $this->strings as $string ) { 15 if ( $string['wooHook'] == $hook ) { 16 echo $string['elem_start'] . ' class="' . $string['elem_class'] . '">' . $string['hooky_content'] . $string['elem_end']; 17 } 18 } 19 19 } // End function echo_strings() 20 } // End class Example_Class20 } // End class Hooky_Loop_Class -
hookywoo/trunk/includes/shop-page-fields.php
r1846643 r2783512 63 63 foreach( $fields as $field ){ 64 64 add_settings_field( $field['uid'], $field['label'], array( $this, 'field_callback' ), 'shop_archive_page_section', $field['section'], $field ); 65 register_setting( 'shop_archive_page_section', $field['uid'] );65 register_setting( 'shop_archive_page_section', $field['uid'] ); 66 66 } -
hookywoo/trunk/includes/single-page-fields.php
r1846643 r2783512 1 <?php 1 <?php 2 2 if ( ! defined( 'ABSPATH' ) ) { 3 3 exit; // Exit if accessed directly 4 4 } 5 5 $fields = array( 6 array(7 'uid' => 'before_product_title',8 'label' => 'Before Product Title',9 'helper' => '',10 'supplemental' => '',11 'section' => 'single_product_page_section',12 'type' => 'textarea',13 ),14 array(15 'uid' => 'after_short_description',16 'label' => 'After Short Description',17 'helper' => '',18 'supplemental' => '',19 'section' => 'single_product_page_section',20 'type' => 'textarea',21 ),22 array(23 'uid' => 'before_variations_content',24 'label' => 'Before Varitions Section',25 'helper' => '',26 'supplemental' => '',27 'section' => 'single_product_page_section',28 'type' => 'textarea',29 ),30 array(31 'uid' => 'after_add_to_cart_button',32 'label' => 'After Add to Cart button',33 'helper' => '',34 'supplemental' => '',35 'section' => 'single_product_page_section',36 'type' => 'textarea',37 ),38 array(39 'uid' => 'after_variations_content',40 'label' => 'After Variations',41 'helper' => '',42 'supplemental' => '',43 'section' => 'single_product_page_section',44 'type' => 'textarea',45 ),46 array(47 'uid' => 'before_product_meta',48 'label' => 'Before Product Meta',49 'helper' => '',50 'supplemental' => '',51 'section' => 'single_product_page_section',52 'type' => 'textarea',53 ),54 array(55 'uid' => 'after_product_meta',56 'label' => 'After Product Meta',57 'helper' => '',58 'supplemental' => '',59 'section' => 'single_product_page_section',60 'type' => 'textarea',61 ),62 array(63 'uid' => 'before_tabs_section',64 'label' => 'Before Tabs Section',65 'helper' => '',66 'supplemental' => '',67 'section' => 'single_product_page_section',68 'type' => 'textarea',69 ),70 array(71 'uid' => 'after_product_content',72 'label' => 'After Product Content',73 'helper' => '',74 'supplemental' => '',75 'section' => 'single_product_page_section',76 'type' => 'textarea',77 ),6 array( 7 'uid' => 'before_product_title', 8 'label' => 'Before Product Title', 9 'helper' => '', 10 'supplemental' => '', 11 'section' => 'single_product_page_section', 12 'type' => 'textarea', 13 ), 14 array( 15 'uid' => 'after_short_description', 16 'label' => 'After Short Description', 17 'helper' => '', 18 'supplemental' => '', 19 'section' => 'single_product_page_section', 20 'type' => 'textarea', 21 ), 22 array( 23 'uid' => 'before_variations_content', 24 'label' => 'Before Varitions Section', 25 'helper' => '', 26 'supplemental' => '', 27 'section' => 'single_product_page_section', 28 'type' => 'textarea', 29 ), 30 array( 31 'uid' => 'after_add_to_cart_button', 32 'label' => 'After Add to Cart button', 33 'helper' => '', 34 'supplemental' => '', 35 'section' => 'single_product_page_section', 36 'type' => 'textarea', 37 ), 38 array( 39 'uid' => 'after_variations_content', 40 'label' => 'After Variations', 41 'helper' => '', 42 'supplemental' => '', 43 'section' => 'single_product_page_section', 44 'type' => 'textarea', 45 ), 46 array( 47 'uid' => 'before_product_meta', 48 'label' => 'Before Product Meta', 49 'helper' => '', 50 'supplemental' => '', 51 'section' => 'single_product_page_section', 52 'type' => 'textarea', 53 ), 54 array( 55 'uid' => 'after_product_meta', 56 'label' => 'After Product Meta', 57 'helper' => '', 58 'supplemental' => '', 59 'section' => 'single_product_page_section', 60 'type' => 'textarea', 61 ), 62 array( 63 'uid' => 'before_tabs_section', 64 'label' => 'Before Tabs Section', 65 'helper' => '', 66 'supplemental' => '', 67 'section' => 'single_product_page_section', 68 'type' => 'textarea', 69 ), 70 array( 71 'uid' => 'after_product_content', 72 'label' => 'After Product Content', 73 'helper' => '', 74 'supplemental' => '', 75 'section' => 'single_product_page_section', 76 'type' => 'textarea', 77 ), 78 78 ); 79 79 foreach( $fields as $field ){ 80 80 add_settings_field( $field['uid'], $field['label'], array( $this, 'field_callback' ), 'single_product_page_section', $field['section'], $field ); 81 register_setting( 'single_product_page_section', $field['uid'] );81 register_setting( 'single_product_page_section', $field['uid'] ); 82 82 }
Note: See TracChangeset
for help on using the changeset viewer.