it-swarm.com.de

Absätze automatisch zum benutzerdefinierten Feld hinzufügen?

hey Leute, ist es möglich, Text in einem benutzerdefinierten Eingabefeld automatisch mit Absätzen zu formatieren?

z.B. wie das normale Text-Widget, das die Option hat, "Absätze automatisch hinzufügen" zu sagen, wenn ein Zeilenumbruch auftritt.

Ich möchte nur, dass meine Blogautoren nicht tippen
am Ende jeder Zeile in einem benutzerdefinierten Feld!

gibt es einen Weg, dies zu tun?

aktualisieren:

<?php if (have_posts()) : ?>
                <?php while (have_posts()) : the_post();
                    $sidebar_title = get_post_meta($post->ID, 'sidebar-title', $single = true);
                    $sidebar_text = get_post_meta($post->ID, 'sidebar-text', $single = true); ?>

                    <?php if ( $sidebar_title !== '' && $sidebar_text !== '' ) { ?>
                        <li class="widget-container widget-light-blue custom">  
                            <h3 class="widget-title"><?php echo wpautop($sidebar_title, $br); ?></h3>
                            <?php echo wpautop($sidebar_text, $br); ?>
                        </li>
                    <?php } ?>

                <?php endwhile; ?>
            <?php endif; ?>
2
mathiregister

Warum verwenden Sie apply_filters( 'the_content', $var ); nicht, wenn Sie Ihr benutzerdefiniertes Feld ausgeben? Sie möchten die zusätzlichen Absätze nicht wirklich speichern , da sie sonst beim Bearbeiten des benutzerdefinierten Felds angezeigt werden. Dies ist nicht das, was mit WordPress passiert.

Wenn Sie mit der Funktionsweise von the_content nicht zufrieden sind (viele Funktionen, einschließlich wpautop), erstellen Sie einen benutzerdefinierten Filter wie diesen:

// Assuming $var is your custom field value
add_filter( 'my_custom_filter', 'wpautop' );
echo apply_filters( 'my_custom_filter', $var );

Prost!

3
kovshenin

Können Sie die Benutzereingabedaten durch wpautop() ( Codex ref ) übergeben, wenn Sie diese Daten in der Datenbank speichern?

BEARBEITEN:

Sie sollten folgendermaßen vorgehen, um die Benutzereingaben zu validieren/zu bereinigen:

/* Function to validate, sanitize, and save post metadata. */
function mytheme_save_custom_metadata(){

  global $post;

  $valid_custom_field_input = wp_kses( wpautop( $_POST['custom_meta_field'] ) );

  update_post_meta($post->ID, 'custom_meta_field', $valid_custom_field_input );
}
/* Add our function to the save_post hook. */
add_action('save_post', 'mytheme_save_custom_metadata');

Beachten Sie, dass ich die Benutzereingabe in wpautop() eingepackt habe, bevor ich wp_kses() durchlaufen habe.

1
Chip Bennett