mirror of
https://github.com/ulaulaman/eduinaf.git
synced 2024-12-15 16:58:32 +01:00
179 lines
5.6 KiB
PHP
179 lines
5.6 KiB
PHP
<?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;
|
|
}
|
|
/* ------------------------------------------------------ */
|
|
?>
|