Forum Replies Created
Viewing 2 posts - 1 through 2 (of 2 total)
- AuthorPosts
-
I#M sorry! This was my faut. Vorgot to activate the Ingredients…
Thank you!
I just wrote some php to create a widget and a shortcode to show the additives. Maybe you want to use it your way. It’s just a little code snippet that you can change the way you want it:<?php // ---------------------------------------------------------- // // ---------------- widget ---------------------------------- // // ---------------------------------------------------------- // // register Foo_Widget widget function register_wpPIZZA_additives() { register_widget( 'wpPIZZA_additives' ); } add_action( 'widgets_init', 'register_wpPIZZA_additives' ); /** * Adds Foo_Widget widget. */ class wpPIZZA_additives extends WP_Widget { /** * Register widget with WordPress. */ function __construct() { parent::__construct( 'wpPIZZA_additives', // Base ID __( 'Additives', 'text_domain' ), // Name array( 'description' => __( 'Shows the additives registered in wpPIZZA plugIn', 'text_domain' ), ) // Args ); } /** * Front-end display of widget. * * @see WP_Widget::widget() * * @param array $args Widget arguments. * @param array $instance Saved values from database. */ public function widget( $args, $instance ) { echo $args['before_widget']; if ( ! empty( $instance['title'] ) ) { echo $args['before_title'] . apply_filters( 'widget_title', $instance['title'] ). $args['after_title']; } // get additives from wpPIZZA database $options = get_option('wppizza'); $additives = $options['additives']; foreach($additives as $additive) { // show additives 1 per line: 'number: name' echo implode(': ', $additive) . '<br />'; } echo $args['after_widget']; } /** * Back-end widget form. * * @see WP_Widget::form() * * @param array $instance Previously saved values from database. */ public function form( $instance ) { $title = ! empty( $instance['title'] ) ? $instance['title'] : __( 'New title', 'text_domain' ); ?> <p> <label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label> <input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>"> </p> <?php } /** * Sanitize widget form values as they are saved. * * @see WP_Widget::update() * * @param array $new_instance Values just sent to be saved. * @param array $old_instance Previously saved values from database. * * @return array Updated safe values to be saved. */ public function update( $new_instance, $old_instance ) { $instance = array(); $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : ''; return $instance; } } // class Foo_Widget // ---------------------------------------------------------- // // ---------------- shortcode ------------------------------- // // ---------------------------------------------------------- // // [wpPIZZA_additives title="additives"] function shortcode_wpPIZZA_additives( $atts ) { $a = shortcode_atts( array( 'title' => 'additives', ), $atts ); $myOutput = ''; // get additives from wpPIZZA database $options = get_option('wppizza'); $additives = $options['additives']; foreach($additives as $additive) { // show additives 1 per line: 'number: name' $myOutput .= implode(': ', $additive) . '<br />'; } if($myOutput != '') { $myOutput = '<h3>' . $a['title'] . '</h3>' . $myOutput; } return $myOutput; } add_shortcode( 'wpPIZZA_additives', 'shortcode_wpPIZZA_additives' ); ?>
greetings
Benedikt - AuthorPosts
Viewing 2 posts - 1 through 2 (of 2 total)