Προς το περιεχόμενο
  • 0
haris013

πρόβλημα με menu links σε μεταφρασμένο WP site

Ερώτηση

Καλησπέρα, ένας φίλος μου έστησε ένα site σε wordpress χρησιμοποιώντας σαν βάση ένα one-page theme. έβαλε ένα plugin που λέγεται translatepress και έκανε το site δίγλωσσο με native γλώσσα τα αγγλικά, δηλαδή μετέφρασε το site στα ελληνική εν ολίγοις.

Το ζήτημα είναι το εξής, ενώ το site παίζει στα αγγλικά αλλά και στα ελληνικά μια χαρά,  στην ελληνική βερσιον δεν λειτουργούν τα λινκς του μενού, δηλαδή πατάς και δεν γίνεται scroll στη σελίδα. Μήπως μπορείτε να με κατατοπίσετε ποιο είναι το πρόβλημα και δεν παίζουν τα λινκς;

έχω και μερικά screenshot στο πως είναι η δομή του μενού και το plugin της μετάφρασης. Για κάποιο λόγο τα menu έχουν external links αλλά λειτουργούν μια χαρά στην αγγλικά έκδοση της σελίδας.(δεν έχω ιδέα γιατί έχουν external links, μου είπε ο φίλος μου οτι έτσι ήταν όταν εγκατέστησε το θέμα)

το site:

Ευχαριστώ εκ των προτέρων!

tp.jpg.a151609cf2ecc7742586a07fcc7a67e1.jpg.02c1ecddd5cb9feb070b141859a944ff.jpgmenu_links.jpg.704c47d87163ea379e4d5150c363b87f.jpg.0c96b773d4b1c5d5bcdc4de1c55e5975.jpg

 

 

 

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Προτεινόμενες αναρτήσεις

  • 0

Το ancor #futures που κανεις link ειναι  το ID του element στον κωδικα της html το οποιο και δεν μεταφραζεται. 

Αρα λοιπον αφήνεις το #futures οπως ειναι και δεν το μεταφραζεις σε #χαρακτηριστικά ;)

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
20 λεπτά πριν, lionheart82 είπε

Το ancor #futures που κανεις link ειναι  το ID του element στον κωδικα της html το οποιο και δεν μεταφραζεται. 

Αρα λοιπον αφήνεις το #futures οπως ειναι και δεν το μεταφραζεις σε #χαρακτηριστικά ;)

μόλις το δοκιμάσαμε αλλά δεν άλλαξε κάτι. προφανώς έγινε clear cache και τα σχετικά. Δεν μπορώ να καταλάβω τι αλλάζει και δεν πιάνει τα sections.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
Δημοσ. (επεξεργασμένο)
6 ώρες πριν, haris013 είπε

μόλις το δοκιμάσαμε αλλά δεν άλλαξε κάτι. προφανώς έγινε clear cache και τα σχετικά. Δεν μπορώ να καταλάβω τι αλλάζει και δεν πιάνει τα sections.

Να τα αλλάξετε σε αγγλικά και στην markup της σελίδας. βλέπω δλδ :
 

<section id="υπηρεσίες"  class="section-services section-padding section-meta onepage-section" data-no-translation-id="">

αυτό να το αλλάξετε σε

<section id="services"  class="section-services section-padding section-meta onepage-section" data-no-translation-id="">

δεν υπάρχει λόγος να αλλάζετε τα id ανάλογα τη γλώσσα.

Και στο αντίστοιχο menu item #services
Ομοίως και για τα υπόλοιπα.

Επεξ/σία από vadou

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
Δημοσ. (επεξεργασμένο)
2 ώρες πριν, vadou είπε

Να τα αλλάξετε σε αγγλικά και στην markup της σελίδας. βλέπω δλδ :
 

<section id="υπηρεσίες"  class="section-services section-padding section-meta onepage-section" data-no-translation-id="">

αυτό να το αλλάξετε σε

<section id="services"  class="section-services section-padding section-meta onepage-section" data-no-translation-id="">

δεν υπάρχει λόγος να αλλάζετε τα id ανάλογα τη γλώσσα.

Και στο αντίστοιχο menu item #services
Ομοίως και για τα υπόλοιπα.

χμμ αυτό το έκανε το plugin μόνο του για κάποιο λόγο. Δεν το πήραμε χαμπάρι. θα πω του φίλου μου να τα αλλάξει και σας ενημερώνω. ευχαριστώ πολύ!

 

