Posted by planetawordpress on mayo 9, 2012

Os traemos unos PDF de lo mas interesante, donde veréis reflejado un resumen de lo que es WordPress, CSS y HTML.
En el PDF de WordPress podréis echar un vistazo rápido a
- Archivos de plantillas básicos
- Código PHP para la cebecera
- Códigos PHP para las plantillas
- Contenido Extra
Respecto al de CSS encontrareis referencias a
- Sintaxis
- Fuentes
- Fondos
- Listas
- Textos
- etc…
En la de HTML encontrareis cosas de
- Sintaxis
- Estructura
- Tablas
- Cabeceras
- Formularios
- Caracteres Especiales
- etc…
Y aquí podéis descargar los PDF en cuestión
| PDF | CSS | HTML
Posted by planetawordpress on mayo 7, 2012

Si estamos usando un blog en el que varios autores publican artículos al mismo tiempo, seria un detalle por parte de los administradores el poder ofrecerles a sus editores una información adicional y personal que les hiciera sentirse importantes para que escriban cada día mas.
Una de esas personalizaciones que no vienen por defecto en WordPress y que seria geniales implementar para tal caso es el de un acuse de recibo cada vez que se publique un artículo nuevo. El código que hay que añadir, lo que hace es que cada vez que un post o artículo es publicado, se le envía una notificación al autor para que sepa que ya ha sido publicado uno de sus artículos. Podemos implementar esta funcionalidad de la siguiente manera, seguimos modificando el archivo functions.php y en este caso deberemos copiar en él, el siguiente código
function wpr_authorNotification($post_id) {
$post = get_post($post_id); // Recuperamos el identificador del post publicado
$author = get_userdata($post->post_author); // Obtenemos los datos del autor
$message = "Hola ".$author->display_name.", Tu post, ".$post->post_title." acaba de ser publicado. Bien Hecho!";
wp_mail($author->user_email, "Your article is online", $message); // recuperamos el mail del autor
}
add_action('publish_post', 'wpr_authorNotification');
Para que este complemento funcione correctamente, deberemos cerciorarnos que la información de todos nuestros usuarios editores, este bien cumplimentada, ya que la información que necesita la función se sacara de los datos que estén metidos en el usuario en cuestión. Resumiendo, que si el usuario no tiene cumplimentado el campo mail en su información de wordpress, nunca le llegaran los correos.
Posted by planetawordpress on mayo 6, 2012

Cuantas veces nos hemos encontrado en la situación de tener un blog que por una cosa o por otra, escriben o gestionan varias personas. Normalmente si buscas a editores que escriban en tu blog, como mínimo querrás que sus entradas tengan un mínimo de palabras como pueda tener un articulo de periódico.
Cuantas veces habremos oído (ya sea cuando estudiábamos, si escribimos artículos, etc.. ), ”Para mañana una redaccion de 100 palabras como mínimo…” ó “El artículo debe de tener al menos 150 palabras…”.
En WordPress podemos hacer lo mismo, indicar un mínimo de palabras para cada entrada o post de nuestro blog.
Para ello, simplemente deberemos hacer una modificación muy sencilla en en archivo functions.php de nuestro WordPress. Deberemos añadir el siguiente código a dicho archivo, como una función más.
function minWord($content){
global $post;
$num = 100; //Indicamos el numero minimo de palabras del post
$content = $post->post_content;
if (str_word_count($content) < $num)
wp_die( __('Error: el post esta por debajo del minimo de palabras aceptadas.') );
}
add_action('publish_post', 'minWord');
De esta forma, cada vez que alguien se ponga a crear un post para tu blog, sabras que al menos, tendrá el número mínimo de palabras para ser publicado.
Ojala hubiera forma de hacer una función que te comprobara la calidad del post, pero para eso aun deberemos esperar a que la web semántica este un poco mas madura :)
Posted by planetawordpress on mayo 6, 2012

