
Στις 12 Φεβρουαρίου κυκλοφόρησε η τελική έκδοση του GenerateBlocks 2.0 (GB) μετά από έναν μακρύ κύκλο που ξεκίνησε στις 24 Νοεμβρίου 2024 με την πρώτη έκδοση alpha.1, την οποία δοκίμαζα από την αρχή.
Η έκδοση 2.0 είναι μία από αυτές που κρύβει μεγάλες βελτιώσεις "κάτω από το καπό" για να διατηρήσει τις τοποθεσίες καλά βελτιστοποιημένες. Η έκδοση 2.0 σας επιτρέπει να διατηρήσετε τα μπλοκ της έκδοσης 1.0 ή ακόμα και να επανέλθετε σε αυτά αν χρειαστεί.
Παρόλο που ακόμα τελειοποιούν την τελική απόδοση και η χρηστικότητα είναι ακόμα η ημιτελής δουλειά τους, με μια απότομη καμπύλη εκμάθησης, καθώς δεν φαίνεται να έχουν βρει ακόμα την "οπτική" ισορροπία των διαμορφώσεων των μπλοκ, αυτό αντισταθμίζεται από μια άψογη υποστήριξη και μια πολύ πλήρη τεκμηρίωση.
Αυτό το πρόσθετο μπλοκ, που δημιουργήθηκε από τον Tom Usborne, είναι πολύ νέο. Είναι μόλις δύο ετών. Η έκδοση 1.0 κυκλοφόρησε στις 30 Αυγούστου 2022.
Αυτό δεν το εμπόδισε να γίνει, μαζί με το GeneratePress (GP), ο ιδανικός συνδυασμός για το σχεδιασμό ή/και την κατασκευή μέρους ή σχεδόν ολόκληρου του σχεδιασμού του WordPress σας, καθώς προσφέρει καθαρό, ελαφρύ και γρήγορο κώδικα. Μέχρι σήμερα εξακολουθεί να επιλέγεται από μεγάλο αριθμό χρηστών του WordPress, από "εξειδικευμένους" έως και οικιακούς bloggers.
Πρέπει να επιμείνουμε ότι το GenerateBlocks δεν είναι ένας οικοδόμος, όπως το Elementor ή άλλοι λεγόμενοι "Site Builders" αν και μπορεί να χρησιμοποιηθεί ως τέτοιος, είναι μια διαφορετική προσέγγιση που δεν έχει καμία σχέση με το παραδοσιακό "drag and drop". Πρόκειται για ένα πρόσθετο μπλοκ.
Αν υπάρχει ένα πράγμα που πρέπει να αναθεωρηθεί και να επικροτηθεί σχετικά με την GB+GP, αυτό είναι η υποστήριξή τους. Έχουν καταλάβει πολύ καλά τους χρήστες τους και έχουν πετύχει το στόχο τους όσον αφορά την εξυπηρέτηση πελατών. Από το φόρουμ υποστήριξής τους μπορείτε να λύσετε σχεδόν τα πάντα.
Σας βοηθούν ακόμη και σε θέματα που δεν σχετίζονται πάντα με σφάλματα ή αμφιβολίες σχετικά με τη χρήση, αλλά και όταν πρόκειται για την κατασκευή ή τον επανασχεδιασμό συγκεκριμένων πραγμάτων. Πάντα με φιλική και αποφασιστική αντιμετώπιση. Και το καλύτερο είναι ότι όλα αυτά τα ερωτήματα, οι συζητήσεις και οι λύσεις μπορούν να συμβουλευτούν από οποιονδήποτε, ακόμη και αν δεν χρησιμοποιεί τις επί πληρωμή εκδόσεις τους.
Αυτό και μόνο αξίζει κάθε δολάριο που πληρώνετε για το πρότυπο και το πρόσθετο μπλοκ.
Αφήνω εδώ, ως υπενθύμιση και "επαναδιαβούλευση" για το μέλλον, ένα παράδειγμα λύσης (και δεν είναι το πρώτο) ενός από αυτά τα ερωτήματα στο φόρουμ υποστήριξής σας που μου επέτρεψε να μεταφράσω δυναμικά κάποιες συμβολοσειρές. Ήταν οι τελευταίες που έπρεπε να μεταφραστούν και αντιστέκονταν.
Πιθανότατα, για κάποιον με γνώσεις προγραμματισμού είναι σαν να ξύνει τη μύτη του, αλλά για προχωρημένους μαστόρους με βασικές γνώσεις, όπως εγώ, είναι ένα πραγματικό δώρο.
Μετάφραση κειμένου από ένα μπλοκ GenerateBlocks "Text" χρησιμοποιώντας την Polylang
Το πρόσθετο Polylang σας επιτρέπει να καταχωρείτε συμβολοσειρές για να προσθέσετε τις αντίστοιχες μεταφράσεις τους όπου θέλετε. Για να το κάνετε αυτό, απλά προσθέστε τις συμβολοσειρές ως εξής στο functions.php του θέματος :
pll_register_string('Publicado:', 'Published:');
pll_register_string('Actualizado:', 'Updated:');
Έτσι, θα εμφανιστούν ήδη για μετάφραση σε μια ομάδα που ονομάζεται Polylang στην ενότητα Γλώσσες/μεταφράσεις:

