• User Attivo

    Modificare testo della pagina di protezione

    Ciao a tutti,

    stavo provando a modificare il testo standard che appare quando proteggi una pagina con la password. Il testo in questione è: "This post is password protected. To view it please enter your password below:".

    Ho provato ad aggiungere al file "functions.php" i seguenti codici:
    [PHP]function my_password_form() {
    global $post;
    $label = 'pwbox-'.( empty( $post->ID ) ? rand() : $post->ID );
    $o = '<form action="' . esc_url( site_url( 'wp-login.php?action=postpass', 'login_post' ) ) . '" method="post">
    ' . __( "To view this protected post, enter the password below:" ) . '
    <label for="' . $label . '">' . ( "Password:" ) . ' </label><input name="post_password" id="' . $label . '" type="password" size="20" maxlength="20" /><input type="submit" name="Submit" value="' . esc_attr( "Submit" ) . '" />
    </form>
    ';
    return $o;
    }
    add_filter( 'the_password_form', 'my_password_form' );
    [/PHP]

    E anche questo:
    [PHP]
    function custom_password_form_text( $text ) {
    $text = str_replace( 'This content is password protected. To view it please enter your password below:', 'your text', $text );
    return $text;
    }
    add_filter( 'the_password_form', 'custom_password_form_text' );
    [/PHP]

    Ma nessuno dei due funziona. Qualcuno conosce un altro metodo per modificare la scritta?

    PS: sto usando la versione 4.4.2 di Wordpress


  • Super User

    Ciao, hai provato a vedere se il tema ha dei file di lingua? Solitamente sono nella cartella language e li riconosci dall'estensione .mo e .po (es: en_EN.po/.mo)


  • User Attivo

    Probabilmente se ne esce con qeusta action al posto di quelle due:

    [PHP]
    // Password Protected Page Message
    function custom_password_form($form) {
    $subs = array(
    '#<p>Il tuo testo abc: Il tuo testo abc</p>#' => '<p>Il tuo testo abc Il tuo testo abc Il tuo testo abc.</p>',
    '#<form(.?)>#' => '<form$1 class="passwordform">',
    '#<input(.
    ?)type="password"(.?) />#' => '<input$1type="password"$2 class="text" />',
    '#<input(.
    ?)type="submit"(.*?) />#' => '<input$1type="submit"$2 class="button" />'
    );

    echo preg_replace(array_keys($subs), array_values($subs), $form);
    }
    add_filter('the_password_form', 'custom_password_form');

    [/PHP]

    non testato, magari aiuta.