Seguramente sea una recopilación algo boba pero nunca se sabe cuando puedes necesitar tener a mano la lista completa de los archivos por defecto de WordPress.
Una posibilidad es comprobar si algún troyano, por ejemplo, ha añadido archivos a cualquiera de las carpetas, se me ocurre.
En cualquier caso no está de más tenerla presente …
Aquí tienes la estructura de archivos y carpetas de WordPress (en su versión 3.3.2)
Estructura básica de carpetas de WordPress
/wordpress/
/wp-admin/
/css/
/images/
/includes/
/js/
/maint/
/network/
/user/
/wp-content/
/plugins/
/akismet/
/themes/
/twentyeleven/
/colors/
/images/
/inc/
/images/
/js/
/languages/
/twentyten/
/images/
/headers/
/languages/
/wp-includes/
/Text/
/css/
/images/
/crystal/
/smilies/
/wlw/
/js/
/crop/
/imgareaselect/
/jcrop/
/jquery/
/ui/
/plupload/
/scriptaculous/
/swfupload/
/plugins/
/thickbox/
/tinymce/
/langs/
/plugins/
/directionality/
/fullscreen/
/inlinepopups/
/skins/
/clearlooks2/
/img/
/media/
/css/
/js/
/paste/
/js/
/spellchecker/
/classes/
/utils/
/css/
/img/
/includes/
/tabfocus/
/wordpress/
/css/
/img/
/wpdialogs/
/js/
/wpeditimage/
/css/
/img/
/js/
/wpfullscreen/
/wpgallery/
/img/
/wplink/
/themes/
/advanced/
/img/
/js/
/skins/
/default/
/img/
/highcontrast/
/o2k7/
/img/
/wp_theme/
/img/
/utils/
/pomo/
/theme-compat/
Archivos de la carpeta raíz de WordPress
/wordpress/
index.php
license.txt
readme.html
wp-activate.php
wp-app.php
wp-blog-header.php
wp-comments-post.php
wp-config-sample.php
wp-cron.php
wp-links-opml.php
wp-load.php
wp-login.php
wp-mail.php
wp-pass.php
wp-register.php
wp-settings.php
wp-signup.php
wp-trackback.php
xmlrpc.php
Archivos de la carpeta wp-admin
/wp-admin/
about.php
admin-ajax.php
admin-footer.php
admin-functions.php
admin-header.php
admin-post.php
admin.php
async-upload.php
comment.php
credits.php
/css/
colors-classic.css
colors-classic.dev.css
colors-fresh.css
colors-fresh.dev.css
farbtastic.css
file-list.txt
ie-rtl.css
ie-rtl.dev.css
ie.css
ie.dev.css
install.css
install.dev.css
media-rtl.css
media-rtl.dev.css
media.css
media.dev.css
wp-admin-rtl.css
wp-admin-rtl.dev.css
wp-admin.css
wp-admin.dev.css
custom-background.php
custom-header.php
edit-comments.php
edit-form-advanced.php
edit-form-comment.php
edit-link-form.php
edit-tag-form.php
edit-tags.php
edit.php
export.php
freedoms.php
gears-manifest.php
/images/
align-center.png
align-left.png
align-none.png
align-right.png
archive-link.png
arrows-dark-vs.png
arrows-dark.png
arrows-vs.png
arrows.png
blue-grad.png
bubble_bg-rtl.gif
bubble_bg.gif
button-grad-active.png
button-grad.png
comment-grey-bubble.png
date-button.gif
ed-bg-vs.gif
ed-bg.gif
fade-butt.png
fav-arrow-rtl.gif
fav-arrow.gif
fav-vs.png
fav.png
generic.png
gray-grad.png
gray-star.png
icons32-vs.png
icons32.png
imgedit-icons.png
list.png
loading-publish.gif
loading.gif
logo-ghost.png
logo-login.png
logo.gif
marker.png
mask.png
media-button-image.gif
media-button-music.gif
media-button-other.gif
media-button-video.gif
media-button.png
menu-arrow-frame-rtl.png
menu-arrow-frame.png
menu-arrows.gif
menu-bits-rtl-vs.gif
menu-bits-rtl.gif
menu-bits-vs.gif
menu-bits.gif
menu-dark-rtl-vs.gif
menu-dark-rtl.gif
menu-dark-vs.gif
menu-dark.gif
menu-shadow-rtl.png
menu-shadow.png
menu-vs.png
menu.png
no.png
press-this.png
required.gif
resize-rtl.gif
resize.gif
screen-options-toggle-vs.gif
screen-options-toggle.gif
screenshots
se.png
sort.gif
star.png
toggle-arrow-rtl.gif
toggle-arrow.gif
upload-classic.png
upload-fresh.png
wheel.png
white-grad-active.png
white-grad.png
widgets-arrow-vs.gif
widgets-arrow.gif
wordpress-logo.png
wp-badge.png
wp-logo-vs.png
wp-logo.png
wpspin_dark.gif
wpspin_light.gif
xit.gif
yes.png
import.php
/includes/
admin.php
bookmark.php
class-ftp-pure.php
class-ftp-sockets.php
class-ftp.php
class-pclzip.php
class-wp-comments-list-table.php
class-wp-filesystem-base.php
class-wp-filesystem-direct.php
class-wp-filesystem-ftpext.php
class-wp-filesystem-ftpsockets.php
class-wp-filesystem-ssh2.php
class-wp-importer.php
class-wp-links-list-table.php
class-wp-list-table.php
class-wp-media-list-table.php
class-wp-ms-sites-list-table.php
class-wp-ms-themes-list-table.php
class-wp-ms-users-list-table.php
class-wp-plugin-install-list-table.php
class-wp-plugins-list-table.php
class-wp-posts-list-table.php
class-wp-terms-list-table.php
class-wp-theme-install-list-table.php
class-wp-themes-list-table.php
class-wp-upgrader.php
class-wp-users-list-table.php
comment.php
continents-cities.php
dashboard.php
deprecated.php
export.php
file.php
image-edit.php
image.php
import.php
list-table.php
manifest.php
media.php
menu.php
meta-boxes.php
misc.php
ms-deprecated.php
ms.php
nav-menu.php
plugin-install.php
plugin.php
post.php
schema.php
screen.php
taxonomy.php
template.php
theme-install.php
theme.php
update-core.php
update.php
upgrade.php
user.php
widgets.php
index-extra.php
index.php
install-helper.php
install.php
/js/
cat.dev.js
cat.js
categories.dev.js
categories.js
comment.dev.js
comment.js
common.dev.js
common.js
custom-background.dev.js
custom-background.js
custom-fields.dev.js
custom-fields.js
dashboard.dev.js
dashboard.js
edit-comments.dev.js
edit-comments.js
editor.dev.js
editor.js
farbtastic.js
gallery.dev.js
gallery.js
image-edit.dev.js
image-edit.js
inline-edit-post.dev.js
inline-edit-post.js
inline-edit-tax.dev.js
inline-edit-tax.js
link.dev.js
link.js
media-upload.dev.js
media-upload.js
media.dev.js
media.js
nav-menu.dev.js
nav-menu.js
password-strength-meter.dev.js
password-strength-meter.js
plugin-install.dev.js
plugin-install.js
post.dev.js
post.js
postbox.dev.js
postbox.js
revisions-js.php
set-post-thumbnail.dev.js
set-post-thumbnail.js
tags.dev.js
tags.js
theme-preview.dev.js
theme-preview.js
theme.dev.js
theme.js
user-profile.dev.js
user-profile.js
utils.dev.js
utils.js
widgets.dev.js
widgets.js
word-count.dev.js
word-count.js
wp-fullscreen.dev.js
wp-fullscreen.js
xfn.dev.js
xfn.js
link-add.php
link-manager.php
link-parse-opml.php
link.php
load-scripts.php
load-styles.php
/maint/
repair.php
media-new.php
media-upload.php
media.php
menu-header.php
menu.php
moderation.php
ms-admin.php
ms-delete-site.php
ms-edit.php
ms-options.php
ms-sites.php
ms-themes.php
ms-upgrade-network.php
ms-users.php
my-sites.php
nav-menus.php
/network/
admin.php
edit.php
index-extra.php
index.php
menu.php
plugin-editor.php
plugin-install.php
plugins.php
profile.php
settings.php
setup.php
site-info.php
site-new.php
site-settings.php
site-themes.php
site-users.php
sites.php
theme-editor.php
theme-install.php
themes.php
update-core.php
update.php
upgrade.php
user-edit.php
user-new.php
users.php
network.php
options-discussion.php
options-general.php
options-head.php
options-media.php
options-permalink.php
options-privacy.php
options-reading.php
options-writing.php
options.php
plugin-editor.php
plugin-install.php
plugins.php
post-new.php
post.php
press-this.php
profile.php
revision.php
setup-config.php
theme-editor.php
theme-install.php
themes.php
tools.php
update-core.php
update.php
upgrade-functions.php
upgrade.php
upload.php
/user/
admin.php
index-extra.php
index.php
menu.php
profile.php
user-edit.php
user-edit.php
user-new.php
users.php
widgets.php
Archivos de la carpeta wp-content
/wp-content/
index.php
/plugins/
/akismet/
admin.php
akismet.css
akismet.gif
akismet.js
akismet.php
legacy.php
readme.txt
widget.php
hello.php
index.php
/themes/
index.php
/twentyeleven/
404.php
archive.php
author.php
category.php
/colors/
dark.css
comments.php
content-aside.php
content-featured.php
content-gallery.php
content-image.php
content-intro.php
content-link.php
content-page.php
content-quote.php
content-single.php
content-status.php
content.php
editor-style-rtl.css
editor-style.css
footer.php
functions.php
header.php
image.php
/images/
comment-arrow-bypostauthor-dark-rtl.png
comment-arrow-bypostauthor-dark.png
comment-arrow-bypostauthor-rtl.png
comment-arrow-bypostauthor.png
comment-arrow-dark-rtl.png
comment-arrow-dark.png
comment-arrow-rtl.png
comment-arrow.png
comment-bubble-dark-rtl.png
comment-bubble-dark.png
comment-bubble-rtl.png
comment-bubble.png
headers
search.png
wordpress.png
/inc/
/images/
content-sidebar.png
content.png
dark.png
light.png
sidebar-content.png
theme-options.css
theme-options.js
theme-options.php
widgets.php
index.php
/js/
html5.js
showcase.js
/languages/
twentyeleven.pot
license.txt
page.php
readme.txt
rtl.css
screenshot.png
search.php
searchform.php
showcase.php
sidebar-footer.php
sidebar-page.php
sidebar.php
single.php
style.css
tag.php
/twentyten/
404.php
archive.php
attachment.php
author.php
category.php
comments.php
editor-style-rtl.css
editor-style.css
footer.php
functions.php
header.php
/images/
/headers/
berries-thumbnail.jpg
berries.jpg
cherryblossoms-thumbnail.jpg
cherryblossoms.jpg
concave-thumbnail.jpg
concave.jpg
fern-thumbnail.jpg
fern.jpg
forestfloor-thumbnail.jpg
forestfloor.jpg
inkwell-thumbnail.jpg
inkwell.jpg
path-thumbnail.jpg
path.jpg
sunset-thumbnail.jpg
sunset.jpg
wordpress.png
index.php
/languages/
twentyten.pot
license.txt
loop-attachment.php
loop-page.php
loop-single.php
loop.php
onecolumn-page.php
page.php
rtl.css
screenshot.png
search.php
sidebar-footer.php
sidebar.php
single.php
style.css
tag.php
Archivos de la carpeta wp-includes
/wp-includes/
/Text/
Diff
Diff.php
admin-bar.php
atomlib.php
author-template.php
bookmark-template.php
bookmark.php
cache.php
canonical.php
capabilities.php
category-template.php
category.php
class-IXR.php
class-feed.php
class-http.php
class-json.php
class-oembed.php
class-phpass.php
class-phpmailer.php
class-pop3.php
class-simplepie.php
class-smtp.php
class-snoopy.php
class-wp-admin-bar.php
class-wp-ajax-response.php
class-wp-editor.php
class-wp-error.php
class-wp-http-ixr-client.php
class-wp-walker.php
class-wp-xmlrpc-server.php
class-wp.php
class.wp-dependencies.php
class.wp-scripts.php
class.wp-styles.php
comment-template.php
comment.php
compat.php
cron.php
/css/
admin-bar-rtl.css
admin-bar-rtl.dev.css
admin-bar.css
admin-bar.dev.css
editor-buttons.css
editor-buttons.dev.css
jquery-ui-dialog.css
jquery-ui-dialog.dev.css
wp-pointer.css
wp-pointer.dev.css
default-constants.php
default-filters.php
default-widgets.php
deprecated.php
feed-atom-comments.php
feed-atom.php
feed-rdf.php
feed-rss.php
feed-rss2-comments.php
feed-rss2.php
feed.php
formatting.php
functions.php
functions.wp-scripts.php
functions.wp-styles.php
general-template.php
http.php
/images/
admin-bar-sprite.png
arrow-pointer-blue.png
blank.gif
/crystal/
archive.png
audio.png
code.png
default.png
document.png
interactive.png
license.txt
spreadsheet.png
text.png
video.png
down_arrow.gif
icon-pointer-flag.png
rss.png
/smilies/
icon_arrow.gif
icon_biggrin.gif
icon_confused.gif
icon_cool.gif
icon_cry.gif
icon_eek.gif
icon_evil.gif
icon_exclaim.gif
icon_idea.gif
icon_lol.gif
icon_mad.gif
icon_mrgreen.gif
icon_neutral.gif
icon_question.gif
icon_razz.gif
icon_redface.gif
icon_rolleyes.gif
icon_sad.gif
icon_smile.gif
icon_surprised.gif
icon_twisted.gif
icon_wink.gif
toggle-arrow.png
upload.png
/wlw/
wp-comments.png
wp-icon.png
wp-watermark.png
wpicons.png
wpmini-blue.png
xit.gif
/js/
admin-bar.dev.js
admin-bar.js
autosave.dev.js
autosave.js
colorpicker.dev.js
colorpicker.js
comment-reply.dev.js
comment-reply.js
/crop/
cropper.css
cropper.js
marqueeHoriz.gif
marqueeVert.gif
hoverIntent.dev.js
hoverIntent.js
/imgareaselect/
border-anim-h.gif
border-anim-v.gif
imgareaselect.css
jquery.imgareaselect.dev.js
jquery.imgareaselect.js
/jcrop/
Jcrop.gif
jquery.Jcrop.css
jquery.Jcrop.dev.js
jquery.Jcrop.js
/jquery/
jquery.color.dev.js
jquery.color.js
jquery.form.dev.js
jquery.form.js
jquery.hotkeys.dev.js
jquery.hotkeys.js
jquery.js
jquery.query.js
jquery.schedule.js
jquery.serialize-object.js
jquery.table-hotkeys.dev.js
jquery.table-hotkeys.js
suggest.dev.js
suggest.js
/ui/
jquery.effects.blind.min.js
jquery.effects.bounce.min.js
jquery.effects.clip.min.js
jquery.effects.core.min.js
jquery.effects.drop.min.js
jquery.effects.explode.min.js
jquery.effects.fade.min.js
jquery.effects.fold.min.js
jquery.effects.highlight.min.js
jquery.effects.pulsate.min.js
jquery.effects.scale.min.js
jquery.effects.shake.min.js
jquery.effects.slide.min.js
jquery.effects.transfer.min.js
jquery.ui.accordion.min.js
jquery.ui.autocomplete.min.js
jquery.ui.button.min.js
jquery.ui.core.min.js
jquery.ui.datepicker.min.js
jquery.ui.dialog.min.js
jquery.ui.draggable.min.js
jquery.ui.droppable.min.js
jquery.ui.mouse.min.js
jquery.ui.position.min.js
jquery.ui.progressbar.min.js
jquery.ui.resizable.min.js
jquery.ui.selectable.min.js
jquery.ui.slider.min.js
jquery.ui.sortable.min.js
jquery.ui.tabs.min.js
jquery.ui.widget.min.js
json2.dev.js
json2.js
/plupload/
changelog.txt
handlers.dev.js
handlers.js
license.txt
plupload.flash.js
plupload.flash.swf
plupload.html4.js
plupload.html5.js
plupload.js
plupload.silverlight.js
plupload.silverlight.xap
prototype.js
quicktags.dev.js
quicktags.js
/scriptaculous/
MIT-LICENSE
builder.js
controls.js
dragdrop.js
effects.js
scriptaculous.js
slider.js
sound.js
unittest.js
wp-scriptaculous.js
swfobject.js
/swfupload/
handlers.dev.js
handlers.js
license.txt
/plugins/
swfupload.cookies.js
swfupload.queue.js
swfupload.speed.js
swfupload.swfobject.js
swfupload-all.js
swfupload.js
swfupload.swf
/thickbox/
loadingAnimation.gif
macFFBgHack.png
tb-close.png
thickbox.css
thickbox.js
/tinymce/
/langs/
wp-langs-en.js
wp-langs.php
license.txt
/plugins/
/directionality/
editor_plugin.js
/fullscreen/
editor_plugin.js
fullscreen.htm
/inlinepopups/
editor_plugin.js
/skins/
/clearlooks2/
/img/
alert.gif
button.gif
buttons.gif
confirm.gif
corners.gif
drag.gif
horizontal.gif
vertical.gif
window.css
template.htm
/media/
/css/
media.css
editor_plugin.js
/js/
embed.js
media.js
media.htm
moxieplayer.swf
/paste/
blank.htm
editor_plugin.js
/js/
pastetext.js
pasteword.js
pastetext.htm
pasteword.htm
/spellchecker/
changelog.txt
/classes/
EnchantSpell.php
GoogleSpell.php
PSpell.php
PSpellShell.php
SpellChecker.php
/utils/
JSON.php
Logger.php
config.php
/css/
content.css
editor_plugin.js
/img/
wline.gif
/includes/
general.php
rpc.php
/tabfocus/
editor_plugin.js
/wordpress/
/css/
content.css
editor_plugin.dev.js
editor_plugin.js
/img/
audio.gif
embedded.png
image.gif
media.gif
more_bug.gif
page.gif
page_bug.gif
trans.gif
video.gif
/wpdialogs/
editor_plugin.dev.js
editor_plugin.js
/js/
popup.dev.js
popup.js
wpdialog.dev.js
wpdialog.js
/wpeditimage/
/css/
editimage-rtl.css
editimage.css
editimage.html
editor_plugin.dev.js
editor_plugin.js
/img/
delete.png
image.png
/js/
editimage.dev.js
editimage.js
/wpfullscreen/
editor_plugin.js
fullscreen.htm
/wpgallery/
editor_plugin.dev.js
editor_plugin.js
/img/
delete.png
edit.png
gallery.png
t.gif
/wplink/
editor_plugin.dev.js
editor_plugin.js
/themes/
/advanced/
about.htm
anchor.htm
charmap.htm
color_picker.htm
editor_template.js
image.htm
/img/
colorpicker.jpg
flash.gif
gotmoxie.png
icons.gif
iframe.gif
pagebreak.gif
quicktime.gif
realmedia.gif
shockwave.gif
trans.gif
video.gif
windowsmedia.gif
/js/
about.js
anchor.js
charmap.js
color_picker.js
image.js
link.js
source_editor.js
link.htm
shortcuts.htm
/skins/
/default/
content.css
dialog.css
/img/
buttons.png
items.gif
menu_arrow.gif
menu_check.gif
progress.gif
tabs.gif
ui.css
/highcontrast/
content.css
dialog.css
ui.css
/o2k7/
content.css
dialog.css
/img/
button_bg.png
button_bg_black.png
button_bg_silver.png
ui.css
ui_black.css
ui_silver.css
/wp_theme/
content.css
dialog.css
/img/
tabs.gif
ui.css
source_editor.htm
tiny_mce.js
tiny_mce_popup.js
/utils/
editable_selects.js
form_utils.js
mctabs.js
validate.js
wp-mce-help.php
wp-tinymce.js.gz
wp-tinymce.php
tw-sack.dev.js
tw-sack.js
wp-ajax-response.dev.js
wp-ajax-response.js
wp-list-revisions.dev.js
wp-list-revisions.js
wp-lists.dev.js
wp-lists.js
wp-pointer.dev.js
wp-pointer.js
wplink.dev.js
wplink.js
kses.php
l10n.php
link-template.php
load.php
locale.php
media.php
meta.php
ms-blogs.php
ms-default-constants.php
ms-default-filters.php
ms-deprecated.php
ms-files.php
ms-functions.php
ms-load.php
ms-settings.php
nav-menu-template.php
nav-menu.php
pluggable-deprecated.php
pluggable.php
plugin.php
/pomo/
entry.php
mo.php
po.php
streams.php
translations.php
post-template.php
post-thumbnail-template.php
post.php
query.php
registration-functions.php
registration.php
rewrite.php
rss-functions.php
rss.php
script-loader.php
shortcodes.php
taxonomy.php
template-loader.php
/theme-compat/
comments-popup.php
comments.php
footer.php
header.php
sidebar.php
theme.php
update.php
user.php
vars.php
version.php
widgets.php
wlwmanifest.xml
wp-db.php
wp-diff.php
Y ya está, si alguna vez quieres saber donde está tal o cual archivo de WordPress ya sabes donde buscar.
Posted by planetawordpress on mayo 5, 2012

