Web Design

WordPress Visual Editor – Aggiungere Bottoni

WordPress Visual Editor – Aggiungere Bottoni

TinyMCE è l’editor visuale (WYSIWYG editor) che utilizza WordPress per editare il contenuto di pagine e post.

In WordPress TinyMCE per default è parzialmente attivo, per evitare la presenza di troppi bottoni che possono generare confusione.

Aggiungere i bottoni nascosti di Tiny MCE

Il metodo più facile è installare la plugin ‘The Ultimate TinyMCE plugin’, altrimenti possiamo aggiungere manualmente i bottoni nascosti di TinyMCE con la seguente procedura:

1. Aprire blog/wp-content/themes/mytheme/functions.php e aggiungere il codice:

// Enable All Tiny MCE Buttons
function my_mce_buttons_2($buttons) {	
	/**
	 * Add in a core button that's disabled by default
	 */
	$buttons[] = 'sup';
	$buttons[] = 'sub';

	return $buttons;
}
add_filter('mce_buttons_2', 'my_mce_buttons_2');

NOTA BENE:
Aggiunge Subscript (pedice) e Superscript (apice)

$buttons[] = 'sup';
$buttons[] = 'sub';

Aggiungere i bottoni alla seconda riga:

add_filter('mce_buttons_2', 'my_mce_buttons_2');

add_filter(‘mce_buttons_2’, ‘my_mce_buttons_2’);
add_filter(‘riga’, ‘funzione che ritorna la lista di bottoni’);

2. Wp-admin> Pagine> Aggiungi nuova> attivare la linguetta ‘Visuale’> nella prima riga dell’editor cliccare sull’ultimo bottone ‘Show/Hide Kitchen Sink’ (Lavello da cucina?!) per visualizzare la seconda riga dell’editor> alla fine della riga si saranno aggiunti i bottoni per il ‘Subscript’ e per il ‘Superscript’

Aggiungere dei ‘Custom Styles’ a Tiny MCE

1. Aprire blog/wp-content/themes/mytheme/functions.php e aggiungere il codice:

a) Rendiamo visibile il menu ‘Styles’ a sinistra della seconda riga di TinyMCE
b) Aggiungiamo le voci ‘Tag Line’ ‘Button’

// Add the Style Dropdown Menu to the second row of visual editor buttons
function my_mce_buttons_2($buttons)
{
    array_unshift($buttons, 'styleselect');
    return $buttons;
}
add_filter('mce_buttons_2', 'my_mce_buttons_2');

// Add classes with title and separate them with
function my_mce_before_init($init_array)
    {
        // Now we add classes with title and separate them with;
        $init_array['theme_advanced_styles'] = "Tag Line=tag-line;Button=custom-button";
    return $init_array;
}
add_filter('tiny_mce_before_init', 'my_mce_before_init');

// Add New CSS Style in the visual editor
add_editor_style('custom-editor-style.css');

NOTA BENE:

Aggiungi uno stile CSS:

// Add New CSS Style in the visual editor
add_editor_style('custom-editor-style.css');

Dallo stile CSS assegna a ‘Button’ la classe CSS ‘custom-button’

"Tag Line=tag-line;Button=custom-button";
    return $init_array;

2. Creiamo il foglio di stile ‘custom-editor-style.css’ in:
blog/wp-content/themes/mytheme/custom-editor-style.css

Inseriamo all’interno il codice CSS:

.tag-line {

	Font:italic 14px Georgia, serif;
	color:#ccc;
}

.custom-button {

	font-size:13px;
	background: #9027A2;
	display: inline-block;
	padding: 2px  5px 2px;
	color: #fff;
	text-decoration: none;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-  radius: 4px;
	border:none;
	position: relative;
	cursor: pointer;
	margin:10px 10px 0 0;

}

3. wp-admin> Pagine> Aggiungi nuova> attivare la linguetta ‘Visuale’> scrivere un testo e selezionarlo> dal visual editor selezionare dalla seconda riga, tutto a sinistra, Styles> Button

