Vai al contenuto
WordPress.org

Italia

  • Temi
  • Plugin
  • Notizie
    • Documentazione
    • Forum
  • Info
    • Manifesto
    • Unisciti alla Community
    • Team
    • Manuali
    • Traduci
    • Meetup italiani
    • WordCamp
    • Five for the Future
    • Proposte di lavoro
    • Swag Store
    • Directory delle foto
    • Learn WordPress
    • Openverse
    • Pattern
    • Playground
    • Prova l’editor Gutenberg
    • WordPress.tv
  • Eventi
  • Scarica WordPress
Scarica WordPress
WordPress.org

Plugin Directory

Easy Custom Fields

  • Invia un plugin
  • I miei preferiti
  • Accedi
  • Invia un plugin
  • I miei preferiti
  • Accedi

Questo plugin non è stato testato con le ultime 3 versioni principali (major releases) di WordPress. Potrebbe non essere più mantenuto, o supportato, e potrebbe presentare problemi di compatibilità se utilizzato con versioni più recenti di WordPress.

Easy Custom Fields

Di Thorsten Ott
Scarica
  • Dettagli
  • Recensioni
  • Sviluppo
Supporto

Descrizione

Features:

  • simply generate post boxes with multiple fields / groups
  • easily validate/sanitize input and output data
  • easy access to field data via $easy_cf->field_id->get() or $easy_cf->field_id->get( NULL, $raw=true );
  • get error messages for validation failures via admin notices
  • custom post type aware
  • extendable to your needs by extending Easy_CF_Field and Easy_CF_Validator classes (see advanced usage)

As this script is mainly meant as basis for developers it needs minor coding skills to add this functionality
to your theme.

In order to make use of this class simply initialize it from the functions.php file of your theme as described below.

Simple Usage

require_once( WP_PLUGIN_DIR . '/easy-custom-fields/easy-custom-fields.php' );
$field_data = array (
    'testgroup' => array (              // unique group id
        'fields' => array(              // array "fields" with field definitions
            'field1'    => array(),     // globally unique field id
            'field2'    => array(),
            'field3'    => array(),
        ),
    ),
);
$easy_cf = new Easy_CF($field_data);

Advanced Usage

require_once( WP_PLUGIN_DIR . '/easy-custom-fields/easy-custom-fields.php' );
$field_data = array (
    'testgroup' => array (
        'fields' => array(
            'field1'    => array(),
            'field2'    => array(),
            'field3'    => array(),
        ),
    ),
    'advanced_testgroup' => array (                                     // unique group id
        'fields' => array(                                              // array "fields" with field definitions 
            'advanced_field'    => array(                               // globally unique field id
                'label'         => 'Advanced Field Description',        // Field Label
                'hint'          => 'Long Advanced Field description',   // A descriptive hint for the field
                'type'          => 'textarea',                          // Custom Field Type (see Ref: field_type)
                'class'         => 'aclass',                            // CSS Wrapper class for the field
                'input_class'   => 'theEditor',                         // CSS class for the input field
                'error_msg'     => 'The Advanced Field is wrong' ),     // Error message to show when validate fails
                'validate'      => 'validatorname',                     // Custom Validator (see Ref: validator)
            'advanced_email' => array(
                'label' => 'Email',
                'hint' => 'Enter your email',
                'validate' => 'email', )
        ),
        'title' => 'Product Description',   // Group Title
        'context' => 'advanced',            // context as in https://codex.wordpress.org/Function_Reference/add_meta_box
        'pages' => array( 'post', 'page' ), // pages as in https://codex.wordpress.org/Function_Reference/add_meta_box
    ),
);

if ( !class_exists( "Easy_CF_Validator_Email" ) ) {

    class Easy_CF_Validator_Email extends Easy_CF_Validator {
        public function get( $value='' ) {
            return esc_attr( $value );
        }

        public function set( $value='' ) {
            $value = esc_attr( trim( stripslashes( $value ) ) );
            return $value;
        }

        public function validate( $value='' ) {
            if ( empty( $value ) || is_email( $value ) ) 
                return true;
            else
                return false;
        }
    }
}

if ( !class_exists( "Easy_CF_Field_Textarea" ) ) {
    class Easy_CF_Field_Textarea extends Easy_CF_Field {
        public function print_form() {
            $class = ( empty( $this->_field_data['class'] ) ) ? $this->_field_data['id'] . '_class' :  $this->_field_data['class'];
            $input_class = ( empty( $this->_field_data['input_class'] ) ) ? $this->_field_data['id'] . '_input_class' :  $this->_field_data['input_class'];

            $id = ( empty( $this->_field_data['id'] ) ) ? $this->_field_data['id'] :  $this->_field_data['id'];
            $label = ( empty( $this->_field_data['label'] ) ) ? $this->_field_data['id'] :  $this->_field_data['label'];
            $value = $this->get();
            $hint = ( empty( $this->_field_data['hint'] ) ) ? '' :  '<p><em>' . $this->_field_data['hint'] . '</em></p>';

            $label_format =
                '<div class="%s">'.
                '<p><label for="%s"><strong>%s</strong></label></p>'.
                '<p><textarea class="%s" style="width: 100%%;" type="text" name="%s">%s</textarea></p>'.
                '%s'.
                '</div>';
            printf( $label_format, $class, $id, $label, $input_class, $id, $value, $hint );
        }
    }
}

$easy_cf = new Easy_CF($field_data);

Note

If you’re not using auto_init then meta boxes need to be added individually using
add_meta_box( $group_id, $group_title, array( &$easy_cf, ‘meta_box_cb’ ), $page, $group_context );
and the save methods need to be initialized after adding all meta boxes using
$easy_cf->add_save_method();

Recensioni

Non ci sono recensioni per questo plugin.

Contributi e sviluppo

“Easy Custom Fields” è un software open source. Le persone che hanno contribuito allo sviluppo di questo plugin sono indicate di seguito.

Collaboratori
  • Thorsten Ott
  • Automattic

Traduci “Easy Custom Fields” nella tua lingua.

Ti interessa lo sviluppo?

Esplora il codice segui il repository SVN, segui il log delle modifiche tramite RSS.

Meta

  • Versione 0.6
  • Ultimo aggiornamento 14 anni fa
  • Installazioni attive 60+
  • Versione WordPress 2.9.2 o superiore
  • Testato fino alla versione 3.3.2
  • Lingua
    English (US)
  • Tag
    custom fieldspost metapost_meta
  • Visualizzazione avanzata

Valutazioni

Non sono state ancora inviate recensioni.

Lascia la tua valutazione

Vedi tutte le recensioni

Collaboratori

  • Thorsten Ott
  • Automattic

Supporto

Hai qualcosa da dire? Ti serve aiuto?

Chiedi nel forum di supporto

  • Chi siamo
  • News
  • Hosting
  • Privacy
  • Vetrina
  • Temi
  • Plugin
  • Pattern
  • Learn (Training)
  • Supporto
  • Sviluppo
  • WordPress.tv ↗
  • Partecipa
  • Eventi
  • Donazioni ↗
  • Five for the Future
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

Italia

  • Visita il nostro account X (ex Twitter)
  • Visita il nostro account Bluesky
  • Visita il nostro account Mastodon
  • Visita il nostro account Threads
  • Visita la nostra pagina Facebook
  • Visita il nostro account Instagram
  • Visita il nostro account LinkedIn
  • Visita il nostro account TikTok
  • Visita il nostro canale YouTube
  • Visita il nostro account Tumblr
Code is Poetry.
The WordPress® trademark is the intellectual property of the WordPress Foundation.