Notice: These forums are now retired and closed. For active support, please Submit a Ticket or visit our official WordPress.org community pages.
Kadence Theme | Kadence Blocks | Starter Templates | WooCommerce Email Designer | Ascend | Virtue | Pinnacle
Search Results for 'post'
-
AuthorSearch Results
-
In forum: Virtue Theme
In reply to: Html code in the footer column
Hi Jos,
You can find full documentation here- http://docs.kadencethemes.com/virtue/
And a list of tutorials here- https://www.kadencewp.com/tutorials/
Lastly, here are our blog posts- https://www.kadencewp.com/blog/
Hope that’s helpful:)Hannah
In forum: Virtue ThemeIn reply to: Move WOO Breadcrumbs
Hey Richard,
Try using this css:#kadbreadcrumbs { float: none; text-align: left; font-size: 16px; line-height: 16px; } .post-type-archive-product div#kadbreadcrumbs { position: absolute; left: 0px; top: 60px; } .post-type-archive-product .page-header .col-md-6 {position:static;} .post-type-archive-product .page-header {position:relative;} .post-type-archive-product .page-header h1.page-title {margin-bottom:35px;}Hope it works for you!
HannahIn forum: Virtue ThemeIn forum: Virtue ThemeIn reply to: CMS-like structure wanted for categories
Ok, I’ve made a bit of progress here.
What I want is exactly how the shop works (with sidebar), but there’s fields there I don’t want! so can’t do that.I’ve found some code Ben posted about a year ago to give portfolio pages a menu sidebar, works ok!
Still got a url problem with generic path components like “/portfolio-type/”.
May have to give up on trying to improve that.Tks for the help.
John
In forum: Virtue ThemeIn reply to: Related Posts Number of Items
Hey Adam,
If you want your shortcode to display full posts you can use a shortcode like this:
[kad_blog orderby=date items=4 fullpost=true]
You can see a full list of shortcodes here- http://docs.kadencethemes.com/virtue/#shortcodesHannah
In forum: Virtue ThemeIn reply to: Related Posts Number of Items
Hi Ben,
Thanks! That’s just what I was looking for.
I have another related question, now: On other pages I am using the shortcode to show related posts. Is there a template I can edit to add custom fields, etc. so the blog posts displayed through the shortcode look the same as the the ones on the single blog posts?
Thanks,
-Adam
In forum: Virtue ThemeIn reply to: Error too many redirects
In forum: Virtue ThemeIn reply to: Product image view in webshop
In forum: Virtue ThemeIn reply to: Virtue shortcode – Button
In forum: Virtue ThemeIn reply to: Error too many redirects
In forum: Virtue ThemeIn reply to: How to update outdated templates
In forum: Virtue ThemeIn reply to: Hi Guys! quick questions about menus etc.
In forum: Virtue ThemeIn reply to: Html code in the footer column
In forum: Virtue ThemeHi Ben & Hannah,
Have a question about the lightbox functionality built into the Virtue theme!
In the Shortcode documentation I see that the gallery and porfolio_posts shortcodes have lightbox functionality, and I was wondering if there is a way to add simple lightbox functionality to table content for an extended description to pop-up in a lightbox?In forum: Virtue ThemeIn reply to: Security issue / Rev Slider
Hi Ben,
It was I who was not being clear. I meant to say that I tried to reach out to the plugin developer BEFORE I posted the question to you.
At any rate, VaultPress got back to me and cited a link to an article posted on Sucuri regarding the security issue — https://blog.sucuri.net/2014/09/slider-revolution-plugin-critical-vulnerability-being-exploited.html
Two problems with that article: It’s 2 years old, and refers to Rev slider version 4.2. My client is running 5.1.6. I’ve asked VaultPress why the security warning on something that happened 2 years ago.
Terri
In forum: Virtue ThemeIn reply to: CMS-like structure wanted for categories
In forum: Virtue ThemeHi Guys
I’m struggling with a little php syntax that is so stupid but I can’t find the answer. It’s not your problem, but you might see the error immediately.I’m simply trying to insert the words Add your refills for
*Login to see linkI think it’s in here…
You don’t have to help, it’s not a kadence thing, but you might see how to do it really fast?public function order_item_meta( $item_id, $values ) {
if ( ! empty( $values[‘addons’] ) ) {
foreach ( $values[‘addons’] as $addon ) {$name = $addon[‘name’];
if ( $addon[‘price’] > 0 && apply_filters( ‘woocommerce_addons_add_price_to_name’, true ) ) {
$name .= ‘ (‘ . strip_tags( wc_price( get_product_addon_price_for_display ( $addon[‘price’], $values[ ‘data’ ], true ) ) ) . ‘)’;
}woocommerce_add_order_item_meta( $item_id, $name, $addon[‘value’] );
}<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}/**
* Product_Addon_cart class.
*/
class Product_Addon_Cart {/**
* Constructor
*/
function __construct() {
// Add to cart
add_filter( 'woocommerce_add_cart_item', array( $this, 'add_cart_item' ), 20, 1 );// Load cart data per page load
add_filter( 'woocommerce_get_cart_item_from_session', array( $this, 'get_cart_item_from_session' ), 20, 2 );// Get item data to display
add_filter( 'woocommerce_get_item_data', array( $this, 'get_item_data' ), 10, 2 );// Add item data to the cart
add_filter( 'woocommerce_add_cart_item_data', array( $this, 'add_cart_item_data' ), 10, 2 );// Validate when adding to cart
add_filter( 'woocommerce_add_to_cart_validation', array( $this, 'validate_add_cart_item' ), 999, 3 );// Add meta to order
add_action( 'woocommerce_add_order_item_meta', array( $this, 'order_item_meta' ), 10, 2 );// order again functionality
add_filter( 'woocommerce_order_again_cart_item_data', array( $this, 're_add_cart_item_data' ), 10, 3 );
}/**
* Add an error
*/
public function add_error( $error ) {
wc_add_notice( $error, 'error' );
}/**
* add_cart_item function.
*
* @access public
* @param mixed $cart_item
* @return void
*/
public function add_cart_item( $cart_item ) {
// Adjust price if addons are set
if ( ! empty( $cart_item['addons'] ) && apply_filters( 'woocommerce_product_addons_adjust_price', true, $cart_item ) ) {$extra_cost = 0;
foreach ( $cart_item['addons'] as $addon ) {
if ( $addon['price'] > 0 ) {
$extra_cost += $addon['price'];
}
}$cart_item['data']->adjust_price( $extra_cost );
}return $cart_item;
}/**
* get_cart_item_from_session function.
*
* @access public
* @param mixed $cart_item
* @param mixed $values
* @return void
*/
public function get_cart_item_from_session( $cart_item, $values ) {
if ( ! empty( $values['addons'] ) ) {
$cart_item['addons'] = $values['addons'];
$cart_item = $this->add_cart_item( $cart_item );
}
return $cart_item;
}/**
* get_item_data function.
*
* @access public
* @param mixed $other_data
* @param mixed $cart_item
* @return void
*/
public function get_item_data( $other_data, $cart_item ) {
if ( ! empty( $cart_item['addons'] ) ) {
foreach ( $cart_item['addons'] as $addon ) {
$name = $addon['name'];if ( $addon['price'] > 0 && apply_filters( 'woocommerce_addons_add_price_to_name', '__return_true' ) ) {
$name .= ' (' . wc_price( get_product_addon_price_for_display ( $addon['price'], $cart_item[ 'data' ], true ) ) . ')';
}$other_data[] = array(
'name' => $name,
'value' => $addon['value'],
'display' => isset( $addon['display'] ) ? $addon['display'] : ''
);
}
}
return $other_data;
}/**
* add_cart_item_data function.
*
* @param array $cart_item_meta
* @param int $product_id
* @param bool $test If this is a test i.e. just getting data but not adding to cart. Used to prevent uploads.
* @return array of cart item data
*/
public function add_cart_item_data( $cart_item_meta, $product_id, $post_data = null, $test = false ) {
if ( is_null( $post_data ) && isset( $_POST ) ) {
$post_data = $_POST;
}$product_addons = get_product_addons( $product_id );
if ( empty( $cart_item_meta['addons'] ) ) {
$cart_item_meta['addons'] = array();
}if ( is_array( $product_addons ) && ! empty( $product_addons ) ) {
include_once( 'fields/abstract-class-product-addon-field.php' );foreach ( $product_addons as $addon ) {
$value = isset( $post_data[ 'addon-' . $addon['field-name'] ] ) ? $post_data[ 'addon-' . $addon['field-name'] ] : '';
if ( is_array( $value ) ) {
$value = array_map( 'stripslashes', $value );
} else {
$value = stripslashes( $value );
}switch ( $addon['type'] ) {
case 'checkbox' :
case 'radiobutton' :
include_once( 'fields/class-product-addon-field-list.php' );
$field = new Product_Addon_Field_List( $addon, $value );
break;
case 'custom' :
case 'custom_textarea' :
case 'custom_price' :
case 'custom_letters_only' :
case 'custom_digits_only' :
case 'custom_letters_or_digits' :
case 'custom_email' :
case 'input_multiplier' :
include_once( 'fields/class-product-addon-field-custom.php' );
$field = new Product_Addon_Field_Custom( $addon, $value );
break;
case 'select' :
include_once( 'fields/class-product-addon-field-select.php' );
$field = new Product_Addon_Field_Select( $addon, $value );
break;
case 'file_upload' :
include_once( 'fields/class-product-addon-field-file-upload.php' );
$field = new Product_Addon_Field_File_Upload( $addon, $value, $test );
break;
}$data = $field->get_cart_item_data();
if ( is_wp_error( $data ) ) {
if ( version_compare( WC_VERSION, '2.3.0', '<' ) ) {
$this->add_error( $data->get_error_message() );
} else {
// Throw exception for add_to_cart to pickup
throw new Exception( $data->get_error_message() );
}
} elseif ( $data ) {
$cart_item_meta['addons'] = array_merge( $cart_item_meta['addons'], apply_filters( 'woocommerce_product_addon_cart_item_data', $data, $addon, $product_id, $post_data ) );
}
}
}return $cart_item_meta;
}/**
* validate_add_cart_item function.
*
* @access public
* @param mixed $passed
* @param mixed $product_id
* @param mixed $qty
* @return bool
*/
public function validate_add_cart_item( $passed, $product_id, $qty, $post_data = null ) {
if ( is_null( $post_data ) && isset( $_POST ) ) {
$post_data = $_POST;
}$product_addons = get_product_addons( $product_id );
if ( is_array( $product_addons ) && ! empty( $product_addons ) ) {
include_once( 'fields/abstract-class-product-addon-field.php' );foreach ( $product_addons as $addon ) {
$value = isset( $post_data[ 'addon-' . $addon['field-name'] ] ) ? $post_data[ 'addon-' . $addon['field-name'] ] : '';
if ( is_array( $value ) ) {
$value = array_map( 'stripslashes', $value );
} else {
$value = stripslashes( $value );
}switch ( $addon['type'] ) {
case "checkbox" :
case "radiobutton" :
include_once( 'fields/class-product-addon-field-list.php' );
$field = new Product_Addon_Field_List( $addon, $value );
break;
case "custom" :
case "custom_textarea" :
case "custom_price" :
case "custom_letters_only" :
case "custom_digits_only" :
case "custom_letters_or_digits" :
case "custom_email" :
case "input_multiplier" :
include_once( 'fields/class-product-addon-field-custom.php' );
$field = new Product_Addon_Field_Custom( $addon, $value );
break;
case "select" :
include_once( 'fields/class-product-addon-field-select.php' );
$field = new Product_Addon_Field_Select( $addon, $value );
break;
case "file_upload" :
include_once( 'fields/class-product-addon-field-file-upload.php' );
$field = new Product_Addon_Field_File_Upload( $addon, $value );
break;
}$data = $field->validate();
if ( is_wp_error( $data ) ) {
$this->add_error( $data->get_error_message() );
return false;
}do_action( 'woocommerce_validate_posted_addon_data', $addon );
}
}return $passed;
}/**
* Add meta to orders
*
* @access public
* @param mixed $item_id
* @param mixed $values
* @return void
*/
public function order_item_meta( $item_id, $values ) {
if ( ! empty( $values['addons'] ) ) {
foreach ( $values['addons'] as $addon ) {$name = $addon['name'];
if ( $addon['price'] > 0 && apply_filters( 'woocommerce_addons_add_price_to_name', true ) ) {
$name .= ' (' . strip_tags( wc_price( get_product_addon_price_for_display ( $addon['price'], $values[ 'data' ], true ) ) ) . ')';
}woocommerce_add_order_item_meta( $item_id, $name, $addon['value'] );
}
}
}/**
* Re-order
*/
public function re_add_cart_item_data( $cart_item_meta, $product, $order ) {
// Disable validation
remove_filter( 'woocommerce_add_to_cart_validation', array( $this, 'validate_add_cart_item' ), 10, 3 );// Get addon data
$product_addons = get_product_addons( $product['product_id'] );if ( empty( $cart_item_meta['addons'] ) ) {
$cart_item_meta['addons'] = array();
}if ( is_array( $product_addons ) && ! empty( $product_addons ) ) {
include_once( 'fields/abstract-class-product-addon-field.php' );foreach ( $product_addons as $addon ) {
$value = '';
$field = '';switch ( $addon['type'] ) {
case 'checkbox' :
case 'radiobutton' :
include_once( 'fields/class-product-addon-field-list.php' );$value = array();
foreach ( $product['item_meta'] as $key => $meta ) {
if ( stripos( $key, $addon['name'] ) === 0 ) {
if ( 1 < count( $meta ) ) {
$value[] = array_map( 'sanitize_title', $meta );
} else {
$value[] = sanitize_title( $meta[0] );
}
}
}if ( empty( $value ) ) {
continue;
}$field = new Product_Addon_Field_List( $addon, $value );
break;
case 'select' :
include_once( 'fields/class-product-addon-field-select.php' );$value = '';
foreach ( $product['item_meta'] as $key => $meta ) {
if ( stripos( $key, $addon['name'] ) === 0 ) {
$value = sanitize_title( $meta[0] );
}
}if ( empty( $value ) ) {
continue;
}$chosen_option = '';
$loop = 0;foreach ( $addon['options'] as $option ) {
$loop++;
if ( sanitize_title( $option['label'] ) == $value ) {
$value = $value . '-' . $loop;
break;
}
}$field = new Product_Addon_Field_Select( $addon, $value );
break;
case 'custom' :
case 'custom_textarea' :
case 'custom_price' :
case 'input_multiplier' :
include_once( 'fields/class-product-addon-field-custom.php' );$value = array();
foreach ( $product['item_meta'] as $key => $meta ) {
foreach ( $addon['options'] as $option ) {
if ( stripos( $key, $addon['name'] ) === 0 && stristr( $key, $option['label'] ) ) {
$value[ sanitize_title( $option['label'] ) ] = $meta[0];
}
}
}if ( empty( $value ) ) {
continue;
}$field = new Product_Addon_Field_Custom( $addon, $value );
break;
case 'file_upload' :
include_once( 'fields/class-product-addon-field-file-upload.php' );$value = array();
foreach ( $product['item_meta'] as $key => $meta ) {
foreach ( $addon['options'] as $option ) {
if ( stripos( $key, $addon['name'] ) === 0 && stristr( $key, $option['label'] ) ) {
$value[ sanitize_title( $option['label'] ) ] = $meta[0];
}
}
}if ( empty( $value ) ) {
continue;
}$field = new Product_Addon_Field_File_Upload( $addon, $value );
break;
}// make sure a field is set (if not it could be product with no add-ons)
if ( $field ) {$data = $field->get_cart_item_data();
if ( is_wp_error( $data ) ) {
$this->add_error( $data->get_error_message() );
} elseif ( $data ) {
// get the post data
$post_data = $_POST;$cart_item_meta['addons'] = array_merge( $cart_item_meta['addons'], apply_filters( 'woocommerce_product_addon_reorder_cart_item_data', $data, $addon, $product['product_id'], $post_data ) );
}
}
}
}return $cart_item_meta;
}
}$GLOBALS['Product_Addon_Cart'] = new Product_Addon_Cart();
In forum: Virtue ThemeMarch 10, 2016 at 12:19 am #85147Hey,
have you tried deactivating plugins?It could be mod security being out of date. I don’t see a link to your site in your post so can you post a link else I don’t know where to go to login.
Ben
In forum: Virtue ThemeIn reply to: Home Blog Settings
March 9, 2016 at 11:48 pm #85135Hey,
There isn’t a shortcode that does this exactly but you can make it happen with the shortcode that hannah posted. First you need to make sure each post has a featured image set and that the “post summary” is set to portrait or landscape image.Then in your theme options > advnaced settings add this to the css box:
.home-widget-box #kad-blog-grid .blog_item .postcontent { display: none; }Ben
In forum: Virtue ThemeIn reply to: Logo Align center with header widget align right
-
AuthorSearch Results


