Upload files

This commit is contained in:
ulaulaman 2018-02-05 13:14:40 +01:00 committed by GitHub
parent 2fa98d51b8
commit d6bda3cfd4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 216 additions and 0 deletions

178
eduinaf.php Normal file
View File

@ -0,0 +1,178 @@
<?php
/*
Plugin Name: Edu INAF Plugin
Description: Il plugin aggiunge varie funzionalità al sito Edu INAF senza modificare direttamente il codice php del tema.
Version: 0.9.2
Author: Gianluigi Filippelli
Author URI: http://dropseaofulaula.blogspot.it/
GitHub Plugin URI:
License: GPLv2 or later
*/
/* ------------------------------------------------------ */
# ---------------------------------------------------------
# menu plugin
/** Aggiunta del menu */
add_action( 'admin_menu', 'eduinaf_menu' );
/** Creazione del menu come sottovoce della dashboard */
function eduinaf_menu() {
add_dashboard_page( 'Edu INAF Plugin: pagina di documentazione', 'Edu INAF', 'manage_options', 'eduinaf-top-level-handle', 'eduinaf_toplevel_page' );
}
/** Creazione della pagina con le aggiunte nelle varie versioni */
function eduinaf_toplevel_page() {
echo '<h2>Edu INAF Plugin</h2>';
echo '<div class="wrap">';
echo '<p>Il plugin aggiunge varie funzionalità al sito Edu INAF senza modificare direttamente il codice php del tema.<br/>In particolare sono presenti gli shortcode per la creazione automatica dei link alle attività astroedu e alle notizie spacescoop. In particolare lo shortcode utilizza due parametri, il codice dell\'attività/news e la lingua</p>';
echo '<p><strong>Uso degli shortcode</strong>:</p>';
echo '<p>[astroedu code="..." lang="..."]</p>';
echo '<p>[spacescoop code="..." lang="..."]<br/>';
echo '<p>Entrambi i parametri sono obbligatori per il corretto funzionamento dello shortcode.</p>';
echo '</div>';
}
# messaggio nell'admin footer
function remove_footer_admin () {
echo 'Benvenuto su <a href="http://edu.inaf.it/" target="inaf">Edu INAF</a> | Sito realizzato con <a href="http://www.wordpress.org" target="word">WordPress</a></p>';
}
add_filter('admin_footer_text', 'remove_footer_admin');
# manipolazione del feed rss
# aggiunta delle attività didattiche
function myfeed_request($qv) {
if (isset($qv['feed']) && !isset($qv['post_type']))
$qv['post_type'] = array('post', 'attivita_didattica');
return $qv;
}
add_filter('request', 'myfeed_request');
# aggiunta dell'immagine in evidenza
function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '<p>' . get_the_post_thumbnail($post->ID) .
'</p>' . get_the_excerpt();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');
# aggiunta autori in apertura e messaggio di chiusura per post nel feed
function eduinaf_postrss($content) {
$coauthors = coauthors_posts_links(", ", " e ", null, null, false);
if(is_feed()){
$content = '<p>Questo articolo è stato scritto da '.$coauthors.'</p>'.$content.'<p>Leggi Edu INAF</p>';
}
return $content;
}
add_filter('the_excerpt_rss', 'eduinaf_postrss');
add_filter('the_content', 'eduinaf_postrss');
# Aggiunta del logo e modifica del link nella pagina di login
function custom_login_logo() {
echo '<style type="text/css">
h1 a { background-image: url('.plugin_dir_url( __FILE__ ).'images/avatar_eduinaf.png) !important; }
</style>';
}
add_action('login_head', 'custom_login_logo');
function eduinaf_login_logo_url() {
return home_url();
}
add_filter( 'login_headerurl', 'eduinaf_login_logo_url' );
function eduinaf_login_logo_url_title() {
return 'Edu INAF';
}
add_filter( 'login_headertitle', 'eduinaf_login_logo_url_title' );
# Contacaratteri
# Excerpt/Riassunto
function excerpt_count_js(){
if ('page' != get_post_type()) {
echo '<script>jQuery(document).ready(function(){
jQuery("#postexcerpt .handlediv").after("<div style=\"position:absolute;top:12px;right:34px;color:#666;\"><small>Numero caratteri: </small><span id=\"excerpt_counter\"></span><span style=\"font-weight:bold; padding-left:7px;\">/ 500</span><small><span style=\"font-weight:bold; padding-left:7px;\">caratteri.</span></small></div>");
jQuery("span#excerpt_counter").text(jQuery("#excerpt").val().length);
jQuery("#excerpt").keyup( function() {
if(jQuery(this).val().length > 500){
jQuery(this).val(jQuery(this).val().substr(0, 500));
}
jQuery("span#excerpt_counter").text(jQuery("#excerpt").val().length);
});
});</script>';
}
}
add_action( 'admin_head-post.php', 'excerpt_count_js');
add_action( 'admin_head-post-new.php', 'excerpt_count_js');
# Content/Contenuto
function content_char_count() {
?>
<script type="text/javascript">
(function($) {
wpCharCount = function(txt) {
$('.char-count').html("" + txt.length);
};
$(document).ready(function() {
$('#wp-word-count').append('<br />Numero caratteri: <span class="char-count">0</span>');
}).bind( 'wpcountwords', function(e, txt) {
wpCharCount(txt);
});
$('#content').bind('keyup', function() {
wpCharCount($('#content').val());
});
}(jQuery));
</script>
<?php
}
add_action('dbx_post_sidebar', 'content_char_count');
# Citazioni e link automatici
# Astroedu
add_shortcode('astroedu', 'astroedu');
function astroedu ($atts, $content = null) {
extract(
shortcode_atts(
array(
'lang' => null,
'code' => null,
),
$atts
)
);
$link = '<a href="http://astroedu.iau.org/'.$lang.'/activities/'.$code.'/" target="astroedu">'.$content.'</a>';
return $link;
}
# spacescoop
add_shortcode('spacescoop', 'spacescoop');
function spacescoop ($atts, $content = null) {
extract(
shortcode_atts(
array(
'lang' => null,
'code' => null,
),
$atts
)
);
$link = '<a href="http://www.spacescoop.org/'.$lang.'/scoops/'.$code.'/" target="spacescoop">'.$content.'</a>';
return $link;
}
/* ------------------------------------------------------ */
?>

