Τα 25 καλύτερα αποσπάσματα WooCommerce για WordPress

  1. 1. Αυτή τη στιγμή διαβάζει: Τα 25 καλύτερα αποσπάσματα WooCommerce για WordPress
  2. 2. Τα 25 καλύτερα αποσπάσματα WooCommerce για το WordPress Μέρος 2

Οι καιροί πετούν… Έχουν περάσει 6 μήνες από τότε που άρχισα να εργάζομαι στο WooThemes ως τεχνικός υποστήριξης πλήρους απασχόλησης του WooCommerce. Κατά τη διάρκεια αυτών των 6 μηνών έμαθα πολλά στο WooCommerce και κωδικοποίησα πολλά (διαβάστε πολύ!) των αποσπασμάτων που σχετίζονται με το WooCommerce. Στην πραγματικότητα, το WooCommerce είναι πραγματικά ισχυρό εργαλείο και εύκολα επεκτάσιμο. Έχει πολλά άγκιστρα που μπορούν να χρησιμοποιηθούν για σχεδόν όλα, και αυτό είναι που κάνει το WooCommerce τόσο καλό. Ακολουθεί μια λίστα αποσπασμάτων που έγραψα ή προσαρμογή κατά τους τελευταίους μήνες. όλα αυτά τα αποσπάσματα πρέπει να επικολληθούν στο αρχείο functions.php στον φάκελο θέματος:


Contents

1 – Προσθήκη τύπου πληρωμής στο ηλεκτρονικό ταχυδρομείο διαχειριστή του WooCommerce

add_action ('woocommerce_email_after_order_table', 'add_payment_method_to_admin_new_order', 15, 2);

