$array) { $lang = ($array[1] == '') ? '' : 'lang="'. $array[1] .'"'; $content = preg_replace('@([^]\s+)'. $abbreviation .'(\s+[^'. $abbreviation .'$2' , $content); } return $content; } function add_control_page() { add_options_page('Abbreviations', 'Abbreviations', 10, 'abbreviations', array('os_abbreviations', 'abbreviations_admin_panel')); } function update_abbreviations($abbreviations){ $save = array(); for($i = 0; $i < count($abbreviations['abbr']); ++$i) { $abbr = trim($abbreviations['abbr'][$i]); $desc = trim($abbreviations['desc'][$i]); $lang = trim($abbreviations['lang'][$i]); if ($abbr == '' || $desc == '') { continue; } else { $save[$abbr] = array($desc, $lang); } } update_option('os_abbreviations', $save); } function get_abbreviations(){ $abbreviations = get_option('os_abbreviations'); $return = ''; if (!empty($abbreviations)){ foreach ($abbreviations as $abbr => $array){ $return .= ' '; } } return $return; } function abbreviations_admin_panel(){ ?>

Abbreviations

Abbreviation (required) Description (required) Language code (optional)

update_abbreviations($_POST['abbreviations']); } add_action('admin_menu', array('os_abbreviations', 'add_control_page')); add_filter('the_content', array('os_abbreviations', 'add_abbreviations')); ?>