Cuando hay varios editores en un mismo blog, quizás queramos dejar notas en las entradas para que sean leídas exclusivamente por los administradores del sitio. Haciendo alguna aclaración o puntualización a alguna cosa que mejorar o destacar de la entrada escrita por el editor. Por defecto WordPress no trae integrada esta funcionalidad que puede resultar bastante interesante y sencilla de implementar en nuestro blog. Evidentemente es extensible a cualquier etiqueta que queráis crear para vuestro uso interno. Esto que os comento aquí simplemente es una primera idea :)
Los pasos para crearnos la nueva etiqueta serian los siguientes, deberemos copiar el siguiente código en el archivo functions.php de nuestra instalación de WordPress,
add_shortcode( 'note', 'sc_note' );
function sc_note( $atts, $content = null ) {
if ( current_user_can( 'publish_posts' ) )
return '<div class="note">'.$content.'</div>';
return '';
}
Una vez guardado el archivo y si queremos hacer uso de la nueva etiqueta en nuestra entrada actual, simplemente deberemos hacer referncia a ella de la siguiente manera
[note]
Esta es una nota personal que solo los administradores pueden ver! :)
[/note]
A parte de crear notas solamente visibles por los administradores, podremos darle el estilo que queramos, ya que el codigo por el que sustituye la etiqueta [note] es un <div class=”note”></div> con lo que podremos modificar nuestra css para darle el estilo que queramos.
Posted by planetawordpress on mayo 1, 2012

