Après avoir réalisé que les formats de publication sont assez populaire, mais seulement un concept extrêmement rudimentaire, je vois que les utilisateurs se heurteront à de possibles pièges.
Format du post ...
Les deux sont des exemples de pièges possibles qu'un utilisateur pourrait frapper.
Le format de publication a une méta-boîte personnalisée qui permet uniquement de saisir les données attendues.
L’idée elle-même n’est pas si mauvaise, mais il reste le problème que l’utilisateur devrait
Ce que je cherche, c'est
OU...
Remarque:
Je ne cherche pas le contenu exact de la boîte à méta. Ce qui m'intéresse le plus, c’est de voir les "environs" dans différents exemples code
.
Je vous remercie!
J'ai déjà fait quelque chose comme cela une fois, mais lorsque vous avez cliqué sur une certaine catégorie (essentiellement la même), ce n'est certainement pas une vraie solution ajax, elle masque et révèle la div avec les paramètres, mais c'est une solution qui fonctionne. Vous devrez certainement le modifier pour répondre à vos besoins, mais si vous maîtrisez jQuery, je suis sûr que vous pourrez le modifier pour répondre à vos besoins. Si vous êtes un peu plus précis quant à vos besoins, je serais ravi de le modifier pour qu'il corresponde plus précisément à ce que vous recherchez.
Je l'ai utilisé dans un plugin, mais vous pouvez simplement le mettre dans le functions.php de votre thème.
function customadmin_testimonial() {
if ( is_admin() ) {
$script = <<< EOF
<script type='text/javascript'>
jQuery(document).ready(function($) {
$('#testimonial-information').hide();
$('#in-category-3').is(':checked') ? $("#testimonial-information").show() : $("#testimonial-information").hide();
$('#in-category-3').click(function() {
$("#testimonial-information").toggle(this.checked);
});
});
</script>
EOF;
echo $script;
}
}
add_action('admin_footer', 'customadmin_testimonial');
En gros, vous avez ici un script jQuery qui cache initialement une méta-boîte que j'ai déjà configurée. L'identifiant de la boîte est # testimonial-information. Ensuite, il vérifie si la case de la catégorie spécifique est cochée et si c'est le cas, l'affiche. Ensuite, il écoute pour un clic sur la case de la catégorie spécifique et bascule sa visibilité.
Une méta-boîte visible uniquement lorsque l'utilisateur a choisi une catégorie spécifique. Tout ce que vous avez à faire est de configurer vos métaboxes et d'obtenir tous les identifiants des éléments dont vous avez besoin. Vous aurez besoin des identifiants des métaboxes ainsi que des cases à cocher en question. Ensuite, tout ce que vous avez à faire est de suivre cette formule pour obtenir ce que vous recherchez.
Si vous avez tout configuré mais que vous avez du mal à écrire le javascript, donnez-moi simplement les identifiants des métaboxes et les cases à cocher correspondantes et je serais plus qu'heureux de les écrire pour vous.
C'est la fonction javascript finale. Il devrait être accroché au crochet admin_footer
.
/**
* jQuery show/hide for meta box, post editor meta box
*
* Hides/Shows boxes on demand - depending on your selection inside the post formats meta box
*/
function wpse14707_scripts()
{
wp_enqueue_script( 'jquery' );
$script = '<<< EOF
<script type="text/javascript">
jQuery( document ).ready( function($)
{
$( "#post_format_box" ).addClass( "hidden" );
$( "input#post-format-0" ).change( function() {
$( "#postdivrich" ).removeClass( "hidden" );
$( "#post_format_box" ).addClass( "hidden" );
} );
$( "input:not(#post-format-0)" ).change( function() {
$( "#postdivrich" ).addClass( "hidden" );
$( "#post_format_box" ).removeClass( "hidden" );
} );
$( "input[name=\"post_format\"]" ).click( function() {
var mydiv = $(this).attr( "id" ).replace( "post-format-", "" );
$( "#post_format_box div.inside div" ).addClass("hidden");
$( "#post_format_box div.inside div#"+mydiv).removeClass( "hidden" );
} );
}
);
</script>
EOF';
return print $script;
}
add_action( 'admin_footer', 'wpse14707_scripts' );