λειτουργία add_payment_method_to_admin_new_order ($ order, $ is_admin_email) {
εάν ($ is_admin_email) {
ηχώ '

Μέθοδος πληρωμής: ". $ order-> Payment_method_title. "

"; } }

2 – Προϊόντα πώλησης ανά σελίδα / ανά γραμμή

remove_action ('woocommerce_after_single_product_summary', 'woocommerce_upsell_display', 15);
add_action ('woocommerce_after_single_product_summary', 'woocommerce_output_upsells', 15);

εάν (! function_exists ('woocommerce_output_upsells')) {
συνάρτηση woocommerce_output_upsells () {
woocommerce_upsell_display (3,3); // Εμφάνιση 3 προϊόντων σε σειρές 3
}
}

3 – Κατάργηση κατηγοριών προϊόντων από τη σελίδα καταστήματος

add_action ('pre_get_posts', 'custom_pre_get_posts_query');

συνάρτηση custom_pre_get_posts_query ($ q) {

αν (! $ q-> is_main_query ()) επιστροφή;
αν (! $ q-> is_post_type_archive ()) επιστροφή;

εάν (! is_admin () && is_shop () &&! is_user_logged_in ()) {

$ q-> set ('tax_query', array (πίνακας (
'ταξινομία' => 'product_cat',
'field' => 'γυμνοσάλιαγκας',
'terms' => array ('color', 'flavour', 'μπαχαρικά', 'vanilla'), // Μην προβάλλετε προϊόντα σε αυτές τις κατηγορίες στη σελίδα καταστήματος
«χειριστής» => «ΟΧΙ»
)))

}

remove_action ('pre_get_posts', 'custom_pre_get_posts_query');

}

4 – Μεταφράστε γρήγορα οποιαδήποτε συμβολοσειρά

add_filter ('gettext', 'translate_text');
add_filter ('ngettext', 'translate_text');

function translate_text ($ μεταφράστηκε) {
$ translate = str_ireplace ("Επιλογή και επιλογή", "Επιλογή", $ μεταφρασμένο);
επιστροφή $ μεταφραστεί;
}

5 – Εξαιρέστε μια κατηγορία από το widget κατηγορίας WooCommerce

add_filter ('woocommerce_product_categories_widget_args', 'woo_product_cat_widget_args');

συνάρτηση woo_product_cat_widget_args ($ cat_args) {

$ cat_args ['exclude'] = array ('16 ');

επιστροφή $ cat_args;
}

6 – Προσθέστε ένα προσαρμοσμένο πεδίο σε μια παραλλαγή προϊόντος

// Πεδία εμφάνισης
add_action ('woocommerce_product_after_variable_attributes', 'variable_fields', 10, 2);
// JS για προσθήκη πεδίων για νέες παραλλαγές
add_action ('woocommerce_product_after_variable_attributes_js', 'variable_fields_js');
// Αποθήκευση πεδίων παραλλαγής
add_action ('woocommerce_process_product_meta_variable', 'variable_fields_process', 10, 1);

function variab_fields ($ loop, $ variation_data) {?>


7 - Αντικαταστήστε το "Μη διαθέσιμο" από το "πωλήθηκε"

add_filter ('woocommerce_get_available', 'διαθεσιμότητα_filter_func');

λειτουργία διαθεσιμότητα_filter_func (διαθεσιμότητα $)
{
$ διαθεσιμότητα ['διαθεσιμότητα'] = str_ireplace ('Μη διαθέσιμο', 'Πωλήθηκε', $ διαθεσιμότητα ['διαθεσιμότητα']);
επιστροφή διαθεσιμότητας $
}

8 - Εμφανίστε το "προϊόν ήδη στο καλάθι" αντί για το κουμπί "Προσθήκη στο καλάθι"

/ **
* Αλλάξτε το κείμενο προσθήκης στο καλάθι σε σελίδες ενός προϊόντος
* /
add_filter ('woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text');

συνάρτηση woo_custom_cart_button_text () {

παγκόσμιο woocommerce $;

foreach ($ woocommerce-> cart-> get_cart () ως $ cart_item_key => τιμές $) {
$ _product = $ τιμές ['data'];

εάν (get_the_ID () == $ _product-> id) {
επιστροφή __ ("Ήδη στο καλάθι - Προσθήκη ξανά;", "woocommerce");
}
}

επιστροφή __ ("Προσθήκη στο καλάθι", "woocommerce");
}

/ **
* Αλλάξτε το κείμενο προσθήκης στο καλάθι προϊόντων στα αρχεία
* /
add_filter ('add_to_cart_text', 'woo_archive_custom_cart_button_text');

συνάρτηση woo_archive_custom_cart_button_text () {

παγκόσμιο woocommerce $;

foreach ($ woocommerce-> cart-> get_cart () ως $ cart_item_key => τιμές $) {
$ _product = $ τιμές ['data'];

εάν (get_the_ID () == $ _product-> id) {
επιστροφή __ ("Ήδη στο καλάθι", "woocommerce");
}
}

επιστροφή __ ("Προσθήκη στο καλάθι", "woocommerce");
}

9 - Απόκρυψη καταμέτρησης προϊόντων στην προβολή κατηγορίας

add_filter ('woocommerce_subcategory_count_html', 'woo_remove_category_products_count');

συνάρτηση woo_remove_category_products_count () {
ΕΠΙΣΤΡΟΦΗ;
}

10 - Κάντε υποχρεωτικά τα πεδία αγοράς λογαριασμού

add_filter ('woocommerce_checkout_fields', 'woo_filter_account_checkout_fields');

συνάρτηση woo_filter_account_checkout_fields (πεδία $) {
$ πεδία ['account'] ['account_username'] ['απαιτείται'] = true;
$ πεδία ['account'] ['account_password'] ['απαιτείται'] = true;
$ πεδία ['account'] ['account_password-2'] ['απαιτείται'] = true;

επιστρέψτε τα πεδία $;
}

11 - Μετονομάστε μια καρτέλα προϊόντος

add_filter ('woocommerce_product_tabs', 'woo_rename_tab', 98);
συνάρτηση woo_rename_tab ($ tabs) {

$ tabs ['description'] ['title'] = 'Περισσότερες πληροφορίες';

επιστροφή καρτελών $;
}

12 - Λίστα κατηγοριών προϊόντων WooCommerce

$ args = πίνακας (
'number' => $ number,
'orderby' => $ παραγγελία,
'order' => $ παραγγελία,
'hide_empty' => $ hide_empty,
'include' => $ id
)

$ product_categories = get_terms ('product_cat', $ args);

$ count = count ($ product_categories);
αν ($ count> 0) {
ηχώ "";
}

13 - Αντικαταστήστε τον τίτλο της σελίδας καταστήματος

add_filter ('woocommerce_page_title', 'woo_shop_page_title');

συνάρτηση woo_shop_page_title ($ page_title) {

εάν ('Shop' == $ page_title) {
επιστροφή "Ο νέος μου τίτλος".
}
}

14 - Αλλαγή τίτλου widget

/ *
* Αλλαγή τίτλου widget
* /
add_filter ('widget_title', 'woo_widget_title', 10, 3);

συνάρτηση woo_widget_title ($ title, $ instance, $ id_base) {

εάν ('onsale' == $ id_base) {
επιστροφή "Ο νέος μου τίτλος".
}
}

15 - Κατάργηση των προεπιλεγμένων ρυθμίσεων του WooCommerce

add_filter ('woocommerce_catalog_settings', 'woo_remove_catalog_options');

function woo_remove_catalog_options (κατάλογος $) {

unset (κατάλογος $ [23]); // Περικοπή μηδέν (όχι)
unset ($ κατάλογος [22]); // 2 δεκαδικά
unset (κατάλογος $ [21]); // δεκαδικό σεπ (.)
unset (κατάλογος $ [20]); // χιλιάδες σεπ (,)
unset (κατάλογος $ [19]); // θέση νομίσματος (αριστερά)
unset (κατάλογος $ [18]); // θέση νομίσματος (αριστερά)
unset (κατάλογος $ [5]); // ajax προσθήκη στο καλάθι (όχι)

επιστροφή καταλόγου $;
}

16 - Αλλαγή διεύθυνσης email «από»

συνάρτηση woo_custom_wp_mail_from () {
παγκόσμιο woocommerce $;
επιστροφή html_entity_decode ('[email protected]');
}
add_filter ('wp_mail_from', 'woo_custom_wp_mail_from', 99);

17 - Αποκωδικοποίηση από το όνομα στο email του WooCommerce

συνάρτηση woo_custom_wp_mail_from_name () {
παγκόσμιο woocommerce $;
επιστροφή html_entity_decode (get_option ('woocommerce_email_from_name'));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

συνάρτηση woo_custom_wp_mail_from () {
παγκόσμιο woocommerce $;
επιστροφή html_entity_decode (get_option ('woocommerce_email_from'));
}
add_filter ('wp_mail_from_name', 'woo_custom_wp_mail_from_name', 99);

18 - Επιστροφή αναγνωριστικών επιλεγμένων προϊόντων

συνάρτηση woo_get_featured_product_ids () {
// Φόρτωση από την προσωρινή μνήμη
$ Feat_product_ids = get_transient ('wc_featured_products');

// Βρέθηκε έγκυρη προσωρινή μνήμη
εάν (false! == $ Feat_product_ids)
επιστροφή $ Feat_product_ids;

$ Featured = get_posts (πίνακας (
'post_type' => πίνακας ('product', 'product_variation'),
'posts_per_page' => -1,
'post_status' => 'δημοσίευση',
'meta_query' => πίνακας (
πίνακας(
'key' => '_visibility',
'value' => πίνακας ('κατάλογος', 'ορατό'),
"σύγκριση" => "IN"
),
πίνακας(
'key' => '_featured',
'value' => 'ναι'
)
),
'πεδία' => 'id => γονέας'
))

$ product_ids = array_keys ($ feature);
$ parent_ids = array_values ​​($ Featured);
$ Feat_product_ids = array_unique (array_merge ($ product_ids, $ parent_ids));

set_transient ('wc_featured_products', $ Feat_product_ids);

επιστροφή $ Feat_product_ids;
}

19 - Προσθήκη προσαρμοσμένου πεδίου για επεξεργασία της σελίδας διευθύνσεων

// προσθήκη πεδίων για επεξεργασία της σελίδας διευθύνσεων
συνάρτηση woo_add_edit_address_fields (πεδία $) {

$ new_fields = πίνακας (
'date_of_birth' => πίνακας (
'label' => __ ('Ημερομηνία γέννησης', 'woocommerce'),
'απαιτείται' => ψευδές,
'class' => πίνακας ('form-row'),
),
)

$ πεδία = array_merge ($ πεδία, $ new_fields);

επιστρέψτε τα πεδία $;

}

add_filter ('woocommerce_default_address_fields', 'woo_add_edit_address_fields');

20 - Εμφάνιση σύντομου κωδικού καταλόγου προϊόντων onsale

συνάρτηση woocommerce_sale_products ($ atts) {

παγκόσμιο $ woocommerce_loop;

απόσπασμα (shortcode_atts (πίνακας (
'per_page' => '12',
'στήλες' => '4',
'orderby' => 'ημερομηνία',
'order' => 'desc'
), $ atts));

$ woocommerce_loop ['στήλες'] = $ στήλες;

$ args = πίνακας (
'post_type' => 'προϊόν',
'post_status' => 'δημοσίευση',
'ign_sticky_posts' => 1,
'posts_per_page' => $ ανά_σελίδα,
'orderby' => $ παραγγελία,
'order' => $ παραγγελία,
'meta_query' => πίνακας (
πίνακας(
'key' => '_visibility',
'value' => πίνακας ('κατάλογος', 'ορατό'),
"σύγκριση" => "IN"
),
πίνακας(
'κλειδί' => '_sale_price',
'τιμή' => 0,
"σύγκριση" => ">",
'type' => 'ΑΡΙΘΜΟΣ'
)
)
)
query_posts ($ args);
ob_start ();
woocommerce_get_template_part («βρόχος», «κατάστημα»);
wp_reset_query ();

επιστροφή ob_get_clean ();
}

add_shortcode ('sale_products', 'woocommerce_sale_products');

21 - Έχετε προϊόντα πώλησης

συνάρτηση woo_have_onsale_products () {

παγκόσμιο woocommerce $;

// Λάβετε προϊόντα προς πώληση
$ product_ids_on_sale = array_filter (woocommerce_get_product_ids_on_sale ());

εάν (! κενό ($ product_ids_on_sale)) {
επιστροφή αληθινή?
} αλλιώς {
επιστροφή ψευδής?
}

}

// Παράδειγμα:
εάν (woo_have_onsale_products ()) {
Το echo «έχει προϊόντα πώλησης» ·
} αλλιώς {
echo «κανένα προϊόν πώλησης» ·
}

22 - Ορίστε το ελάχιστο ποσό παραγγελίας

add_action ('woocommerce_checkout_process', 'wc_minimum_order_amount');
συνάρτηση wc_minimum_order_amount () {
παγκόσμιο woocommerce $;
ελάχιστο = 50 $
εάν ($ woocommerce-> cart-> get_cart_total (); < $minimum ) {
$woocommerce->add_error (sprintf ("Πρέπει να έχετε μια παραγγελία με τουλάχιστον% s για να κάνετε την παραγγελία σας.", $ ελάχιστο));
}
}

23 - Παραγγελία ανά τιμή, ημερομηνία ή τίτλο στη σελίδα καταστήματος

add_filter ('woocommerce_default_catalog_orderby', 'custom_default_catalog_orderby');

συνάρτηση custom_default_catalog_orderby () {
ημερομηνία επιστροφής'; // Μπορεί επίσης να χρησιμοποιήσει τον τίτλο και την τιμή
}

24 - Ανακατεύθυνση κουμπί προσθήκης στο καλάθι στη σελίδα ολοκλήρωσης αγοράς

add_filter ('add_to_cart_redirect', 'redirect_to_checkout');

συνάρτηση redirect_to_checkout () {
παγκόσμιο woocommerce $;
$ checkout_url = $ woocommerce-> cart-> get_checkout_url ();
επιστροφή $ checkout_url;
}

25 - Προσθήκη παραλήπτη email όταν ολοκληρωθεί η παραγγελία

συνάρτηση woo_extra_email_recipient ($ παραλήπτης, $ αντικείμενο) {
$ penerima = $ παραλήπτης. ", [email protected]";
επιστρέψτε τον παραλήπτη $;
}
add_filter ('woocommerce_email_recipient_customer_completed_order', 'woo_extra_email_recipient', 10, 2);

Και… αυτό είναι! Ελπίζω να βρείτε αυτά τα αποσπάσματα χρήσιμα, όλα δοκιμασμένα και όλα λειτουργούν καλά, αλλά αν αντιμετωπίσετε κάποιο πρόβλημα παρακαλώ ενημερώστε με την ενότητα σχολίων. Καλα να περνατε! ��

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map