web-dev-qa-db-fra.com

Utilisation de l'ID de poste dans le bouton tinyMCE personnalisé

Je construis un plugin simple et je dois pouvoir accéder à l'identifiant de post actuel lorsque l'utilisateur clique sur le bouton personnalisé tinyMCE (dans sa fonction onclick). Comment devrais-je obtenir l'ID de post actuel pour le faire.

Juste pour cet exemple, code de ce tutoriel: http://brettterpstra.com/2010/04/17/adding-a-tinymce-button/ peut être utilisé, et après avoir cliqué sur le bouton, l’identifiant de la publication actuelle peut être connecté à console (console.log) ou alerté à l’écran.

1
Marcin Bobowski

Vous auriez besoin de placer une variable javascript espacée de manière globale dans votre code php où vous mettre en file d'attente le script à charger pour les pages de l'éditeur.

Donc, ce code mettra en file d'attente une fonction de script à ajouter aux écrans "éditer poste/page":

add_action('admin_head','my_add_styles_admin');
function my_add_styles_admin() {

    global $current_screen;
    $type = $current_screen->post_type;

    if (is_admin() && $type == 'post' || $type == 'page') {
        ?>
        <script type="text/javascript">
        var post_id = '<?php global $post; echo $post->ID; ?>';
        </script>
        <?php
    }
}

Maintenant, dans votre fichier editor_plugin.js pour votre bouton tinymce; vous pouvez accéder à cet ID d'article en appelant simplement la variable javascript post_id.

3
josh

J'ai trouvé une solution plus simple, peut-être que quelqu'un peut l'utiliser:

    var post_id = jQuery('#post_ID').val();
2
Paflow