edit: για ένα περίεργο λόγο, το plugin αλλάζει αυτόματα τα id της σελίδας. Στην αγγλική έκδοση είναι κανονικά και στην ελληνική τα μετραφράζει μόνο του. Δεν το έχω ξαναδεί αυτό το πράγμα. Δεν έχουμε ιδέα πως το αποτρέπουμε αυτό.

Επεξ/σία από haris013

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Αν μπορείς/ξέρεις γράψε την php που σου δημιουργεί αυτό το κομμάτι της σελίδας. Συγκεκριμένα όλη τη γραμμή με το section και το id του. 
Ίσως έχει κανένα gettext function και νομίζει το plugin ότι θέλει μετάφραση ή κάτι παίζει με το data-no-translation-id="".
Δες και το documentation του plugin, ίσως αναφέρει κάτι.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
10 λεπτά πριν, vadou είπε

Αν μπορείς/ξέρεις γράψε την php που σου δημιουργεί αυτό το κομμάτι της σελίδας. Συγκεκριμένα όλη τη γραμμή με το section και το id του. 
Ίσως έχει κανένα gettext function και νομίζει το plugin ότι θέλει μετάφραση ή κάτι παίζει με το data-no-translation-id="".
Δες και το documentation του plugin, ίσως αναφέρει κάτι.

ψαχνω να βρω που στα κομματια είναι το  php το οποίο περιέχει τα section id. το plugin έχει πεδία για excude gettext functions

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

δεν έχουμε καταφέρει ακόμα να βρούμε λύση. τα html ids δεν έιναι hardcoded αλλαγμένα σε ελληνικά, πρέπει να γίνεται με js από το plugin. Το θέμα είναι οτι έχω απενεργοποιήσει automatic translations, gettext κλπ αλλά πάλι φαίνονται στα ελληνικά τα id. έχω στείλει και στην εταιρία που κάνει develop το plugin αλλά δεν έχω απάντηση. μπορώ να το κάνω με κάποιο τρόπο debug μονος μου;

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
Δημοσ. (επεξεργασμένο)

Από ότι  βλέπω στο source επηρεάζονται και γίνονται ελληνικά μόνο τα ids των section 1-4

Μέχρι να βρεις μόνιμη λύση μπορείς με ένα μικρό script να τα αλλάζεις στα αγγλικά.

Βάλε κάπου να τρέχει αυτό. Επαναφέρει τα ids στα αρχικά και το μενου λειτουργεί.


document.getElementById("χαρακτηριστικά").id="features";
document.getElementById("σχετικά").id="about";
document.getElementById("υπηρεσίες").id="services";
document.getElementById("επικοινωνία").id="contact";
Επεξ/σία από k33theod

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
Στις 12/12/2019 στις 11:45 ΠΜ, haris013 είπε

Καλησπέρα, ένας φίλος μου έστησε ένα site σε wordpress χρησιμοποιώντας σαν βάση ένα one-page theme. έβαλε ένα plugin που λέγεται translatepress και έκανε το site δίγλωσσο με native γλώσσα τα αγγλικά, δηλαδή μετέφρασε το site στα ελληνική εν ολίγοις.

Το ζήτημα είναι το εξής, ενώ το site παίζει στα αγγλικά αλλά και στα ελληνικά μια χαρά,  στην ελληνική βερσιον δεν λειτουργούν τα λινκς του μενού, δηλαδή πατάς και δεν γίνεται scroll στη σελίδα. Μήπως μπορείτε να με κατατοπίσετε ποιο είναι το πρόβλημα και δεν παίζουν τα λινκς;

 

έχω και μερικά screenshot στο πως είναι η δομή του μενού και το plugin της μετάφρασης. Για κάποιο λόγο τα menu έχουν external links αλλά λειτουργούν μια χαρά στην αγγλικά έκδοση της σελίδας.(δεν έχω ιδέα γιατί έχουν external links, μου είπε ο φίλος μου οτι έτσι ήταν όταν εγκατέστησε το θέμα)

το site:

  Απόκρυψη περιεχομένων

 

Ευχαριστώ εκ των προτέρων!

menu_links.jpg

tp.jpg

Καλησπέρα, βλέπω καταρχάς ότι τα url στο plugin που έχεις περάσει δεν ταιριάζουν με το url της ιστοσελίδας σου, τώρα... το ότι λειτουργεί σωστά και στην αγγλική έκδοση, μάλλον είναι θέμα τύχης.