Αλλά αυτό δεν είναι αρκετό, τώρα πρέπει να επικαλεστείτε κάθε μία από αυτές τις μεταφράσεις με κώδικα PHP για να τις εμφανίσετε.
Η αποστολή είναι να μεταφράζονται δυναμικά σε κάθε γλώσσα οι συμβολοσειρές Published: και Updated: που είχα προσθέσει τότε σε ένα στοιχείο GP Element με ένα μπλοκ GB 2.0 "Text" (που παλαιότερα ονομαζόταν "Headline").
Structure of the GB Text block
Publicado: {{post_date}} | Actualizado: {{post_date type:modified}} |

Το πρόβλημα είναι ότι δεν μπόρεσα να βρω έναν τρόπο να προσθέσω τις κλήσεις PHP Polylang για την αντικατάσταση αυτών των δύο λέξεων ανάλογα με τη γλώσσα στην οποία εμφανίζεται η σελίδα:
<?php echo pll__('Published:'); ?>
<?php echo pll__('Updated:'); ?>
Το μπλοκ GB δεν εκτελεί κώδικα PHP και δεν υπήρχε η δυνατότητα να το τοποθετήσετε με έναν σύντομο κώδικα. Σε αυτό το σημείο δήλωσα αδυναμία να βρω λύση και αποφάσισα να συμβουλευτώ το φόρουμ υποστήριξης.
Και μετά από μερικά μηνύματα, η λύση έφτασε.
1. Προστίθεται μια κλάση CSS στο μπλοκ Text". Για αυτό το παράδειγμα χρησιμοποιούμε: my-post-dates

2- Αυτό το φίλτρο προστίθεται στο functions.php του προτύπου:
add_filter( 'render_block', function( $block_content, $block ) {
if ( ! empty( $block['attrs']['className'] ) && 'my-post-dates' === $block['attrs']['className'] ) {
$published = pll__('Published:');
$updated = pll__('Updated:');
// Ensure these values are translated, fallback to default if empty
$translated_published = !empty($published) ? $published : 'Published:';
$translated_updated = !empty($updated) ? $updated : 'Updated:';
$block_content = str_replace('Publicado', $published, $block_content);
$block_content = str_replace('Actualizado', $updated, $block_content);
}
return $block_content;
}, 10, 2 );
Και αυτό είναι όλο. Τώρα, αυτές οι δύο λέξεις θα εμφανίζονται στη γλώσσα που έχετε επιλέξει από αυτές που χρησιμοποιείτε.
Αυτή η ανάρτηση περιέχει δύο συνδέσμους θυγατρικών.