Ejemplos tablas


<table border=1>

<tr><th colspan="3">Ventas</th>
</tr>
<tr><td>Empleado</td><td>Enero</td><td>Febrero</td></tr>
<tr><td>Ana</td><td>10</td><td>10</td></tr>
<tr><td>Rosa</td><td>20</td><td>10</td></tr>

</table>

<table border="1">
<tr>
<th colspan="3">Ventas</th>
</tr>
<tr>
<td rowspan="2">BCN</td>
<td>Ana</td>
<td>10</td>
</tr>
<tr>
<td>Rosa</td>
<td>20</td>
</tr>
<tr>
<td rowspan="2">GIR</td>
<td>Juan</td>
<td>30</td>
</tr>
<tr>
<td>Eva</td>
<td>40</td>
</tr>
</table>

Primer ejercicio html


<!DOCTYPE html>
<html>

<head>
<title></title>

<meta charset="UTF-8">
<style>
*{margin:0;}
img {

}
</style>
</head>

<body>

<h1 >Clique en la imagen para ir a la página</h1>

<p>En un <u>lugar</u> de la <strong>mancha</strong> de cuyo <mark>nombre</mark> no <small>quiero</small> <del>acordarme</del> no ha mucho tiempo que vivía un hidalgo
de los de <em>lanza</em> en <em><strong>astillero</strong></em> rocín <ins>flaco</ins> adarga <sup>antigua</sup> y <sub>galgo</sub> corredor.</p>

<a href="http://google.es"><img src="mascota.jpg" alt="perrito mono" width="200"></a>
<a href="http://google.es"><img src="perro2.jpg" alt="perrito mono" width="200"></a>
<a href="http://google.es"><img src="gato.jpg" alt="perrito mono" width="200"></a>

</body>

</html>

Plugin wordpress con todo



<?php
/*
Plugin Name: Plugin propio
Plugin URI: http://intelisen.com/plugins
Description: Un plugin para probar cosas
Author: Intelisen
Version: 1
Author URI: http://intelisen.com
*/

add_filter('the_content', 'cambiar_contenido');

function cambiar_contenido($contenido) {
return $contenido . " ¡Mega artículo!";
}

add_filter('the_title', 'cambia_titulo');

function cambia_titulo($contenido) {
return "###==>" . $contenido;
}

add_action('admin_notices', 'saludo');

function saludo() {
echo "ola k ase???";
}

add_action('wp_head', 'ponjquery');

function ponjquery() {
echo '<El código que pongamos aquí se pintará en la cabecera (head) del wordpress>'
. '<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>';
}

function google_shortcode() {
return '<input onclick="location.href=\'http://google.es\'" type="button" value="Ir a google" />';
}

add_shortcode('google_atajo', 'google_shortcode');

function refran() {
$refranes = ["No por mucho madrugar amanece más temprano", "A quien madruga dios le ayuda", "Más vale pájaro en mano que ciento volando"];
return "<p>" . $refranes[rand(0, count($refranes) - 1)] . "</p>";
}

add_shortcode('refran', 'refran');

function imagenes() {
$query_images_args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'post_status' => 'inherit',
'posts_per_page' => - 1,
);

$query_images = new WP_Query($query_images_args);
$imagen = $query_images->posts[rand(0, count($query_images->posts) - 1)];

return '<img width=300 height=300 src="' . $imagen->guid . '"/>';
}

add_shortcode('imagenes', 'imagenes');

//Necesarios para crear un menú y registrar los campos
add_action('admin_menu', 'destacar_menu');
add_action('admin_init', 'destacar_settings');

//Registra el campo que vamos a guardar
function destacar_settings() {
register_setting('destacar-group', 'destacar_palabras');
register_setting('destacar-group', 'destacar_color');
}

//Son las opciones que tendrá nuestro menú. Los parámetros son: título de la página, título del menú, quien puede acceder, url de esta página y función a la que se llama
function destacar_menu() {
add_options_page('Opciones destacar', 'Destacar', 'manage_options', 'destacar-identifier', 'destacar_options');
}

//Formulario que se mostrará cuando se seleccione el menú
function destacar_options() {
if (!current_user_can('manage_options')) {
wp_die('No tiene permiso.');
}
?>

<div>
<?php screen_icon(); ?>
<h2>Opciones destacar</h2>

<form method="post" action="options.php">
<?php
settings_fields('destacar-group');
do_settings_fields('destacar-group', '');
?>

<p>Introduzca las palabras a destacar separadas por comas</p>
<input size="70" type="text" name="destacar_palabras" value="<?php echo get_option('destacar_palabras'); ?>" />

<p>Introduzca el color que quiere usar para destacar</p>
<input size="70" type="text" name="destacar_color" value="<?php echo get_option('destacar_color'); ?>" />

<?php
submit_button();
?>
</form>
</div>
<?php
}

//Las dos funciones siguientes y el add_filter son el código del plugin
function destacar_get_palabras() {
return explode(",", get_option("destacar_palabras"));
}

function destacar_filtro($contenido) {
$palabras = destacar_get_palabras();
foreach ($palabras as $palabra) {
$palabra = trim($palabra);
$contenido = str_ireplace($palabra, "<span style='background-color:" . get_option("destacar_color") . "'>" . $palabra . "</span>", $contenido);
}
return $contenido;
}

add_filter('the_content', 'destacar_filtro');