Κάνε έναν επανέλεγχο, πέρασε τα σωστά url και δοκίμασε να μας πεις.

<nav id="site-navigation" class="main-navigation" role="navigation">
						<ul class="onepress-menu">
							<li id="menu-item-1368" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1368"><a href="https://demos.famethemes.com/onepress/#features">Features</a></li>
<li id="menu-item-27" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-27"><a href="https://demos.famethemes.com/onepress/#about">About</a></li>
<li id="menu-item-28" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-28"><a href="https://demos.famethemes.com/onepress/#services">Services</a></li>
<li id="menu-item-32" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-32"><a href="https://demos.famethemes.com/onepress/#contact">Contact</a></li>

 

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
6 λεπτά πριν, htaccess είπε

Καλησπέρα, βλέπω καταρχάς ότι τα url στο plugin που έχεις περάσει δεν ταιριάζουν με το url της ιστοσελίδας σου, τώρα... το ότι λειτουργεί σωστά και στην αγγλική έκδοση, μάλλον είναι θέμα τύχης.

Κάνε έναν επανέλεγχο, πέρασε τα σωστά url και δοκίμασε να μας πεις.

<nav id="site-navigation" class="main-navigation" role="navigation">
						<ul class="onepress-menu">
							<li id="menu-item-1368" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1368"><a href="https://demos.famethemes.com/onepress/#features">Features</a></li>
<li id="menu-item-27" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-27"><a href="https://demos.famethemes.com/onepress/#about">About</a></li>
<li id="menu-item-28" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-28"><a href="https://demos.famethemes.com/onepress/#services">Services</a></li>
<li id="menu-item-32" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-32"><a href="https://demos.famethemes.com/onepress/#contact">Contact</a></li>

Κάτι παίζει με τα links γενικά στο θέμα onepress. Όπως γράφω και στο πρώτο thread, το μενού του site έχει καρφοτα external links για κάθε section. Δεν ξέρω πώς θα λινκαρω τα section της σελίδας καθώς είναι one page theme και δεν έχει άλλες σελίδες. Όπως επίσης δεν ξέρω γιατί λειτουργούν τα λινκς και στην αγγλική έκδοση από default. Γενικά το theme είναι ελεινο, δεν έχει ξεκάθαρο dev documentation 

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
14 λεπτά πριν, haris013 είπε

Κάτι παίζει με τα links γενικά στο θέμα onepress. Όπως γράφω και στο πρώτο thread, το μενού του site έχει καρφοτα external links για κάθε section. Δεν ξέρω πώς θα λινκαρω τα section της σελίδας καθώς είναι one page theme και δεν έχει άλλες σελίδες. Όπως επίσης δεν ξέρω γιατί λειτουργούν τα λινκς και στην αγγλική έκδοση από default. Γενικά το theme είναι ελεινο, δεν έχει ξεκάθαρο dev documentation 

Ενώ σαν θέμα είναι ωραίο, προσωπικά μου αρέσει, στην διαχείριση που μπήκα λίγο σπάει μπάλες.

Στην βάση δεδομένων έψαξες αν μπορείς να αλλάξεις κάτι από εκεί ?

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
2 λεπτά πριν, htaccess είπε

Ενώ σαν θέμα είναι ωραίο, προσωπικά μου αρέσει, στην διαχείριση που μπήκα λίγο σπάει μπάλες.

Στην βάση δεδομένων έψαξες αν μπορείς να αλλάξεις κάτι από εκεί ?

οχι δεν εψαξα στην βαση, δεν ξέρω πως ειναι δομημενο και δεν το έχω στήσει εγώ οπότε δεν γνωρίζω και τι να ψάξω. ειναι τραγικό να μην έχει σωστό documentation, είδα οτι το πουλάνε κιόλας, ποιος θα το αγοράσει χωρίς να υπάρχει στοιχειώδες support

1 ώρα πριν, k33theod είπε

Από ότι  βλέπω στο source επηρεάζονται και γίνονται ελληνικά μόνο τα ids των section 1-4

Μέχρι να βρεις μόνιμη λύση μπορείς με ένα μικρό script να τα αλλάζεις στα αγγλικά.

Βάλε κάπου να τρέχει αυτό. Επαναφέρει τα ids στα αρχικά και το μενου λειτουργεί.


document.getElementById("χαρακτηριστικά").id="features";
document.getElementById("σχετικά").id="about";
document.getElementById("υπηρεσίες").id="services";
document.getElementById("επικοινωνία").id="contact";