Por supuesto, hay plugins para convertir todos los enlaces de manera que se abran en nueva ventana o pestaña pero ¿para qué usar plugins cuando puedes hacerlo con una simple función?.
Si eres de los que te gusta que los enlaces sean ‘target="_blank"‘ y no quieres andar modificando cada enlace puedes añadir esta función a tu plugin de funciones o fichero functions.php de tu tema activo:
// Abrir todos los enlaces en ventana nueva
function autoblank($text) {
$return = str_replace('<a', '<a target="_blank"', $text);
return $return;
}
add_filter('the_content', 'autoblank');
Guardas los cambios y ya tienes lo que buscabas, todos los enlaces del contenido de las entradas se abrirán en una nueva ventana (o pestaña) del navegador.
Posted by planetawordpress on mayo 1, 2012

Si no usas Delicious ni los favoritos de Twitter, si no te gusta suscribirte a feeds RSS o tener blogs favoritos, quizás lo tuyo sea el correo electrónico.
Y como para todo hay opciones, si quieres aprender nuevas funciones WordPress, y recibir una buena referencia cada día en tu email ya tienes un servicio que hace exactamente eso.
The Daily WordPress reference es un servicio sencillo, pero efectivo, que ha iniciado el envío de documentación sobre WordPress por email. Simplemente apuntas tu dirección de correo electrónico y recibirás en tu email una función diaria de WordPress, para hacer tu biblioteca de desarrollador, poco a poco.
Este es un ejemplo de los emails que recibirás …

