Y una nueva entrega de la serie de entradas sobre funciones interesantes para WordPress y más funciones interesantes para WordPress.
Eliminar palabras de menos de 3 letras en la URL al crearse:
function remove_short_words($slug) { if (!is_admin()) return $slug; $slug = explode('-', $slug); foreach ($slug as $k => $word) { if (strlen($word) < 3) { unset($slug[$k]); } } return implode('-', $slug); } add_filter('sanitize_title', 'remove_short_words');
Mostrar un bloque con la URL corta de cada entrada en su panel:
function shortlink_add_column($cols) { $cols['shortlink'] = 'Enlace Corto'; return $cols; } function shortlink_add_value($column_name, $post_id) { if ('shortlink' == $column_name) { echo '<input type="text" value="'.wp_get_shortlink($post_id).'" onclick="this.focus(); this.select();">'; } } function shortlink_sortable_column($columns) { $columns['shortlink'] = 'Enlace Corto'; return $columns; } add_filter('manage_edit-post_sortable_columns', 'shortlink_sortable_column'); add_filter('manage_posts_columns', 'shortlink_add_column'); add_action('manage_posts_custom_column', 'shortlink_add_value', 10, 2);
Los usuarios (no admin) sólo pueden ver su librería multimedia:
function my_files_only($wp_query) { if(strpos($_SERVER['REQUEST_URI'], '/wp-admin/upload.php') !== false) { if(!current_user_can('level_5')) { global $current_user; $wp_query->set('author', $current_user->id); } } } add_filter('parse_query', 'my_files_only');
Los usuarios (no admin) sólo pueden ver sus entradas:
function posts_for_current_author($query) { global $pagenow; if('edit.php' != $pagenow || !$query->is_admin) return $query; if(!current_user_can('manage_options')) { global $user_ID; $query->set('author', $user_ID); } return $query; } add_filter('pre_get_posts', 'posts_for_current_author');
Ver más botones en el Tinymce HTML:
function fb_change_mce_options($initArray) { $ext = 'pre[id|name|class|style],iframe[align|longdesc|name|width|height|frameborder|scrolling|marginheight|marginwidth|src]'; if(isset($initArray['extended_valid_elements'])) { $initArray['extended_valid_elements'] .= ','.$ext; } else { $initArray['extended_valid_elements'] = $ext; } return $initArray; } add_filter('tiny_mce_before_init', 'fb_change_mce_options');
Deja una respuesta