EspañolCatalàEuskaraEnglish
Informazioaren Teknologia

Plugin bat taldekatzea shortcodes

Zenbat aldiz gertatu da gaia aldatu nahi dugun txartel bat utzi shorcode arteko? Nire asko… beraz, nire hasteko me sortzea erabaki nuen shortcodes hari guztiak erabili ahal izango dira.

Plugin bat sortzeko prozesua oso erraza da, eta ez dut dokumentatzeko luzatu, da, baita azaldu “Plugin bat idatzi” WordPress dokumentazioa.

Funtsean, hau izango da:

  • Plugin-izen bat aukeratu, saiatu bakarra izan, eta Google da bere nonexistence egiaztatu podermos. Beti izango zaitugu izena aurretik identifikatzailea, adibidez, “TopEinfo ShortCode Pack”
  • Sortu karpeta bat eta php fitxategi barruan izena aukeratu, baina, arreta, minuskula azentu erabili ahal izango dugu, eta sinbolo guztiak aldatu egingo dugu marratxoak “-“, WordPress gure mezu edo orriak url bezala. Gure kasuan, ez litzateke izango: “topeinfo-shortcode-pack”.
  • Php fitxategia editatu

Hasteko, gure kodea bezalakoa izan da:

<?php
/*
Plugin Name: TopEinfo ShortCode Pack
Plugin URI:
Description: Conjunto de shortcodes y útilidades varias
Author: Joan López
Version: 1.0
Author URI: https://www.topeinfo.es/
*/

Ondoren shortcodes sortu nahi dugu, adibidez,, Nire gogokoetara bat erabili web orrialde baten edukiak txertatu


/**
 * Inserta el contenido de una página
 *
 * Atributos:
 * - id: id de la página
 * - name: título de la página o slug
 * - reduce: (false) si es true, reduce los encabezados (h1->h2, h2->h3 ...)
 *
 * @param array $atts (id: int, name:string)
 * @return type
 * @version 1.05.20130216
 */
 function topeinfo_utils_pagina($atts, $content='') {
 $id = '';
 $reduce = false;
 extract(shortcode_atts(array(
 'id' => 0,
 'name' => '',
 'reduce' => false,
 'class' => ''
 ), $atts));

if ($id==0) {
 $page_data = get_page_by_path($name);
  if ($page_data == null)
  $page_data = get_page_by_title($name);
 }
 else
  $page_data = get_page($id);

if ($page_data == null)
 return $content;

$contenido = apply_filters('the_content', $page_data->post_content);
 if ($reduce == 'true' || $reduce == 1) {
  $contenido = str_ireplace('h5', 'h6', $contenido);
  $contenido = str_ireplace('h4', 'h5', $contenido);
  $contenido = str_ireplace('h3', 'h4', $contenido);
  $contenido = str_ireplace('h2', 'h3', $contenido);
  $contenido = str_ireplace('h1', 'h2', $contenido);
 }

 if (!empty($class)) {
 $contenido = "<div class=\"{$class}\">{$contenido}</div>";
 }

return $contenido;
 }

Orain, informatuta egon behar berri bat WordPress shortcode erabiltzeko eta funtzioa erabiliko dugu add_shortcode:

add_shortcode('pagina', 'topeinfo_utils_pagina');

Eta, beraz, joan ahal izango dugu elkarrekin shortcodes burua bitartez gara guztiak.

Tag Cloud

Zure nabigatzaileak ez du onartzen mihise.

Kategoriak
Nahi baduzu, iruzkin bat