Beiträge von jhaustein

    Hallo Gemeinschaft - habe mal dieses plugin probiert
    ZI Hide price and add to cart for WooCommerce

    funktioniert gut - doch leider benötige ich den Button in den Warenkorb - möchte eigentlich folgendes erreichen, dass man den Preis nicht sieht, aber trotzdem den Artikel bestellen kann

    Hallo Gemeinschaft,

    bin auf der Suche nach einem plugin, welches sowas kann

    wir habe eine firma mit 6 standorten

    jeder firma hat einen Geschäftsführer - dieser Geschäftsführer kann für seine Mitarbeiter bestellen und beim Checkout nur an den standort senden lassen

    ein admin kann eine bestellung aufgeben und an alle standorte senden

    ein mitarbeiter kann bestellen und an seine privatadresse senden lassen

    habt ihr da vielleicht eine idee

    ist vermutlich in der class-wc-form-handler
    [PLAIN]
    * Save and and update a billing or shipping address if the
    * form was submitted through the user account page.
    */
    public static function save_address() {
    global $wp;

    $nonce_value = wc_get_var( $_REQUEST['woocommerce-edit-address-nonce'], wc_get_var( $_REQUEST['_wpnonce'], '' ) ); // @codingStandardsIgnoreLine.

    if ( ! wp_verify_nonce( $nonce_value, 'woocommerce-edit_address' ) ) {
    return;
    }

    if ( empty( $_POST['action'] ) || 'edit_address' !== $_POST['action'] ) {
    return;
    }

    wc_nocache_headers();

    $user_id = get_current_user_id();

    if ( $user_id <= 0 ) {
    return;
    }

    $customer = new WC_Customer( $user_id );

    if ( ! $customer ) {
    return;
    }

    $load_address = isset( $wp->query_vars['edit-address'] ) ? wc_edit_address_i18n( sanitize_title( $wp->query_vars['edit-address'] ), true ) : 'billing';

    if ( ! isset( $_POST[ $load_address . '_country' ] ) ) {
    return;
    }

    $address = WC()->countries->get_address_fields( wc_clean( wp_unslash( $_POST[ $load_address . '_country' ] ) ), $load_address . '_' );

    foreach ( $address as $key => $field ) {
    if ( ! isset( $field['type'] ) ) {
    $field['type'] = 'text';
    }

    // Get Value.
    if ( 'checkbox' === $field['type'] ) {
    $value = (int) isset( $_POST[ $key ] );
    } else {
    $value = isset( $_POST[ $key ] ) ? wc_clean( wp_unslash( $_POST[ $key ] ) ) : '';
    }

    // Hook to allow modification of value.
    $value = apply_filters( 'woocommerce_process_myaccount_field_' . $key, $value );

    // Validation: Required fields.
    if ( ! empty( $field['required'] ) && empty( $value ) ) {
    /* translators: %s: Field name. */
    wc_add_notice( sprintf( __( '%s is a required field.', 'woocommerce' ), $field['label'] ), 'error', array( 'id' => $key ) );
    }

    if ( ! empty( $value ) ) {
    // Validation and formatting rules.
    if ( ! empty( $field['validate'] ) && is_array( $field['validate'] ) ) {
    foreach ( $field['validate'] as $rule ) {
    switch ( $rule ) {
    case 'postcode':
    $country = wc_clean( wp_unslash( $_POST[ $load_address . '_country' ] ) );
    $value = wc_format_postcode( $value, $country );

    if ( '' !== $value && ! WC_Validation::is_postcode( $value, $country ) ) {
    switch ( $country ) {
    case 'IE':
    $postcode_validation_notice = __( 'Please enter a valid Eircode.', 'woocommerce' );
    break;
    default:
    $postcode_validation_notice = __( 'Please enter a valid postcode / ZIP.', 'woocommerce' );
    }
    wc_add_notice( $postcode_validation_notice, 'error' );
    }
    break;
    case 'phone':
    if ( '' !== $value && ! WC_Validation::is_phone( $value ) ) {
    /* translators: %s: Phone number. */
    wc_add_notice( sprintf( __( '%s is not a valid phone number.', 'woocommerce' ), '<strong>' . $field['label'] . '</strong>' ), 'error' );
    }
    break;
    case 'email':
    $value = strtolower( $value );

    if ( ! is_email( $value ) ) {
    /* translators: %s: Email address. */
    wc_add_notice( sprintf( __( '%s is not a valid email address.', 'woocommerce' ), '<strong>' . $field['label'] . '</strong>' ), 'error' );
    }
    break;
    }
    }
    }
    }

    try {
    // Set prop in customer object.
    if ( is_callable( array( $customer, "set_$key" ) ) ) {
    $customer->{"set_$key"}( $value );
    } else {
    $customer->update_meta_data( $key, $value );
    }
    } catch ( WC_Data_Exception $e ) {
    // Set notices. Ignore invalid billing email, since is already validated.
    if ( 'customer_invalid_billing_email' !== $e->getErrorCode() ) {
    wc_add_notice( $e->getMessage(), 'error' );
    }
    }
    }

    /**
    * Hook: woocommerce_after_save_address_validation.
    *
    * Allow developers to add custom validation logic and throw an error to prevent save.
    *
    * Param int $user_id User ID being saved.
    * Param string $load_address Type of address e.g. billing or shipping.
    * Param array $address The address fields.
    * Param WC_Customer $customer The customer object being saved. @since 3.6.0
    */
    do_action( 'woocommerce_after_save_address_validation', $user_id, $load_address, $address, $customer );

    if ( 0 < wc_notice_count( 'error' ) ) {
    return;
    }

    $customer->save();

    wc_add_notice( __( 'Address changed successfully.', 'woocommerce' ) );

    do_action( 'woocommerce_customer_save_address', $user_id, $load_address );

    wp_safe_redirect( wc_get_endpoint_url( 'edit-address', '', wc_get_page_permalink( 'myaccount' ) ) );
    exit;
    }

    [/PLAIN]

    Hallo Gemeinschaft

    ich möchte, dass der Kunde die Lieferadresse nicht mehr bearbeiten kann - dafür würde mir reichen, wenn ich den link "Bearbeiten" unsichtbar mache

    also wenn er in diesem Bereich ist
    domain/my-account/edit-address/

    könnt ihr mir sagen in welcher datei