místní kopie wordpress codex?
<p>někdy chci vyvíjet wordpress témata, když nemám připojení k internetu. potřebuji<strong> <a href="http://codex.wordpress.org/function\_reference/">function reference</a> </strong>a<strong> <a href="http://codex.wordpress.org/template\_tags">template tags</a> </strong>aby bylo produktivní.</p><p>hledal jsem kopii svn<strong> <a href="http://codex.wordpress.org/">codex</a> </strong>, ale nemohl jsem ji najít. nakonec jsem se snažil zrcadlit to pomocí <code>wget</code>, ale výsledky byly skvrnité (je to příliš velké!).</p><p>existuje lepší způsob?</p>
<p>používám mnohem rychlejší a jednodušší způsob, jak vytvořit lokální kopii kodexu bez instalace lokálního serveru a bez instalace kopie mediawiki, nazvané <a href="https://addons.mozilla.org/en-us/firefox/addon/scrapbook/">scrapbook</a> což je rozšíření firefoxu, které vám pomůže ukládat webové stránky a spravovat sbírka. klíčové vlastnosti jsou lehkost, rychlost, přesnost a vícejazyčná podpora.</p><p>pomocí funkce uložit web (in-depth capture) můžete nastavit adresáře, které chcete uložit, což by bylo ve vašem případě <code>function reference</code> a <code>template tags</code></p><p><img src="https://i.stack.imgur.com/kw8p0.jpg" alt="enter image description here"></p><p>můžete také organizovat své sbírky stejně jako záložky, upravovat uložené soubory a zvýrazňovat klíčové části stránek a nejlepší na tom je vestavěné fulltextové vyhledávání.</p>
<p>nejlepší je vytvořit šablonu stránky s následujícím kódem. také se musíte rozhodnout, zda budete používat značku nebo kategorii. níže uvedený kód předpokládá, že používáte kategorii.</p><pre><code>&lt;div class="news"&gt; &lt;?php //the query wp\_query('showposts=5&amp;category\_name=news'); //the loop if ( have\_posts() ) : while ( have\_posts() ) : the\_post(); ?&gt; &lt;h2&gt;&lt;a href="&lt;?php the\_permalink() ?&gt;" rel="bookmark" title="permanent link to &lt;?php the\_title\_attribute(); ?&gt;"&gt;&lt;?php the\_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt; &lt;div class="post\_content"&gt; &lt;?php the\_excerpt(); ?&gt; &lt;/div&gt; &lt;? endwhile; endif; //reset query wp\_reset\_query(); ?&gt; &lt;/div&gt; &lt;div class="events"&gt; &lt;?php //the query wp\_query('showposts=5&amp;category\_name=events'); //the loop if ( have\_posts() ) : while ( have\_posts() ) : the\_post(); ?&gt; &lt;h2&gt;&lt;a href="&lt;?php the\_permalink() ?&gt;" rel="bookmark" title="permanent link to &lt;?php the\_title\_attribute(); ?&gt;"&gt;&lt;?php the\_title(); ?&gt;&lt;/a&gt;&lt;/h2&gt; &lt;div class="post\_content"&gt; &lt;?php the\_excerpt(); ?&gt; &lt;/div&gt; &lt;? endwhile; endif; //reset query wp\_reset\_query(); ?&gt; &lt;/div&gt; </code></pre> <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>je tam <a href="http://wordpress.org/extend/plugins/google-xml-sitemaps-with-multisite-support/">google xml sitemaps s podporou více míst</a> .</p><p>můžete také použít vývojovou verzi původních <a href="http://wordpress.org/support/topic/plugin-google-xml-sitemaps-early-testers-wanted/page/2#post-1721335">souborů google xml sitemaps</a> . zdá se, že pro některé lidi funguje dobře.</p> <p>nevím, jaké konkrétní rozvržení cesty na vašem webovém serveru, ale položky z protokolu chyb se nedívám na mě, že je to konkrétně wordpress související:</p><blockquote> <p>neplatná metoda v požadavku n. n</p> </blockquote><p>tato chyba je způsobena neplatným požadavkem http. každý požadavek http má metodu. určitě to chybělo v požadavku, který vedl k položce protokolu.</p><blockquote> <p>soubor neexistuje:/var/www/vhosts/default/htdocs/tv2</p> </blockquote><p>a <em> soubor neexistuje </em> zpráva není normálně vytvořena, když php skript vrátí 404 záhlaví odpovědí. takže nejvíce jistě, tato chyba nebyla hlášena wordpress, ale server sám. konfigurace mod\_rewrite pro váš blog wordpress byla pravděpodobně nedostupná.</p><blockquote> <p>adresářový index zakázán direktivou options:/var/www/html /</p> </blockquote><p>to mi připadá stejně. pokud je <code>/var/www/html/</code> webroot vašeho blogu, pak to ukazuje, že index.php nebyl nalezen nebo nebyl vyhledán jako index adresáře vaším webovým serverem.</p><hr><p>takže nakonec to vypadá jako webserver konfigurace problém pro mě. trvale přestavba permalinků by zde tehdy nepomohla. pokud si nejste jisti, můžete použít <a href="http://codex.wordpress.org/user:hakre/permafrost">permafrost (wordpress plugin)</a> . související otázka regaring 404 chyb a permalinks je: <a href="https://wordpress.stackexchange.com/questions/3954/single-type-php-not-working-delivering-404">single-type.php nefunguje, dodává 404.</a> </p> <p>z toho, co jsem četl v popisu pluginů, je kompatibilní s wp 2.9.2. vedle toho předpokládám, že z popisu hodně souvisí. proto bych nainstaloval <a href="http://wordpress.org/extend/themes/default">výchozí (wordpress theme)</a> a zkusil, jestli to funguje s tímto motivem. možná to funguje s tímto tématem?</p><p>možná právě narazíte na chybu javascript nebo máte javascript zakázán? zkontrolujte také tyto zdroje chyb, protože je napsáno, že plugin používá ajax, což znamená javascript.</p> <p>zde je kód, který používám vždy, když nastavím nový blog wordpress:</p><p>custom admin footer text</p><pre><code>// customize admin footer text function custom\_admin\_footer() { echo '&lt;a href="http://www.netconstructor.com/"&gt;website design by netconstructor, inc.&lt;/a&gt;'; } add\_filter('admin\_footer\_text', 'custom\_admin\_footer'); </code></pre><p>vymazat verze informací z head krmiv</p><pre><code>// remove version info from the head of feeds function complete\_version\_removal() { return ''; } add\_filter('the\_generator', 'complete\_version\_removal'); </code></pre><p>odstraňte junk z hlavy stránk veřejných stránků</p><pre><code>// remove junk from the header of public website pages remove\_action('wp\_head', 'rsd\_link'); remove\_action('wp\_head', 'wp\_generator'); remove\_action('wp\_head', 'feed\_links', 2); remove\_action('wp\_head', 'index\_rel\_link'); remove\_action('wp\_head', 'wlwmanifest\_link'); remove\_action('wp\_head', 'feed\_links\_extra', 3); remove\_action('wp\_head', 'start\_post\_rel\_link', 10, 0); remove\_action('wp\_head', 'parent\_post\_rel\_link', 10, 0); remove\_action('wp\_head', 'adjacent\_posts\_rel\_link', 10, 0); </code></pre><p>odstranit oznámení o wordpressu pro všechny uživatele except sysadmin</p><pre><code>// remove the wordpress update notification for all users except sysadmin global $user\_login; get\_currentuserinfo(); if ($user\_login !== "sysadmin") { add\_action( 'init', create\_function( '$a', "remove\_action( 'init', 'wp\_version\_check' );" ), 2 ); add\_filter( 'pre\_option\_update\_core', create\_function( '$a', "return null;" ) ); } </code></pre><p>uživatelský admin logos:</p><pre><code>// custom admin login header logo function my\_custom\_login\_logo() { echo '&lt;style type="text/css"&gt; h1 a { background-image:url('.get\_bloginfo('template\_directory').'/images/excitesteps-login-logo.png) !important; } &lt;/style&gt;'; } add\_action('login\_head', 'my\_custom\_login\_logo'); // custom admin logic header logo add\_action('admin\_head', 'my\_custom\_logo'); function my\_custom\_logo() { echo '&lt;style type="text/css"&gt;#header-logo { background-image: url('.get\_bloginfo('template\_directory').'/images/excitesteps-icon.gif) !important; }&lt;/style&gt;'; } // custom admin login header link &amp; alt text function change\_wp\_login\_url() { echo bloginfo('url'); } function change\_wp\_login\_title() { echo get\_option('blogname'); } add\_filter('login\_headerurl', 'change\_wp\_login\_url'); add\_filter('login\_headertitle', 'change\_wp\_login\_title'); </code></pre> <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> <http://mvcsitemap.codeplex.com/> Napsal jsem generickou knihovnu GPG / PGP NPAPI pro použití v prohlížeči, který má veřejné metody pro většinu všechno, včetně rozšifrování a ověření.