έβαλα το παραπάνω στο header.php μέσα σε script tags αλλά δεν βλέπω να λειτουργεί για κάποιο λόγο

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 1
Δημοσ. (επεξεργασμένο)
2 ώρες πριν, haris013 είπε

οχι δεν εψαξα στην βαση, δεν ξέρω πως ειναι δομημενο και δεν το έχω στήσει εγώ οπότε δεν γνωρίζω και τι να ψάξω. ειναι τραγικό να μην έχει σωστό documentation, είδα οτι το πουλάνε κιόλας, ποιος θα το αγοράσει χωρίς να υπάρχει στοιχειώδες support

έβαλα το παραπάνω στο header.php μέσα σε script tags αλλά δεν βλέπω να λειτουργεί για κάποιο λόγο

To header ίσως δεν είναι καλή επιλογή δοκίμασε body τέλος .  Ή στο header κάνοντας εξωτερικό αρχείο και με την παράμετρο στο script defer

<script defer src = "change_ids.js"></script>

ή άλλαξε το script σε

window.onload = function(){ 
document.getElementById("χαρακτηριστικά").id="features";
document.getElementById("σχετικά").id="about";
document.getElementById("υπηρεσίες").id="services";
document.getElementById("επικοινωνία").id="contact";
};

 

 

Επεξ/σία από k33theod

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0
Δημοσ. (επεξεργασμένο)
43 λεπτά πριν, k33theod είπε

To header ίσως δεν είναι καλή επιλογή δοκίμασε body τέλος .  Ή στο header κάνοντας εξωτερικό αρχείο και με την παράμετρο στο script defer

<script defer src = "change_ids.js"></script>

ή άλλαξε το script σε

window.onload = function(){ 
document.getElementById("χαρακτηριστικά").id="features";
document.getElementById("σχετικά").id="about";
document.getElementById("υπηρεσίες").id="services";
document.getElementById("επικοινωνία").id="contact";
};

το τρέχω με defer ετσι και αλλιως σε εξωτερικό αρχείο, θα δοκιμάσω και Internal παρόλο που δεν ειναι best practice και βλέπουμε. Σε ευχαριστώ παρα πολυ για την βοήθεια!

 

edit: δούλεψε με κώδικα κατευθείαν μέσα σε body! το μόνο που δεν παίζει είναι τα bullets στην πλοήγηση τερμά δεξιά, εμφανίζεται στα ελληνικά 1 bullet μόνο του το home, τα υπόλοιπα άφαντα, αλλά είναι το τελευταίο πράγμα που με νοιάζει. Ευχαριστώ πολύ και πάλι!

Επεξ/σία από haris013

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 1
Δημοσ. (επεξεργασμένο)

Έτσι από περιέργεια, επειδή είδα και είχε ακόμα κίνηση το thread (αν και βρήκες κάποια λύση), είπα να δω τον κώδικα του theme, μιας και είναι τσαμπέ και βρήκα το σημείο που σου δημιουργεί το πρόβλημα με τα id.

Θα βρεις ένα φάκελο, "section-parts" και εκεί υπάρχουν τα php αρχεία που σου φτιάχνουν το κάθε section.
Εκεί λοιπόν, αν μπεις σε κάθε αρχείο, θα δεις ότι πάει και παίρνει το section id από τα theme options, και πάει και το μεταφράζει.
πχ στο  section-contact.php 2η γραμμή:
 

<?php
$onepress_contact_id = get_theme_mod( 'onepress_contact_id', esc_html__( 'contact', 'onepress' ) );

Αντί να κάνει δλδ esc_html() ή μάλλον να ορίσει κατευθείαν κάποιο string,  πάει και χρησιμοποιεί gettext όπως είχα φανταστεί, esc_html__().
Το 2ο όρισμα που παίρνει η get_theme_mod() είναι η default τιμή, οπότε αν δε βρει κάποιο value στο option 'onepress_contact_id', πάει και βάζει τη μετάφραση του 'contact'. Αν διορθώσεις αυτή τη βλακεία, θα παίξει χωρίς χακιές.
Είτε βρες πώς ορίζεις τα options αυτά από τη διαχείρηση, είτε για πιο γρήγορα, άλλαξε το esc_html__('contact', 'onepress') με σκέτο 'contact'.
Ομοίως και για τα άλλα sections.

Επεξ/σία από vadou

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε έναν λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι εύκολο!

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
×
×
  • Δημιουργία νέου...

Χρήσιμες πληροφορίες

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.