En la misma página de suscripción tienes varios ejemplos al final de la misma.
Para todo lo demás, Ayuda WordPress.
Posted by planetawordpress on abril 25, 2012

¿A que te gusta que en la cafetería te reconozcan por tu nombre y te preparen el café como te gusta?, pues lo mismo tienes tu que hacer con tus lectores del blog.
Si quieres agradecer a tus lectores habituales la visita y saludarles, y a los nuevos animarles a seguir leyéndote, con algún mensaje personalizado, puedes hacerlo muy fácil.
Y no me refiero a usuarios registrados, que eso ya lo vimos, sino a simples visitantes …
Solo tienes que elegir el lugar del tema en el que colocar este código y personalizarlo un poco a tu gusto:
<?php
if(isset($_COOKIE['comment_author_'.COOKIEHASH])) {
$lastCommenter = $_COOKIE['comment_author_'.COOKIEHASH];
echo "¡Bienvenido de nuevo querido lector, espero que disfrutes hoy de mis artículos! ". $lastCommenter ."!";
} else {
echo "¡Vaya! parece que eres nuevo por aquí, pasa y lee, si no encuentras algo usa el buscador.";
}
?>
Un par de buenos lugares para poner un código así sería antes del loop en index.php y en single.php, por ejemplo, pero tu decides.
Posted by planetawordpress on abril 25, 2012

