Zjištění ID rodičovské kategorie

Potřebujete-li v loopu např. ve výpisu příspěvků z rubriky (archivu) zjistit u každého příspěvku ID kořenové rubriky (tedy jsou-li rubriky vnořené), vložte do functions.php funkci

/*
* Returns ID of top-level parent category, or current category if you are viewing a top-level
*
* @param    string      $catid      Category ID to be checked
* @return   string      $catParent  ID of top-level parent category
*/
function pa_category_top_parent_id ($catid) {
 while ($catid) {
  $cat = get_category($catid); // get the object for the catid
  $catid = $cat->category_parent; // assign parent ID (if exists) to $catid
  // the while loop will continue whilst there is a $catid
  // when there is no longer a parent $catid will be NULL so we can assign our $catParent
  $catParent = $cat->cat_ID;
 }
return $catParent;
}

a v loopu si ji pak jen zavoláme pro hodnotu ID:

$catid = get_query_var('cat');
$topcat = pa_category_top_parent_id ($catid);
// a můžeme použít třeba v podmínce
if ($topcat == konkretni-hodnota-id): neco-udelej;

Zdroj »

WYSIWYG pro popis uživatele

Následující kratičký kód zobrazí #WYSIWYG editor u popisu autora u uživatelského profilu:

Kód stačí přidat do function.php ve vašem template:

<?php /** * WYSIWYG pro uzivatelsky profil WordPress * * @author Roman Ozana <ozana@omdesign.cz> */ class CustomUserProfile {/** @var array */
private $tinymceOptions = array(
'teeny' => true,
'quicktags' => false,
'media_buttons' => false, 'textarea_rows' => 8,
'wpautop' => false,
'tinymce' => array(
'theme_advanced_but­tons1' => 'p, bold, italic, ul, |,link,unlink,co­de',
'theme_advanced_but­tons2' => '',
'theme_advanced_but­tons3' => '',
'theme_advanced_but­tons4' => '',
),
);public function __construct() {
add_action('show_u­ser_profile', array($this, 'initDescripti­onWysywig'));
add_action('e­dit_user_profi­le', array($this, 'initDescripti­onWysywig'));
}/**
* Wysywig editor take pro description
*
* @param $options
*/
public function initDescripti­onWysywig($op­tions) {
if ( ! class_exists('_WP_E­ditors' ) )
require_once( ABSPATH . WPINC . '/class-wp-editor.php' );$options = _WP_Editors::par­se_settings('des­cription', $this->tinymceOptions);
_WP_Editors::e­ditor_settings('des­cription', $options);
wp_print_styles('e­ditor-buttons');
}} new CustomUserPro­file();

#wordpress #php

Shortcode – kurzy české koruny

Potřebujete ve WordPressu vypisovat cenu v několika měnách? To vám přijde vhodný dnešní návod na shortcode, který kurzy bere přímo od České národní banky. Celé to funguje velmi jednoduše. Pomocí cronu se do systému nahrávají každou hodinu nejnovější data z cnb.cz a nahrají do databáze wordpressu. Samotné vypsání na webu [...]

Podobné články tak trochu jinak

Určitě znáte spoustu různých pluginů, které vypisují podobné články. Je to většinou prosté, jednoduché a plně automatické. Pokud se trefí do návštěvníkova zájmu, udržíte si ho a on vám neodkráčí už na první stránce. Články ale vybírá počítač a ten je občas prostě tak trochu hloupý. Teď doufám, že se googlebot neurazí a nepřestane mi... Číst dále

Ořezy obrázků

Pokud jste někde vytvářeli či upravovali šablonu, určitě jste se setkali i s náhledovými obrázky článků. Díky funkcím wordpressu je nemusíte nahrávat ořezané či zmenšené, script to udělá za vás. Jeden obrázek je tak možné vkládat ve více velikostech. Základní jsou thumbnail (150, 150), medium (300, 300), large (1024, 1024) a full (bez zmenšení). Vytvářet [...]

Změna nadpisu widgetu

Určitě jste se už trápili, jak změnit velikost nadpisu ve widgetech. WordPress tuto změnu v administračním rozhraní neumožňuje a tudíž budete muset zasahovat do samotné šablony. V té si najděte soubor functions.php a v něm budete muset opět pátrat, tentokrát po kódu, který vypadá nějak takto:

 register_sidebar( array( 'name' => __( 'Primary Widget Area', 'twentyten' ), 'id' => 'primary-widget-area', 'description' => __( 'The primary widget area', 'twentyten' ), 'before_widget' => '<li id="%1$s">', 'after_widget' => '</li>', 'before_title' => '<h3>', 'after_title' => '</h3>', ) ); 