4.wp-admin> Pagine> Aggiungi nuova> attivare la linguetta ‘Testo’> il codice generato sarà:

<p class="custom-button">mytext</p>

5. Inseriamo il CSS anche nel foglio di stile del nostro Template altrimenti il nostro template si troverà sprovvisto della nostra nuova classe CSS.

Aggiungiamo in:
blog/wp-content/themes/mytheme/style.css

...
// In fondo al CSS aggiungiamo lo stile personalizzato
.tag-line {

	Font:italic 14px Georgia, serif;
	color:#ccc;
}

.custom-button {

	font-size:13px;
	background: #9027A2;
	display: inline-block;
	padding: 2px  5px 2px;
	color: #fff;
	text-decoration: none;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-  radius: 4px;
	border:none;
	position: relative;
	cursor: pointer;
	margin:10px 10px 0 0;

}

CLASSE CSS ‘DEBOLE’

Se non funziona è possibile che le classi CSS del nostro Template siano più ‘forti’ della nostra nuova classe, per questo possiamo dare la priorità alla nuova classe con l’istruzione CSS !important

Sostituire il codice CSS in custom-editor-style.css + style.css con:

.tag-line {

	Font:italic 14px Georgia, serif;
	color:#ccc;
}

.custom-button {

	font-size:13px;
	background: #9027A2 !important;
	display: inline-block !important;
	padding: 2px  5px 2px !important;
	color: #fff !important;
	text-decoration: none;
	-moz-border-radius: 4px !important;
	-webkit-border-radius: 4px !important;
	border-  radius: 4px !important;
	border:none;
	position: relative;
	cursor: pointer;
	margin:10px 10px 0 0;

}
By |Web Design, WordPress|Commenti disabilitati su WordPress Visual Editor – Aggiungere Bottoni

WordPress – Creare un Widget

Wordpress – Creare un Widget

1. Creare una Site Specific PlugIn

Creare il file php ‘yoursitename-plugin.php’ in:
blog/wp-content/plugins/yoursitename-plugin/yoursitename-plugin.php

Il codice:


<?php
/*
Plugin Name: Luce Digitale - Widget Sample 
Description: Un esempio di Widget personalizzato.
*/

/* Start Adding Functions Below this Line */

// Creating the widget 
class wpb_widget extends WP_Widget {

function __construct() {
parent::__construct(
// Base ID of your widget
'wpb_widget', 

// Widget name will appear in UI
__('Sample Luce Digitale Widget', 'wpb_widget_domain'), 

// Widget description
array( 'description' => __( 'Sample Luce Digitale widget', 'wpb_widget_domain' ), ) 
);
}

// Creating widget front-end
// This is where the action happens
public function widget( $args, $instance ) {
$title = apply_filters( 'widget_title', $instance['title'] );
// before and after widget arguments are defined by themes
echo $args['before_widget'];
if ( ! empty( $title ) )
echo $args['before_title'] . $title . $args['after_title'];

// This is where you run the code and display the output
echo __( 'Hello, World!', 'wpb_widget_domain' );
echo $args['after_widget'];
}
		
// Widget Backend 
public function form( $instance ) {
if ( isset( $instance[ 'title' ] ) ) {
$title = $instance[ 'title' ];
}
else {
$title = __( 'New title', 'wpb_widget_domain' );
}
// Widget admin form
?>
<p>
<label for="<?php echo $this->get_field_id( 'title' ); ?>"><?php _e( 'Title:' ); ?></label> 
<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
</p>
<?php 
}
	
// Updating widget replacing old instances with new
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
return $instance;
}
} // Class wpb_widget ends here

// Register and load the widget
function wpb_load_widget() {
	register_widget( 'wpb_widget' );
}
add_action( 'widgets_init', 'wpb_load_widget' );
 
/* Stop Adding Functions Below this Line */
?>

Attivare:

COLONNA SINISTRA> PlugIns> ‘Luce Digitale – Widget Sample’> Activate

COLONNA SINISTRA> Aspetto> Widgets> ‘Sample Luce Digitale Widget’ inserire il Widget nell’interfaccia

