+ Rispondi alla Discussione
Risultati da 1 a 11 di 11

[WordPress] Riassunto Opzionale e TinyMCE

Ultimo Messaggio di Fra_T il:
  1. #1
    Utente Premium L'avatar di KING_Hack
    Data Registrazione
    Mar 2005
    Località
    Aquileia
    Messaggi
    1,723

    [WordPress] Riassunto Opzionale e TinyMCE

    Vorrei sapere se c'è la possibilità di abilitare il menu con le iconcine anche sul campo "Riassunto Opzionale" e non solo sulla Text area per scrivere il post.

    Sapete dell' esistenza di qualche plugin per questo scopo?

  2. #2
    Utente Premium L'avatar di KING_Hack
    Data Registrazione
    Mar 2005
    Località
    Aquileia
    Messaggi
    1,723
    Non è mio solito fare degli up ma vorrei ritirare in ballo questo 3d che non ha avuto molte risposte per vedere se qualcuno può ancora consigliarmi qualcosa

  3. #3
    Esperto L'avatar di Tambu
    Data Registrazione
    Jan 2006
    Località
    Genova
    Messaggi
    2,707
    eventualmente non dovrebbe essere molto difficile abilitarla a mano aggiungendo un parametro nella form

  4. #4
    Utente Premium L'avatar di KING_Hack
    Data Registrazione
    Mar 2005
    Località
    Aquileia
    Messaggi
    1,723

    [Risolto] :-)

    Allora mi sono messo giù con la capa sul codice ed ho editato il file che si trova nella dir wp-admin/ e precisamente il file edit-form-advanced.php

    Codice da sostituire (partenza dalla riga 235)
    Codice:
    <div class="dbx-box-wrapper">
    <fieldset id="postexcerpt" class="dbx-box">
    <div class="dbx-handle-wrapper">
    <h3 class="dbx-handle"><?php _e('Optional Excerpt') ?></h3>
    </div>
    <div class="dbx-content-wrapper">
    <div class="dbx-content"><textarea rows="1" cols="40" name="excerpt" tabindex="6" id="excerpt"><?php echo $post->post_excerpt ?></textarea></div>
    </div>  
    </fieldset>
    </div>
    Codice da inserire
    Codice:
    <div class="dbx-box-wrapper">
    <fieldset id="postexcerpt" class="dbx-box">
    <div class="dbx-handle-wrapper">
    <h3 class="dbx-handle"><?php _e('Optional Excerpt') ?></h3>
    </div>
    <div class="dbx-content-wrapper">
    <div class="dbx-content">
    <?php
     $rows = get_settings('default_post_edit_rows');
     if (($rows < 10) || ($rows > 100)) {
         $rows = 12;
     }
    ?>
    <?php the_quicktags(); ?>
    <div><textarea <?php if ( user_can_richedit() ) echo 'title="true" '; ?>rows="<?php echo $rows; ?>" cols="40" name="excerpt" tabindex="2" id="excerpt"><?php echo $post->post_excerpt ?></textarea></div>
    <script type="text/javascript">
    // <![CDATA[
    edCanvas = document.getElementById('content');
    <?php if ( user_can_richedit() ) : ?>
    // This code is meant to allow tabbing from Title to Post (TinyMCE).
    if ( tinyMCE.isMSIE )
            document.getElementById('title').onkeydown = function (e)
                    {
                            e = e ? e : window.event;
                            if (e.keyCode == 9 && !e.shiftKey && !e.controlKey && !e.altKey) {
                                    var i = tinyMCE.selectedInstance;
                                    if(typeof i ==  'undefined')
                                            return true;
                                    tinyMCE.execCommand("mceStartTyping");
                                    this.blur();
                                    i.contentWindow.focus();
                                    e.returnValue = false;
                                    return false;
                            }
                    }
    else
            document.getElementById('title').onkeypress = function (e)
                    {
                            e = e ? e : window.event;
                            if (e.keyCode == 9 && !e.shiftKey && !e.controlKey && !e.altKey) {
                                    var i = tinyMCE.selectedInstance;
                                    if(typeof i ==  'undefined')
                                            return true;
                                    tinyMCE.execCommand("mceStartTyping");
                                    this.blur();
                                    i.contentWindow.focus();
                                    e.returnValue = false;
                                    return false;
                            }
                    }
    <?php endif; ?>
    // ]]>
    </script>
    </div>
    </div>
    </fieldset>
    </div>
    :yuppy:

  5. #5
    Esperto
    Data Registrazione
    Oct 2006
    Messaggi
    336
    io ho provato a farlo tramite Javascript, che non è la mia specialità, quindi è un po' un pastrocchio. Lo script viene aggiunto con un plugin. Testato solo con WP2.1 e Firefox.

    Codice PHP:
    <?php
    /*
    Plugin Name: Quicktags for Excerpt
    */

    function excerptToolBarScript(){
    ?>
    <script type="text/javascript">
    function clone (trueCloning) { // presa da http://forum.html.it/forum/showthread/t-820573.html
        var objectClone = new this.constructor();
        for (var property in this)
            if (!trueCloning)
                objectClone[property] = this[property];
            else if (typeof this[property] == 'object')
                objectClone[property] = this[property].clone(trueCloning);
            else
                objectClone[property] = this[property];
        return objectClone;
    }

    Object.prototype.clone = clone;

    function edCloseAllExcerptTags() {
        var count = edOpenTags.length;
        for (o = 0; o < count; o++) {
            edInsertTag(edExcerpt, edOpenTags[edOpenTags.length - 1]);
        }
    }

    function excerptToolBar(){

        if( ! document.getElementById('quicktags') )
             return;

        // Scope pubblico
        edExcerpt = document.getElementById('excerpt');

        var QTCopy = document.getElementById('quicktags').cloneNode(true),
            tags = QTCopy.getElementsByTagName('input');

        for(var i = 0; i < tags.length; i++){

            if(tags[i].getAttribute('id') == 'ed_spell')
                tags[i].setAttribute('onclick', tags[i].getAttribute('onclick').replace('edCanvas', 'edExcerpt'));

            else if(tags[i].id == 'ed_close')
                tags[i].onclick=function(){edCloseAllExcerptTags()};

            else {
                var m = edButtons.length;

                edButtons[m] = edButtons[i].clone();

                if( edButtons[m] ){
                    if (edButtons[i].id == 'ed_link')
                        tags[i].setAttribute('onclick', 'edInsertLink(edExcerpt, ' + m + ')');

                    else if (edButtons[i].id == 'ed_img')
                        tags[i].setAttribute('onclick', tags[i].getAttribute('id').replace('edCanvas', 'edExcerpt'));

                    else
                        tags[i].setAttribute('onclick', 'edInsertTag(edExcerpt, ' + m + ')');

                    edButtons[m].id = 'exp_'+edButtons[i].id;
                }
            }
            tags[i].setAttribute('id', 'exp_'+tags[i].getAttribute('id'));

        };
        document.getElementById('postexcerpt').appendChild(QTCopy);
    };
    window.onload=excerptToolBar;
    </script>
    <style type='text/css'>#exp_ed_strong{font-weight:bold}#exp_ed_em{font-style:italic}#exp_ed_link{color:#00f}</style>
    <?php
    }
    if(
    is_admin())
        
    add_filter('admin_head''excerptToolBarScript');
    ?>

  6. #6
    Utente Premium L'avatar di KING_Hack
    Data Registrazione
    Mar 2005
    Località
    Aquileia
    Messaggi
    1,723
    Grande Fra_T

    Un po [OT] ma avresti dei link veloci in cui viene spiegato come crearsi i plugin da 0?
    E' comlicato? A quanto sembra imho non si direbbe

  7. #7
    Esperto
    Data Registrazione
    Oct 2006
    Messaggi
    336
    Sì, può essere molto semplice... in questo caso è fatto tutto con javascript, e uso le API solo per inserirlo nell'head dell'amministrazione

    So che non è la risposta che ti aspetti ma su codex ed il wiki di wordpress-it c'è molta documentazione utile, tra cui risorse dedicate proprio alla creazione dei plugin.

    Per "esplorare" il codice io trovo comodo questo: http://phpxref.com/xref/wordpress/na...?index.html.gz

    + che altro per la possibilità di cercare funzioni, classi, ecc... e per il fatto che ogni funzione che vedi nel codice può essere ritrovata con un click

    Per gli "agganci" c'è questo blog: http://wphooks.flatearth.org/
    (agganci, hooks in inglese: nel codice che ho postato c'è il codice add_filter('admin_head', 'excerptToolBarScript'); in questo caso ho usato l'aggancio admin_head.

    Qualcosa lo starei scrivendo anch'io a riguardo... però è più su "come funzionano" (che è comunque interessante )

  8. #8
    Esperto L'avatar di Tambu
    Data Registrazione
    Jan 2006
    Località
    Genova
    Messaggi
    2,707
    Citazione Originariamente Scritto da KING_Hack

    E' comlicato? A quanto sembra imho non si direbbe
    non sottovalutare la potenza di Fra_T

  9. #9
    Utente Premium L'avatar di KING_Hack
    Data Registrazione
    Mar 2005
    Località
    Aquileia
    Messaggi
    1,723
    Grazie 1000 Fra_T

    Tambu condivido in pieno

  10. #10
    Utente Premium L'avatar di KING_Hack
    Data Registrazione
    Mar 2005
    Località
    Aquileia
    Messaggi
    1,723
    Mi faccio avanti con un' ulteriore domanda.
    Ho installato ImageManager che mi fa comparire un0 iconcina sul menu di editing avanzato sopra la text area del contenuto del post, ma non la vedo nel menu dei quicktag che viene visualizzato per il riassunto opzionale.

    E' tutto il pomeriggio che mi sto cercando... qualche suggerimento?

  11. #11
    Esperto
    Data Registrazione
    Oct 2006
    Messaggi
    336
    Non so, lo dovrei provare... magari prima o poi...

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.