Normalmente, si un usuario falla al tratar de acceder en WordPress le devuelve a la misma pantalla con un mensaje de error, que ya aprendimos a modificar para evitar dar pistas a hackers, pero ¿y si quieres enviar al usuario torpe a una página de error distinta?.
Se me ocurre, por ejemplo, enviarle a una página de contacto para que reclame la clave, o incluso a una página en la que ofrecerle servicios personalizados para usuarios registrados. Bueno, lo que sea que se te ocurra.
Si quieres redirigir a los usuarios que acceden a tu WordPress a una página concreta puedes usar la función de login de WordPress, que puedes añadir donde te guste, por ejemplo en un widget de texto, pero con un modificador que la envíe a una URL a tu elección, algo así:
wp_login_form(array( 'redirect' => site_url() )); // en este caso le mandas a la portada de tu web de nuevo
Ahora bien, como he dicho, esto es para los accesos exitosos, cuando el usuario introduce bien sus datos. Pero si lo que quieres es hacer justo lo que comentaba antes, hacer redirección cuando se equivocan, y lo ideal es que esto pase en la pantalla de acceso habitual de WordPress, entonces lo que tienes que hacer es añadir el siguiente código a tu plugin de funciones o archivo functions.php del tema activo:
add_action( 'wp_login_failed', 'my_front_end_login_fail' ); // hook para el accesso fallido
function my_front_end_login_fail( $username ) {
$referrer = $_SERVER['HTTP_REFERER']; // ¿de donde viene?
// si hay una referencia válida, y no es la pantalla de acceso por defecto
if ( !empty($referrer) && !strstr($referrer,'wp-login') && !strstr($referrer,'wp-admin') ) {
wp_redirect( $referrer . '?login=failed' ); // le añadimos algo de información (login-failed) a la URL del tema en uso
exit;
}
}
Ya solo te queda guardar los cambios y probar que funciona.
Posted by planetawordpress on abril 24, 2012

Si tienes una configuración cerrada de WordPress, con una serie de plugins que has modificado o que no quieres que se modifiquen porque, simplemente, funcionan, seguro que no quieres que nadie actualice esos plugins.
Es más, lo ideal sería incluso evitar la comprobación de actualización de los plugins.
Pues nada, solo tienes que añadir este código a tu plugin de funciones o fichero functions.php de tu tema activo:
// Desactivar comprobación de actualización de plugins
remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );
Guardas los cambios y ya está, tus plugins seguirán ahí mientras los necesites, sin pedirte actualizaciones. Eso si, ten en cuenta que antes de actualizar WordPress a una versión nueva deberás comprobar si hay versiones nuevas o, al menos, si las versiones actuales de los plugins son compatibles, en caso contrario deberías quitar el código y actualizar los plugins que quieras actualizar.
Por otra parte, si solo quieres no actualizar algún plugin concreto, pues este truco afecta a todos, puedes decidir que algún plugin no se actualice.
Código encontrado en wp snippets