BIN
images/avatar_eduinaf.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

38
readme.txt Normal file
View File

@ -0,0 +1,38 @@
=== Edu INAF Plugin ===
Contributors: ulaulaman
Tags: eduinaf, inaf
Requires at least: 4.8.5
Tested up to: 4.9.2
Requires PHP: 7.0.18
Stable tag: trunk
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Il plugin, in italiano, aggiunge varie funzionalità al sito Edu INAF senza modificare direttamente il codice php del tema.
== Description ==
Il plugin è stato originariamente sviluppato per integrarsi con il plugin [Co-Authors Plus](https://wordpress.org/plugins/co-authors-plus/). I codici di integrazione con il plugin sono stati cancellati dalla versione attuale in un plugin separato [presente sul repository ufficiale di Wordpress](https://wordpress.org/plugins/widget-for-co-authors/) (vedi anche la [versione su git-hub](https://github.com/ulaulaman/widget-for-co-authors)).
Il plugin aggiunge un'icona per il login, personalizza il messaggio nell'*admin footer*, manipola il *feed rss* per accreditare l'articolo all'autore/i, inclusi *guest author*, aggiunge degli shortcode per la creazione automatica dei link alle attività astroedu e alle notizie spacescoop. In particolare lo shortcode utilizza due parametri, il codice dell'attività/news e la lingua.
[astroedu code="..." lang="..."]
[spacescoop code="..." lang="..."]
Entrambi i parametri sono obbligatori per il corretto funzionamento dello shortcode.
== Changelog ==
* 0.9.2 modifiche alla pagina di documentazione; pulizia nella cartella principale
* 0.9.1 aggiunta shortcode per i link a spacescoop usando codice e lingua della news
* 0.9 aggiunta shortcode per i link ad astroEdu usando codice e lingua dell'attività
* 0.8.1 cancellazione di shortcode e widget integrati con Co-Authors Plus a seguito della creazione di plugin apposito
* 0.8 aggiunte le attività didattiche al feed rss
* 0.7.2 aggiunto contacaratteri per gli articoli
* 0.7.1 aggiunto contacaratteri per il riassunto con limite a 500
* 0.6.2 correzione codice che mostrava articoli completi sostituendolo con il sommario
* 0.6.1 correzione baco che impediva di mostrare i profili tranne il primo
* 0.6 aggiunto metodo per mostrare/nascondere profilo nel widget con css
* 0.5 manipolazione del footer admin della dashboard; manipolazione del feed rss: aggiunta immagine in evidenza e autori articolo; aggiunto il logo e modificati descrizione e link
* 0.4 aggiunta della voce del menu e della pagina di presentazione del plugin
* 0.3 aggiunta dei link ai profili nel widget
* 0.2 widget per gli avatar degli autori compatibile con Coauthors Plus
* 0.1 box shortcode per aggiunta autori compatibile con Coauthors Plus