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'

Home / Forums / Search / Search Results for 'post'

Viewing 20 results - 20,701 through 20,720 (of 29,722 total)
  • Author
    Search Results
  • #85299

    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 Theme

    In reply to: Move WOO Breadcrumbs

    #85294

    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!
    Hannah

    #85265

    Hey! This can be accomplished with CSS. Any chance you can post a link so I can write the code for you?

    Thanks,
    Kevin

    #85261

    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

    #85257

    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/#shortcodes

    Hannah

    #85233

    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 Theme
    #85228

    Hi Kevin,
    permalinks are set to postname and product permalinks to standard.
    Jos

    #85224

    Hey,
    Do you mind posting a link to your site?
    Thanks!

    Hannah

    In forum: Virtue Theme
    #85220

    Strange. Yes, I would try deacitvating plugins to test. If that doesn’t work can you post a temp login so I can take a look?

    Hannah

    In forum: Virtue Theme
    #85215

    What do you have set for your permalinks? I would recommend going in and making sure that they are set to “Post Name.”

    That makes things a lot simpler, and it might resolve your issue.

    #85214

    Hi Greta,
    Can you please post a link to your site? Are you using the latest version of the theme as well as woocommerce?

    Hannah

    #85211

    Are you able to post a link? It would be much easier to provide css that way. You can set as a private reply if you’d like.

    Hannah

    #85198

    1. This is something that will be easiest to accomplish with CSS. If you can post a link to your site, I’ll happily help you write it.

    2. I’m not quite sure I’m following here. Could you please explain a bit more?

    Thanks
    Kevin

    #85192

    Hi 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 Theme
    #85190

    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

    #85163
    This reply has been marked as private.
    #85162

    Hi 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

    I 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();

    #85147

    Hey,
    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 Theme

    In reply to: Home Blog Settings

    #85135

    Hey,
    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

    #85134

    Hey,
    Can you post a link to your page?

    Ben

Viewing 20 results - 20,701 through 20,720 (of 29,722 total)