WordPress Plugin Subscribe2 sfugge caratteri nel nome del blog per l'invio di e-mail
-
19-09-2019 - |
Domanda
Sto usando Subscribe2 plug-in nel mio nuovo blog WordPress imminente ( http://www.adlerr.com ). titolo del mio blog è "Blog di Roee Adler". Quando si invia una e-mail, Subscribe2 sfugge l'apostrofo nel titolo del mio blog, e l'oggetto del messaggio viene ricevuto come segue:
[Roee Adler's Blog] Please confirm your request
Il corpo di posta elettronica è:
Roee Adler's Blog has received a request to
subscribe for this email address. To complete your
request please click on the link below:
...
Vorrei naturalmente piacerebbe avere la "normale" versione non-sfuggito il mio nome del blog nel titolo e nel corpo.
Ho fatto questa domanda su doctype.com senza successo ( ecco la domanda ), tuttavia dalle risposte ho capito questo probabilmente richiede modifiche al codice PHP del plugin, quindi vorrei invece chiedere qui.
A seguito delle risposte che ho ricevuto il doctype, ho fatto alterare la seguente sezione di codice:
function substitute($string = '') {
if ('' == $string) {
return;
}
$string = htmlspecialchars_decode(str_replace("BLOGNAME", get_option('blogname'), $string));
$string = str_replace("BLOGLINK", get_bloginfo('url'), $string);
$string = htmlspecialchars_decode(str_replace("TITLE", stripslashes($this->post_title), $string));
$string = str_replace("PERMALINK", $this->permalink, $string);
Nel codice di cui sopra, ho aggiunto un wrapper htmlspecialchars_decode
per la generazione di entrambi BLOGNAME e titolo, ma il soggetto e-mail e il corpo contiene ancora '
.
Che cosa posso fare per risolvere questo?
Grazie
Soluzione
Come per la documentazione sul htmlspecialchars_decode
, è necessario di passare ENT_QUOTES
come argomento $quote_style
per poter convertire '
a '
. Prova ENT_QUOTES
impostazione:
function substitute($string = '') {
if ('' == $string) {
return;
}
$string = htmlspecialchars_decode(str_replace("BLOGNAME", get_option('blogname'), $string), ENT_QUOTES);
$string = str_replace("BLOGLINK", get_bloginfo('url'), $string);
$string = htmlspecialchars_decode(str_replace("TITLE", stripslashes($this->post_title), $string), ENT_QUOTES);
$string = str_replace("PERMALINK", $this->permalink, $string);
Altri suggerimenti
WordPress sostituisce un apostrofo nel titolo del blog con '
prima lo memorizza nel database. Se si desidera ignorare questo, modificare il file functions.php e inserire la seguente dichiarazione:
update_option("blogname", "My Blog's Title With Apostrophe");
che costringerà il titolo ad essere esattamente quello che entra. Modifiche al titolo del blog si effettua nel menu Impostazioni non avrà alcun effetto.