class EntradasWidget extends WP_Widget {

function EntradasWidget() {
$widget_ops = array('classname' => 'EntradasWidget', 'description' => 'Muestra entrada aleatoria');
$this->WP_Widget('EntradasWidget', 'Entrada aleatoria con thumbnail', $widget_ops);
}

function form($instance) {
$instance = wp_parse_args((array) $instance, array('title' => ''));
$title = $instance['title'];
?>
<p><label for="<?php echo $this->get_field_id('title'); ?>"><?= _e('Title') ?>: <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo attribute_escape($title); ?>" /></label></p>
<?php
}

function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance['title'] = $new_instance['title'];
return $instance;
}

function widget($args, $instance) {
extract($args, EXTR_SKIP);

echo $before_widget;
$title = empty($instance['title']) ? ' ' : apply_filters('widget_title', $instance['title']);

if (!empty($title))
echo $before_title . $title . $after_title;;

// CóDIGO DEL WIDGET
$posts = get_posts('orderby=rand;numberposts=1');
$post = $posts[0];
?><a href="<?= get_permalink($post); ?>" title="<?= $post->post_title; ?>"><?= $post->post_title; ?></a>
<?php
echo $after_widget;
}

}

add_action('widgets_init', create_function('', 'return register_widget("EntradasWidget");'));

Ejemplos shortcodes

Pone un refrán aleatorio:

function refran() {
    $refranes = ["No por mucho madrugar amanece más temprano", "A quien madruga dios le ayuda", "Más vale pájaro en mano que ciento volando"];
    return "<p>" . $refranes[rand(0, count($refranes) - 1)] . "</p>";
}

add_shortcode('refran', 'refran');

Pone una imagen aleatoria de la biblioteca de medios:

function imagenes() {
    $query_images_args = array(
        'post_type' => 'attachment',
        'post_mime_type' => 'image',
        'post_status' => 'inherit',
        'posts_per_page' => - 1,
    );

    $query_images = new WP_Query($query_images_args);
    $imagen = $query_images->posts[rand(0, count($query_images->posts) - 1)];

    return '<img width=300 height=300 src="' . $imagen->guid . '"/>';
}

add_shortcode('imagenes', 'imagenes');

sakila.php

<?php
class Sakila {

    private $server = "localhost";
    private $user = "root";
    private $password = "";
    private $db = "sakila";
    public $conn;

    function __construct() {
        try {
            $this->conn = new PDO("mysql:host=$this->server;dbname=$this->db", $this->user, $this->password);
            $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

            $this->conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
            $this->conn->exec("SET CHARACTER SET utf8");
        } catch (PDOException $e) {
            echo "Connection failed: " . $e->getMessage();
        }
    }

    
    function pepe(){
        return 3;
    }
    function getActors() {
        $sql = "select * from actor where 1=1";
        $query = $this->conn->query($sql);
        return $query->fetchAll();
    }

    function getActor($id) {
        $sql = "select * from actor where actor_id=$id";
        $query = $this->conn->query($sql);
        return $query->fetch();
    }

    /**
     * 
     * @param type $actor  array asociativo con los campos del actor
     * ejemplo: ['actor_id'=>1,'first_name'=>'Santiago','last_name'=>'Segura']
     */
    function updateActor($actor) {
        $sql = "update actor set first_name='" . $actor['first_name'] . "', last_name='" . $actor['last_name'] . "'
                where actor_id=" . $actor['actor_id'] . ";";
        $this->conn->exec($sql);
    }

    function deleteActor($id) {
        $sql = "delete from actor where actor_id=$id";
        $this->conn->exec($sql);
    }

    /**
     * Inserta un nuevo actor o devuelve el id si ya existe
     * @param string valor de first_name
     * @param string valor de last_name
     * @return int id
     */
    function newActor($first_name, $last_name) {
        if (!empty($first_name) && !empty($last_name)) {
            $sql = "select * from actor where first_name=:first_name and last_name=:last_name";
            $st = $this->conn->prepare($sql);
            $st->execute([':first_name' => $first_name, ':last_name' => $last_name]);
            if ($actor = $st->fetch()) {
                return $actor['actor_id'];
            }
            $sql = "insert into actor (first_name,last_name) values (:first_name,:last_name)";
            $st = $this->conn->prepare($sql);
            $st->execute([':first_name' => $first_name, ':last_name' => $last_name]);
            return $this->conn->lastInsertId();
        } else {
            return null;
        }
    }

    /**
     * Inserta una película en una categoría
     * @param int id de la categoría
     * @param string título de la película
     */
    function newFilm($category_id, $film) {

        $this->conn->beginTransaction();
        try {
            $sql = "insert into film(title,language_id) values (:film,1)";
            $st = $this->conn->prepare($sql);
            $st->execute([':film' => $film]);
            $film_id = $this->conn->lastInsertId();
            $sql = "insert into film_category(film_id,category_id) values($film_id,$category_id)";
            $this->conn->exec($sql);
            $this->conn->commit();
        } catch (PDOException $e) {
            echo $e->getMessage();
            $this->conn->rollBack();
        }
    }

    /**
     * Crea un select con todas las categorías
     */
    function selectCategory() {
        $sql = "select * from category";
        $q = $this->conn->query($sql);
        $categorias = $q->fetchAll();
        ?>
        <select name="category">
        <?php foreach ($categorias as $categoria) {
            ?>
                <option value="<?= $categoria['category_id'] ?>"><?= $categoria['name'] ?></option>
            <?php } ?>
        </select>
            <?php
        }

    }