Elmondom, mit szeretnék.
Szeretnék egy saját widgetet szerkeszteni, ami megjelenik a default widget listában, és bele tudom irni pl. egy cbox-os chat kódját, úgy hogy elég legyen csak behúzni a sidebarba, hogy a felhasználóknak ne legyen semmi tennivalójuk ezen kivül, mert egy gyerekeknek-kamaszoknak készülő oldalra tervezem.
Tudom, hogy a legegyszerűbb lenne a cset kódját beiratni velük egy sima szöveges widgetbe, próbáltam is, de a 10-12 évesek egyenlőre nem nagyon hajlandóak erre, jobban szeretnek csak widgeteket húzgálni és kész
Pár hónapja olvastam is valahol a saját widget szerkesztéséről. Ha jól emlékszem, talán épp innen a fórumról kiindulva. (nem tudom már, hogy magyar vagy angol volt a leirás …) Három napja próbálom keresni itt, a dokumentációban, a codexben, a google-ban, de vérizzadás ellenére sem találom meg …
Tud-e valaki legalább valami olvasnivaló ötlettel segiteni? Előre is köszönök mindent!!
Tovább túrkáltam és sikerült egy megoldást találnom.
A wp-includes/widget.php legaljára ezt a kódot irtam be:
Code:
/**
* VChattWidget Class
*/
class VChattWidget extends WP_Widget {
/** constructor */
function VChattWidget() {
parent::WP_Widget(false, $name = 'VChattWidget');
}
/** @see WP_Widget::widget */
function widget($args, $instance) {
extract( $args );
$title = apply_filters('widget_title', $instance['title']);
?>
<?php if ( $title )
echo $before_title . $title . $after_title; ?>
Hello World!
Varnyu első saját widgetje
<?php
}
/** @see WP_Widget::update */
function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance['title'] = strip_tags($new_instance['title']);
return $instance;
}
/** @see WP_Widget::form */
function form($instance) {
$title = esc_attr($instance['title']);
?>
<label for="get_field_id('title'); ?>"> <input class="widefat" id="get_field_id('title'); ?>" name="get_field_name('title'); ?>" type="text" value="" />
<?php
}
} // class VChattWidget
// register VChattWidget widget
add_action('widgets_init', create_function('', 'return register_widget("VChattWidget");'));
A varnyu első saját widgetje szöveg helyén van az embed kódos chat kódja. Próbáltam a saját widgetet duplikálni is, az is sikerült.
A megoldás feltalálási helye: http://codex.wordpress.org/Widgets_API Developing Widgets on 2.8+
Ez most egy sima WP-n minden általam használt témával működik.
A következő feladat: hogy a fenében fogom ugyanezt megcsinálni egy MU-ban?? :unsure:
Na, majd mesélek. Vagy a sikerről, vagy a fatal errorról :D
Újabb fejlemények:
MU alatt is működik, Buddypress-szel együtt.
Most lehet nekem itthon örömködni