wordpress plugin development - simon wheatley · define( 'fi_web_path',...
Post on 06-Jul-2020
27 Views
Preview:
TRANSCRIPT
WordPressplugin development
(with pictures)
Simon Wheatleywww.simonwheatley.co.uk
WordPressplugin development
(with pictures)
Simon Wheatleywww.simonwheatley.co.uk
plugins
photo by djking
anatomy of a plugin file?
photo by striatic
<?php
/*Plugin Name: Flickr InsertPlugin URI: http://www.simonwheatley.co.uk/wordpress/Version: 1.0Description: Allows you to embed Flickr photos and photosets.Author: Simon WheatleyAuthor URI: http://www.simonwheatley.co.uk/
Copyright 2007 Simon Wheatley
(any licensing legal gubbins.)*/
?>
<?php
/*Plugin Name: Flickr Insert*/
?>
filters
photo by BlueskyPol
actions
function bi_insert_bg_css() {$img_id = bi_get_bg_img_id();$img_path = bi_img_path( $img_id );
$css = "<style type='text/css'>\n";$css .= "body {\n";$css .= "background-image: url($img_path)\n”";$css .= "}\n";$css .= "</style>\n";
echo $css;}
add_action('wp_head', 'bi_insert_bg_css');
function names
photo by birdyboo
function bi_insert_bg_css() {$img_id = bi_get_bg_img_id();$img_path = bi_img_path( $img_id );
$css = "<style type='text/css'>\n";$css .= "body {\n";$css .= "background-image: url($img_path)\n”";$css .= "}\n";$css .= "</style>\n";
echo $css;}
add_action('wp_head', 'bi_insert_bg_css');
function bi_insert_bg_css() {$img_id = bi_get_bg_img_id();$img_path = bi_img_path( $img_id );
$css = "<style type='text/css'>\n";$css .= "body {\n";$css .= "background-image: url($img_path)\n”";$css .= "}\n";$css .= "</style>\n";
echo $css;}
add_action('wp_head', 'bi_insert_bg_css');
filters
function ep_exclude_pages( $pages ){$excluded_ids = ep_get_excluded_ids();$length = count( $pages );for ( $i=0; $i<$length; $i++ ) { $page = & $pages[$i]; if ( in_array( $page->ID, $excluded_ids ) ) { unset( $pages[$i] ); }}// Reindex the array, for neatness$pages = array_values( $pages );return $pages;}
add_filter('get_pages','ep_exclude_pages');
function ep_exclude_pages( $pages ){$excluded_ids = ep_get_excluded_ids();$length = count( $pages );for ( $i=0; $i<$length; $i++ ) { $page = & $pages[$i]; if ( in_array( $page->ID, $excluded_ids ) ) { unset( $pages[$i] ); }}// Reindex the array, for neatness$pages = array_values( $pages );return $pages;}
add_filter('get_pages','ep_exclude_pages');
function ep_exclude_pages( $pages ){$excluded_ids = ep_get_excluded_ids();$length = count( $pages );for ( $i=0; $i<$length; $i++ ) { $page = & $pages[$i]; if ( in_array( $page->ID, $excluded_ids ) ) { unset( $pages[$i] ); }}// Reindex the array, for neatness$pages = array_values( $pages );return $pages;}
add_filter('get_pages','ep_exclude_pages');
actions
filters
the editor
photo by thetourise
adding TinyMCE buttons
photo by Thomas Hawk
define( 'FI_WEB_PATH', '/wp-content/plugins/flickr-insert' );
function fi_mce_external_plugins( $plugins ) {$plugins['flickr'] = get_bloginfo('wpurl') . FI_WEB_PATH . '/tinymce/editor_plugin.js';return $plugins;}function fi_addbuttons() {if ( ! current_user_can('edit_posts') && !current_user_can('edit_pages') ) return;if ( ! get_user_option('rich_editing') ) return;add_filter( 'mce_external_plugins', 'fi_mce_external_plugins' );}
add_action('init', 'fi_addbuttons' );
define( 'FI_WEB_PATH', '/wp-content/plugins/flickr-insert' );
function fi_mce_external_plugins( $plugins ) {$plugins['flickr'] = get_bloginfo('wpurl') . FI_WEB_PATH . '/tinymce/editor_plugin.js';return $plugins;}function fi_addbuttons() {if ( ! current_user_can('edit_posts') && !current_user_can('edit_pages') ) return;if ( ! get_user_option('rich_editing') ) return;add_filter( 'mce_external_plugins', 'fi_mce_external_plugins' );}
add_action('init', 'fi_addbuttons' );
define( 'FI_WEB_PATH', '/wp-content/plugins/flickr-insert' );
function fi_mce_external_plugins( $plugins ) {$plugins['flickr'] = get_bloginfo('wpurl') . FI_WEB_PATH . '/tinymce/editor_plugin.js';return $plugins;}function fi_addbuttons() {if ( ! current_user_can('edit_posts') && !current_user_can('edit_pages') ) return;if ( ! get_user_option('rich_editing') ) return;add_filter( 'mce_external_plugins', 'fi_mce_external_plugins' );}
add_action('init', 'fi_addbuttons' );
define( 'FI_WEB_PATH', '/wp-content/plugins/flickr-insert' );
function fi_mce_external_plugins( $plugins ) {$plugins['flickr'] = get_bloginfo('wpurl') . FI_WEB_PATH . '/tinymce/editor_plugin.js';return $plugins;}function fi_addbuttons() {if ( ! current_user_can('edit_posts') && !current_user_can('edit_pages') ) return;if ( ! get_user_option('rich_editing') ) return;add_filter( 'mce_external_plugins', 'fi_mce_external_plugins' );}
add_action('init', 'fi_addbuttons' );
(function() { tinymce.PluginManager.requireLangPack('flickr');tinymce.create('tinymce.plugins.FlickrInsert', {init : function(ed, url) {ed.addButton('flickr', { title : 'flickr.desc', cmd : 'mceFlickr', image : url + '/img/flickr.gif' });ed.onNodeChange.add(function(ed, cm, n) {cm.setActive('flickr', n.nodeName == 'IMG');});}
tinymce.PluginManager.add('flickr', tinymce.plugins.FlickrInsert);})();
(function() { tinymce.PluginManager.requireLangPack('flickr');tinymce.create('tinymce.plugins.FlickrInsert', {init : function(ed, url) {ed.addButton('flickr', { title : 'flickr.desc', cmd : 'mceFlickr', image : url + '/img/flickr.gif' });ed.onNodeChange.add(function(ed, cm, n) {cm.setActive('flickr', n.nodeName == 'IMG');});}
tinymce.PluginManager.add('flickr', tinymce.plugins.FlickrInsert);})();
(function() { tinymce.PluginManager.requireLangPack('flickr');tinymce.create('tinymce.plugins.FlickrInsert', {init : function(ed, url) {ed.addButton('flickr', { title : 'flickr.desc', cmd : 'mceFlickr', image : url + '/img/flickr.gif' });ed.onNodeChange.add(function(ed, cm, n) {cm.setActive('flickr', n.nodeName == 'IMG');});}
tinymce.PluginManager.add('flickr', tinymce.plugins.FlickrInsert);})();
(function() { tinymce.PluginManager.requireLangPack('flickr');tinymce.create('tinymce.plugins.FlickrInsert', {init : function(ed, url) {ed.addButton('flickr', { title : 'flickr.desc', cmd : 'mceFlickr', image : url + '/img/flickr.gif' });ed.onNodeChange.add(function(ed, cm, n) {cm.setActive('flickr', n.nodeName == 'IMG');});}
tinymce.PluginManager.add('flickr', tinymce.plugins.FlickrInsert);})();
(function() { tinymce.PluginManager.requireLangPack('flickr');tinymce.create('tinymce.plugins.FlickrInsert', {init : function(ed, url) {ed.addButton('flickr', { title : 'flickr.desc', cmd : 'mceFlickr', image : url + '/img/flickr.gif' });ed.onNodeChange.add(function(ed, cm, n) {cm.setActive('flickr', n.nodeName == 'IMG');});}
tinymce.PluginManager.add('flickr', tinymce.plugins.FlickrInsert);})();
popup dialog
photo by Kiff ta race / undercensure
(function() { tinymce.PluginManager.requireLangPack('flickr');tinymce.create('tinymce.plugins.FlickrInsert', {init : function(ed, url) {ed.addButton('flickr', { title : 'flickr.desc', cmd : 'mceFlickr', image : url + '/img/flickr.gif' });ed.onNodeChange.add(function(ed, cm, n) {cm.setActive('flickr', n.nodeName == 'IMG');});}
tinymce.PluginManager.add('flickr', tinymce.plugins.FlickrInsert);})();
ed.addCommand('mceFlickr', function() { ed.windowManager.open({ file : url + '/../../../../wp-admin/?fi_dialog=1', width : 640 + parseInt(ed.getLang('flickr.delta_width', 0)), height : 430 + parseInt(ed.getLang('flickr.delta_height', 0)), inline : 1}, { plugin_url : url });});
(function() { tinymce.PluginManager.requireLangPack('flickr');tinymce.create('tinymce.plugins.FlickrInsert', {init : function(ed, url) {ed.addCommand('mceFlickr', function() { ed.windowManager.open({ file : url + '/../../../../wp-admin/?fi_dialog=1', width : 640 + parseInt(ed.getLang('flickr.delta_width', 0)), height : 430 + parseInt(ed.getLang('flickr.delta_height', 0)), inline : 1}, { plugin_url : url });});}tinymce.PluginManager.add('flickr', tinymce.plugins.FlickrInsert);})();
forms
photo by source
function fi_photo_query() { $fi_photo = @ $_GET['fi_photo']; if ( ! $fi_photo ) return; $f = & fi_flickr(); $fi_photo_id = @ $_GET['fi_photo_id']; $photo = $f->photos_getInfo( $fi_photo_id ); $href = $f->buildPhotoURL($photo, "medium"); $src = $f->buildPhotoURL($photo, "small"); $alt = addslashes( $photo['title'] ); $data = array( 'href' => $href, 'src' => $src, 'alt' => $alt ); $json = new Moxiecode_JSON(); echo $json->encode( $data ); exit;}
// Answer various AJAX queriesadd_action('init', 'fi_photo_query', -10 );
require_once( ABSPATH . "/wp-includes/js/tinymce/plugins/spellchecker/classes/utils/JSON.php" );
shortcodes
photo by thetourise
[flickr-photoset]http://flickr.com/photos/colonelkillgore/sets/72157594553989524/[/flickr-photoset]
// Parse the photoset shortcodefunction fi_shortcode( $atts, $content ) { $photoset_id = fi_photoset_id( $content ); $html = fi_photoset( $photoset_id ); return $html;}
// Register the Flickr shortcodeadd_shortcode('flickr-photoset', 'fi_shortcode');
// Parse the photoset shortcodefunction fi_shortcode( $atts, $content ) { $photoset_id = fi_photoset_id( $content ); $html = fi_photoset( $photoset_id ); return $html;}
// Register the Flickr shortcodeadd_shortcode('flickr-photoset', 'fi_shortcode');
// Parse the photoset shortcodefunction fi_shortcode( $atts, $content ) { $photoset_id = fi_photoset_id( $content ); $html = fi_photoset( $photoset_id ); return $html;}
// Register the Flickr shortcodeadd_shortcode('flickr-photoset', 'fi_shortcode');
javascripts
photo by Don Solo
define( 'FI_WEB_PATH', '/wp-content/plugins/flickr-insert' );
function fi_js(){$site_url = get_option( 'siteurl' );$lightbox_script = $site_url . FI_WEB_PATH . '/jquery.lightbox-0.5.pack.js';
wp_enqueue_script( 'jquery-lightbox', $lightbox_script, array('jquery'), '0.5' );}
add_action('wp_head', 'sd_js', 5);
define( 'FI_WEB_PATH', '/wp-content/plugins/flickr-insert' );
function fi_js(){$site_url = get_option( 'siteurl' );$lightbox_script = $site_url . FI_WEB_PATH . '/jquery.lightbox-0.5.pack.js';
wp_enqueue_script( 'jquery-lightbox', $lightbox_script, array('jquery'), '0.5' );}
add_action('wp_head', 'sd_js', 5);
define( 'FI_WEB_PATH', '/wp-content/plugins/flickr-insert' );
function fi_js(){$site_url = get_option( 'siteurl' );$lightbox_script = $site_url . FI_WEB_PATH . '/jquery.lightbox-0.5.pack.js';
wp_enqueue_script( 'jquery-lightbox', $lightbox_script, array('jquery'), '0.5' );}
add_action('wp_head', 'sd_js', 5);
stylesheets
photo by kirainet
define( 'FI_WEB_PATH', '/wp-content/plugins/flickr-insert' );
function fi_css(){$site_url = get_option( 'siteurl' );$css = $site_url . FI_WEB_PATH . '/screen.css';
wp_enqueue_style( 'fi_screen', $css );}
add_action('wp_head', 'fi_js', 5);
define( 'FI_WEB_PATH', '/wp-content/plugins/flickr-insert' );
function fi_css(){$site_url = get_option( 'siteurl' );$css = $site_url . FI_WEB_PATH . '/screen.css';
wp_enqueue_style( 'fi_screen', $css );}
add_action('wp_head', 'fi_js', 5);
define( 'FI_WEB_PATH', '/wp-content/plugins/flickr-insert' );
function fi_css(){$site_url = get_option( 'siteurl' );$css = $site_url . FI_WEB_PATH . '/screen.css';
wp_enqueue_style( 'fi_screen', $css );}
add_action('wp_head', 'fi_js', 5);
photo by tantek
that was an WordPress
plugin development(with pictures)
Simon Wheatleywww.simonwheatley.co.uk
top related