Nyní stačí upravit nadpis H3 na ten, který požadujete. Třeba H2. Změnu uložte a můžete se těšit z výsledku.

Umístění uživatelských funkcí do pluginu

Standardní umístění uživatelských funkcí je v souboru functions.php. Nešikovná na tomto postupu je skutečnost, že jsou pak vaše funkce vázány pouze na danou šablonu vzhledu a pro každou jinou šablonu je musíte do functions.php zkopírovat. Šikovnější metoda, umožňující jejich snadnou přenositelnost nezávisle na šablonách vzhledu, je proto umístění těchto funkcí do pluginu.

Vytvoříme si soubor s u s následujícím kódem:

<?php
/**
 * Plugin Name: My Custom Functions
 * Plugin URI: http://yoursite.com
 * Description: Popis funkcionalit
 * Author: Vaše jméno
 * Author URI: http://yoursite.com
 * Version: 0.1.0
 */

// Následuje váš kód s uživatelskými funkcemi

?>

Soubor my-custom-functions.php umístíme do adresáře /wp-content/mu-plugins/ (podadresář /mu-plugins musíme nejprve vytvořit). Veškeré pluginy umístěné v tomto podadresáři se spouští automaticky (mu = must use), není je tedy třeba aktivovat (a nelze je ani deaktivovat či odinstalovat, v seznamu pluginů se zobrazují bez těchto možností).

Chcete-li mít možnost plugin s funkcemi standardně aktivovat, vložíte soubor my-custom-functions.php jako každý jiný plugin do adresáře /wp-content/plugins/.

Zdroj: Creating a custom functions plugin for end users »

How to create your own WordPress functionality plugin »

Shortcode pro přímé zobrazení PDF souboru

Just open functions.php file and put following code in that file.

function pdflink($attr, $content) {
 return '<a href="http://docs.google.com/viewer?url=' . $attr['href'] . '">'.$content.'</a>';
}
add_shortcode('pdf', 'pdflink');

Upload the PDF file to your wordpress and then get the path of PDF file and then put above lines in article. For showing link of PDF file in article or post you need add the following lines in the article.

[pdf href="http://yoursite.com/linktoyour/file.pdf"]View PDF[/pdf]

If you does not want to create PDF link in your site and you want to show the pdf doc in your site then use following code.

function pdfshow($attr, $content) {
        return '<iframe src="https://docs.google.com/gview?url='.$attr['href'] .'&embedded=true" style="width:600px; height:500px;" frameborder="0"></iframe>';
}
add_shortcode('pdfshow', 'pdfshow');

For showing the PDF file in article or post you need add the following lines in the article.

[pdfshow href="http://yoursite.com/linktoyour/file.pdf"]View PDF[/pdf]

Zdroj »

Úprava administračního rozhraní prostřednictvím functions.php

Vlastní logo na nástěnce

// hook the administrative header output
add_action('admin_head', 'my_custom_logo');

function my_custom_logo() {
echo '<style type="text/css">
#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.gif) !important; }
</style>';
}

Změna obsahu patičky

function change_footer_admin () {
echo 'Pohání: <a href="http://www.wordpress.org" target="_blank">WordPress</a> | Vytvořeno: <a href="http://www.ovx.cz" target="_blank">OVX.cz</a>';
    }

add_filter('admin_footer_text', 'change_footer_admin');

Přidání vlastních odkazů

function mytheme_admin_bar_render() {
        global $wp_admin_bar;
        $wp_admin_bar->add_menu( array(
                'parent' => 'new-content', // use 'false' for a root menu, or pass the ID of the parent menu
                'id' => 'new_media', // link ID, defaults to a sanitized title value
                'title' => __('Media'), // link title
                'href' => admin_url( 'media-new.php'), // name of file
                'meta' => false // array of any of the following options: array( 'html' => '', 'class' => '', 'onclick' => '', target => '', title => '' );
        ));
}
add_action( 'wp_before_admin_bar_render', 'mytheme_admin_bar_render' );

Různé úpravy administrační lišty »