Zdrojem plugin se nachází zde: <https://github.com/kylehuff/webpg-npapi>


Plugin je v současné době používá v WebPG rozšíření pro Chrome, zde se nachází: <https://chrome.google.com/webstore/detail/hhaopbphlojhnmbomffjcbnllcenbnih>


A je zdrojem rozšíření je najít zde: <https://github.com/kylehuff/webpg-chrome>


Oba jsou cross-platform pro Windows, Linux a OSX. <p>můžete použít funkci wordpress get\_children. i když si nemyslím, že je to rozdíl, výkon-moudrý.</p><pre><code>&lt;?php while (have\_posts()) : the\_post(); ?&gt; &lt;?php $attachment = array\_values( get\_children( array( 'post\_parent' =&gt; $post-&gt;id, 'post\_type' =&gt; 'attachment', 'post\_mime\_type' =&gt; 'image', 'order' =&gt; 'asc', 'numberposts' =&gt; 1 ) ) ); ?&gt; &lt;div class="searchitem" style="clear:both;"&gt; &lt;h3 id="post-&lt;?php the\_id(); ?&gt;"&gt; &lt;?php if( $attachment ) echo '&lt;img src="' . wp\_get\_attachment\_url($attachment[0]-&gt;id) . '" class="post-attachment" /&gt;'; ?&gt; &lt;a href="&lt;?php the\_permalink() ?&gt;" rel="bookmark" title="permanent link to &lt;?php the\_title\_attribute(); ?&gt;"&gt;&lt;?php the\_title(); ?&gt;&lt;/a&gt;&lt;/h3&gt; &lt;small&gt;&lt;?php the\_time('l, f js, y') ?&gt;&lt;/small&gt; &lt;div class="excerpt"&gt;&lt;?php echo $post-&gt;post\_excerpt; ?&gt;&lt;/div&gt; &lt;div class="postmetadata"&gt;posted in &lt;?php the\_category(', ') ?&gt; | &lt;?php comments\_popup\_link('no comments &amp;#187;', '1 comment &amp;#187;', '% comments &amp;#187;'); ?&gt;&lt;/div&gt; &lt;/div&gt; &lt;?php endwhile; ?&gt; </code></pre>