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

/—code php
/*
* 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:

/—code php
$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 »“:http://alex.leonard.ie/2011/04/20/wordpress-get-id-of-top-level-parent-category/

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_buttons1' => 'p, bold, italic, ul, |,link,unlink,code',
			'theme_advanced_buttons2' => '',
			'theme_advanced_buttons3' => '',
			'theme_advanced_buttons4' => '',
		),
	);

	public function __construct() {
		add_action('show_user_profile', array($this, 'initDescriptionWysywig'));
		add_action('edit_user_profile', array($this, 'initDescriptionWysywig'));
	}

	/**
	 * Wysywig editor take pro description
	 *
	 * @param $options
	 */
	public function initDescriptionWysywig($options) {
		if ( ! class_exists('_WP_Editors' ) )
			require_once( ABSPATH . WPINC . '/class-wp-editor.php' );

		$options = _WP_Editors::parse_settings('description', $this->tinymceOptions);
		_WP_Editors::editor_settings('description', $options);
		wp_print_styles('editor-buttons');
	}

}
new CustomUserProfile();

#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:

/—code php

\—

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 »“:http://justintadlock.com/archives/2011/02/02/creating-a-custom-functions-plugin-for-end-users

„How to create your own WordPress functionality plugin »“:http://wpcandy.com/teaches/how-to-create-a-functionality-plugin

Shortcode pro přímé zobrazení PDF souboru

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

/—code php
function pdflink($attr, $content) {
return ‚‚.$content.‘‚;
}
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.

/—code php
[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.

/—code php
function pdfshow($attr, $content) {
return ‚‚;
}
add_shortcode(‚pdfshow‘, ‚pdfshow‘);
\—

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

/—code php
[pdfshow href=“http://yoursite.com/linktoyour/file.pdf“]View PDF[/pdf]
\—

„Zdroj »“:http://wordpressapi.com/2011/01/18/show-pdf-file-wordpress-blog-site/

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

**Vlastní logo na nástěnce**

/—code php
// hook the administrative header output
add_action(‚admin_head‘, ‚my_custom_logo‘);

function my_custom_logo() {
echo ‚

‚;
}
\—

**Změna obsahu patičky**

/—code php
function change_footer_admin () {
echo ‚Pohání: WordPress | Vytvořeno: OVX.cz‚;
}

add_filter(‚admin_footer_text‘, ‚change_footer_admin‘);
\—

**Přidání vlastních odkazů**

/—code php
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 »“:http://digwp.com/2011/04/admin-bar-tricks/