Warning Messages

Dopo l’attivazione della plugin può essere restituito il seguente errore:

The plugin generated xxx characters of unexpected output during activation

Questo succede se si lasciano delle righe bianche in testa al file php, prima del tag ‘

By |Web Design, WordPress|Commenti disabilitati su WordPress – Creare un Widget

WordPress – MySQL Snippets – Super Utili

WordPress – MySQL Snippets – Super Utili

Una pratica molto professionale consiste nell’accedere e modificare direttamente i dati nel Database di WordPress utilizzando i comandi di MySQL.
Il modo più facile per utilizzare i comandi MySQL è farlo da phpMyAdmin.


# Change Siteurl & Homeurl
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com') WHERE option_name = 'home' OR option_name = 'siteurl';

# Change GUID
UPDATE wp_posts SET guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');

# Change URL in Content
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');

# Change Image Path Only
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://www.oldsiteurl.com', 'src="http://yourcdn.newsiteurl.com');
UPDATE wp_posts SET  guid = REPLACE (guid, 'http://www.oldsiteurl.com', 'http://yourcdn.newsiteurl.com') WHERE post_type = 'attachment';

# Update Post Meta
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.oldsiteurl.com','http://www.newsiteurl.com');

# Change Default "Admin" Username
UPDATE wp_users SET user_login = 'Your New Username' WHERE user_login = 'Admin';

# Reset Password
UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'your-username';

# Assign all articles by Author B to Author A
UPDATE wp_posts SET post_author = 'new-author-id' WHERE post_author = 'old-author-id';

# Delete Revision
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision'

# Delete Post Meta
DELETE FROM wp_postmeta WHERE meta_key = 'your-meta-key';

# Export all Comment Emails with no Duplicate
SELECT DISTINCT comment_author_email FROM wp_comments;

# Delete all Pingbacks
DELETE FROM wp_comments WHERE comment_type = 'pingback';

# Delete all Spam Comments
DELETE FROM wp_comments WHERE comment_approved = 'spam';
#     * 0 = Comment Awaiting Moderation
#     * 1 = Approved Comment
#     * spam = Comment marked as Spam

# Identify Unused Tags
SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0;

By |MySQL, Web Design, WordPress|Commenti disabilitati su WordPress – MySQL Snippets – Super Utili

WordPress – Creare un Template – Base

Wordpress – Creare un Template – Base

Creare un template:
scrivere il file mytemplate.php:

<?php
/*
Template Name: Cool Home Page
*/
echo 'Hello World!';
?>

Copiare mytemplate.php all’interno di /blog/wp-content/themes/mytheme

Per assegnare il template ad una pagina:
wp-admin> COLONNA DI SINISTRA> Pagine> selezionare una pagina> COLONNA DI DESTRA> Attributi pagina> Modello> ‘Cool Home page’

NOTA BENE:

Template Name: Cool Home Page

Questo è il nome che ritroveremo all’interno di wp-admin al momento dell’assegnazione del template!

By |Web Design, WordPress|Commenti disabilitati su WordPress – Creare un Template – Base

WordPress – Rimuovere dei Menu in Admin Panel

WordPress – Rimuovere dei Menu in Admin Panel

A volte è necessario, per motivi di sicurezza o praticità d’uso, nascondere alcuni menù dal pannello di Admin di WordPress.

Aprire blog/wp-content/themes/mytheme/functions.php

Aggiungere le righe:


// Remove Admin Menu Pages
add_action( 'admin_menu', 'my_remove_menu_pages' );
function my_remove_menu_pages() {
    remove_menu_page('options-general.php');  
}

NOTA BENE:

remove_menu_page('options-general.php');

‘options-general.php’ farà sparire il menù ‘Settings’

Per reperire il nome del menù da eliminare aprire wp-admin> COLONNA SINISTRA> posizionarsi con il cursore del mouse sopra al menù da eliminare per vedere dove punta il link.

By |Web Design, WordPress|Commenti disabilitati su WordPress – Rimuovere dei Menu in Admin Panel