vytvoření widgetu „prezentovatelný“ / filtrovaný na twitteru
<p>chtěl bych zahrnout podskupinu tweetů, které vytvářím na svém profesionálním webu pro vývoj webových aplikací.</p><p>nyní twitter nabízí dva použitelné widgety: widget profilu a widget widget vyhledávání</p><p>widget profilu bohužel zobrazuje vše, co jsem tweet (včetně mimoburzovních tweetů, které na svém webu nechci zobrazit).</p><p>na druhé straně, widget pro vyhledávání obecně ukazuje pouze tweety, které jsem udělal za posledních 24 hodin, a zjevně nehledá příliš daleko.</p><p>zde je příklad widgetu vyhledávání v akci na mém webu: <a href="http://royronalds.com/log.html">http://royronalds.com/log.html</a> (zobrazuje pouze jednu shodu toho, co by mělo být mnoho, protože to je jediná poslední shoda).</p><p>a tady jsou widgety: <a href="http://twitter.com/widgets">http://twitter.com/widgets</a> </p><p>existuje nějaký způsob, jak vytvořit widget filtrovaný podle témat a zobrazit pouze tweety podle témat?</p>
<p>můžete použít rss kanál z twitteru, ukládat záznamy do databáze (překročit limit 24/72 hodin) a použít #hashtag nebo podobný, u kterého můžete zkontrolovat, zda má být zveřejněn.</p><p>jak často kontrolujete zdroj, jak vyčistíte položky databáze a kolik # hashagů používáte, záleží na vás a kolik času máte.</p>
<p>rozhraní api <a href="http://codex.wordpress.org/widgets\_api#developing\_widgets\_on\_2.8.2b">widgetů</a> je nejrychlejší způsob, jak vytvořit widget, který lze znovu použít. příklad použití:</p><pre><code>class my\_widget extends wp\_widget { /** * php4 constructor */ function my\_widget() { my\_widget::\_\_construct(); } /** * php5 constructor */ function \_\_construct() { // actual widget processes } /** * echo the settings update form * * @param array $instance current settings */ function form($instance) { // outputs the options form on admin } /** * update a particular instance * * @param array $new\_instance new settings for this instance as input by the user via form() * @param array $old\_instance old settings for this instance * @return array settings to save or bool (false) to cancel saving */ function update($new\_instance, $old\_instance) { // processes widget options to be saved } /** * echo the widget content * * @param array $args display arguments including before\_title, after\_title, before\_widget, and after\_widget * @param array $instance the settings for the particular instance of this widget */ function widget($args, $instance) { // outputs the content of the widget } } register\_widget('my\_widget'); </code></pre> <p>jednoduchým způsobem by bylo nastavit nějakou globální proměnnou na prvním spuštění widgetu a zkontrolovat ji. není-li již nastavena žádná nebo informační zpráva.</p><p>správným způsobem by pravděpodobně bylo pracovat s rozhraním a odstranit widget z dostupných, když ho přidáte do postranního panelu, ale to je cesta z mé ligy.</p> Vestavěný, nic. Ale psát něco sám je snadné.


Zkuste má proces, který dotazuje svůj katalog zpráv pro ty, které jsou starší než půl hodiny (nebo tak nějak). Dalo by se dokonce připojit k ReportServerTempDB aby zjistili, zda mají stále aktivní relace (v takovém případě je budete ignorovat trochu déle).


Poté, co jste je našli, je to snadné chytit, které pomocí rozhraní webových služeb a jejich odstranění z katalogu.


Ale ... Já bych vlastně se podívat na lepší způsob, jak poskytnout vlastní filtr, pomocí kódu. Jistě byste mohli poskytnout filtr jako parametr, a použít kód VB v rámci zprávy převést to, co uživatel zadá do něčeho, který by mohl být vyhodnocen pro každý řádek.


Okrást vratit zpet tezko (leda nekdo z Facebooku), ale jde v danem panelu nastavit, aby se zobrazovali jen vybrani ldie, zbytek jde skryt Museli byste jej procházet zcela hledat každou stránku pro jedinečné spojení v rámci webu a pak dát je do indexu.


Také pro každého odkazu najdete v rámci webu, pak je třeba navštívit tuto stránku a hledat další jedinečné spojení.


Byste použít nástroj, jako je HtmlAgilityPack snadno uchopit URL a extrahovat odkazy z nich.


Napsal jsem článek, který se dotýká na těžbu odkazy součást problému:


* <http://runtingsproper.blogspot.com/2009/11/easily-extracting-links-from-snippet-of.html> Jestli tvoje video není tajné dej sem na něj odkaz (stačí když vyrenderuješ jen krátký, několikaminutový úryvek) a také odkaz na některé "kvalitní". Takto to je jen akademická debata o ničem. <p>doporučuji pro to použít vlastní taxonomii <em> ne </em> vlastní pole. archivy můžete třídit a zobrazovat na základě taxonomie mnohem snadněji než u vlastních polí.</p><p>pokud však chcete seznam na základě vlastního pole, budete muset upravit argumenty odeslané na stránku <code>query\_posts()</code> na stránce archivu a předat je v souboru <code>meta\_key</code> a <code>meta\_value</code>, které hledáte.</p><p>přidání proměnné dotazu:</p><pre><code>add\_action('init', 'add\_custom\_meta\_url'); function add\_custom\_meta\_url() { global $wp,$wp\_rewrite; $wp-&gt;add\_query\_var('location'); $wp\_rewrite-&gt;add\_rule('location/([^/]+)','index.php?location=$matches[1]','top'); $wp\_rewrite-&gt;flush\_rules(false); // this should really be done in a plugin activation } </code></pre><p>pak se vaše permalinks pro archiv stane něčím v souladu s <code>http://mycoollocationsite.com/location/england</code> <code>http://mycoollocationsite.com/location/ireland</code> <code>http://mycoollocationsite.com/location/usa</code> ... atd ...</p><p>dále budete muset přidat libovolnou hodnotu, která byla do vašeho umístění předána aktuálnímu dotazu:</p><pre><code>add\_action('parse\_query', 'apply\_custom\_meta\_to\_query'); function apply\_custom\_meta\_to\_query(&amp;$query) { if (isset($query-&gt;query['location'])) { $query-&gt;query\_vars['meta\_key'] = 'location'; $query-&gt;query\_vars['meta\_value'] = $query-&gt;query['location']; unset($query-&gt;query\_vars['location']); // you don't need this } } </code></pre><p>předpokládám, že ukládáte vlastní data do pole nazvaného <code>location</code> ... takže změňte, pokud se mýlím.</p><p>to vám však umožní filtrovat archivy na základě konkrétního umístění. pokud chcete tímto způsobem povolit archivy založené na datech, které budou vyžadovat některá další pravidla v mém prvním bloku kódu (právě teď by se zobrazil seznam <em> všech </em> příspěvky s <code>location</code> meta\_key).</p><p>místo toho doporučuji použít vlastní taxonomii. je to čistší, rozšiřitelnější a vyžaduje méně vlastního kódování. to je také přesně ta situace, pro kterou byly vytvořeny vlastní taxonomie ... tak prosím, neobjevujte kolo ...</p> <blockquote> <p>existuje lepší způsob, jak toho dosáhnout pomocí vlastních taxonomií?</p> </blockquote><p>máte pravdu na těch penězích. namísto pokusu o vytvoření vlastního příspěvku do dítěte standardního příspěvku (protože nemůžete) doporučuji použít vlastní taxonomii k objednání věcí.</p><p>v zásadě můžete vytvořit vlastní hierarchickou taxonomii a použít ji k "kategorizaci" standardních příspěvků i vlastních příspěvků. vaše standardní příspěvky byste označili jako nadřazené v taxonomii a své vlastní příspěvky jako dítě.</p><h3>druhá možnost</h3><p>další možností by bylo použití vlastního pole pro rodičovské dědictví. to by mohlo být o něco rychlejší, než aby kód a intuitivnější k použití (plus to vám dá nějaké přidané ovládání).</p><p>přidejte vlastní pole meta do vlastního typu příspěvku nazvaného "rodiče". to pak může být seznam id příspěvků, které by měl být podřízený příspěvek vnořen. pokud potřebujete seznam vyvolat, můžete provést rychlý dotaz na <code>select</code> všechny vaše vlastní příspěvky, které mají rodičovský identifikátor v seznamu svých rodičů.</p> <p>našel jsem odpověď <a href="http://www.studiograsshopper.ch/code-snippets/dynamic-category-menu-highlighting-for-single-posts/">zde</a> .<br> přidat k function.php následující funkci a háček:</p><pre><code>function sgr\_show\_current\_cat\_on\_single($output) { global $post; if( is\_single() ) { $categories = wp\_get\_post\_categories($post-&gt;id); foreach( $categories as $catid ) { $cat = get\_category($catid); // find cat-item-id in the string if(preg\_match('#cat-item-' . $cat-&gt;cat\_id . '#', $output)) { $output = str\_replace('cat-item-'.$cat-&gt;cat\_id, 'cat-item-'.$cat-&gt;cat\_id . ' current-cat', $output); } } } return $output; } add\_filter('wp\_list\_categories', 'sgr\_show\_current\_cat\_on\_single'); </code></pre> <p>po nějaké zkoušce a omylu to je to, co je potřeba, aby to fungovalo ...</p><pre><code> $cat\_args = array('orderby' =&gt; 'count'); $cat\_args['title\_li'] = ''; $cat\_args['exclude\_tree'] = 1; $cat\_args['exclude'] = 1; $cat\_args['depth'] = 1; wp\_list\_categories(apply\_filters('widget\_categories\_args', $cat\_args)); </code></pre>