Problem with <code> tag

时间:2011-10-12 作者:AndrettiMilas

您可以在哪里看到它:http://themeforward.com/demo2/functional-codes

第一个按钮是我的代码,它应该显示出来。第二个按钮位于<pre><code></pre></code> 标签,向用户显示我是如何使按钮出现的。但不是显示代码,而是生成按钮。

How can I get WordPress\' code tag to work for ALL code? HTML, PHP, and CSS. Something I can paste in my functions would be preferred.

按钮的实际代码(短代码)

[pdf href="http://www.constitution.org/usdeclar.pdf"]Declaration of Independence[/pdf]

4 个回复
最合适的回答,由SO网友:helenhousandi 整理而成

您可以在打开和关闭位置使用两个(或三个)方括号来显示短代码,例如:。

[[[pdf href="http://www.constitution.org/usdeclar.pdf"]Declaration of Independence[/pdf]]]

根据我的经验,一个独立的短代码只需要两个,而一个包装的短代码每端需要三个,尽管我看到它说在任何一种情况下都应该只工作两个。

SO网友:Jeremy Jared

您可以将标记转换为HTML,以便它可以根据需要显示。这方面有一些发电机在线。以下是一个链接:http://web.forret.com/tools/html.asp

只需将代码粘贴到顶部框中,然后单击“转换为HTML”。生成的输出将允许您将其放置在HTML视图中,并显示您想要的内容。

SO网友:Bainternet

我使用一个简单的自定义快捷码返回htmlentities

把这个放在你的函数中。php文件:

add_shortcode(\'better_code\',\'better_code_handler\');
function better_code_handler($attr,$content){
    return htmlentities($content);
}

Usage:

[better_code] 
[pdf href="http://www.constitution.org/usdeclar.pdf"]Declaration of Independence[/pdf]
[/better_code]

SO网友:EarnestoDev

此插件允许您创建Custom Fields 对于任何类型的内容,都可以这样命名mic:name 然后,当你使用{mic:name}[mic:name], 只有在wpautop 这样它就不会被弄脏了(优先级11)

micev:name 工作原理相同(使用{micev:name}[micev:name]) 但在插入内容之前,输出是eval()-ed。小心使用。。。因为它允许实际的PHP代码在帖子中运行。

/*
Plugin Name: [Post] Metas In Content
Description: Enables <code>[mic:MIC_Name]</code> and <code>[micev:MIC_Name]</code> inside content.
Version: 0.0.7
Author: EarnestoDev
Author URI: http://www.earnestodev.com/
*/
// ---------------------------------------------------------- //
class Meta_In_Content{
    public function __construct(){
        register_uninstall_hook(__FILE__, array($this, \'uninstall\'));
        // Run after the WordPress wpautop and such killers of code
        add_filter(\'the_content\', array($this, \'the_content\'), 11);
    }
    public function uninstall(){
        global $wpdb;
        $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE (`meta_key` LIKE \'mic:%\') OR (`meta_key` LIKE \'micev:%\');");
    }
    public function the_content($content){
        global $post, $wpdb; $postID = $post->ID;
        // mic:NAME metas are not eval()-ed before inserted in the content
        $ph_metas = $wpdb->get_col("SELECT DISTINCT(`meta_key`) FROM {$wpdb->postmeta} WHERE `post_id`={$postID} AND `meta_key` LIKE \'mic:%\';");
        foreach($ph_metas as $ph_meta){
        $value = get_post_meta($postID, $ph_meta, true);
        if(!is_string($value)) continue;
            $content = str_replace(array("[{$ph_meta}]", "{{$ph_meta}}") , array($value, $value), $content);
        }
        // micev:NAME metas are eval()-ed before inserted in the content
        $ph_metas = $wpdb->get_col("SELECT DISTINCT(`meta_key`) FROM {$wpdb->postmeta} WHERE `post_id`={$postID} AND `meta_key` LIKE \'micev:%\';");
        foreach($ph_metas as $ph_meta){
        $value = get_post_meta($postID, $ph_meta, true);
            if(!is_string($value)) continue;
            ob_start();
        eval(sprintf(\' ?>%s<?php \', $value));
        $value = ob_get_clean();
            $content = str_replace(array("[{$ph_meta}]", "{{$ph_meta}}") , array($value, $value), $content);
        }
        return $content;
    }
};
// ---------------------------------------------------------- //
// Instantiate the Object once
$Meta_In_Content = new Meta_In_Content();
// ---------------------------------------------------------- //
玩得开心!

只需将其保存在插件中/wp-content/mu-plugins. 要禁用eval()功能,只需从// micev:NAME 返回之前的右侧metas。

结束

相关推荐

Building Gravatar Code

出于SEO原因,我正在为一个主题构建Gravatar代码,基本上不喜欢默认的WordPress Gravatar代码,因为对于每个化身,它会向页面添加一个图像,而没有alt文本,这可能会对SEO产生负面影响。相反,使用图像作为背景图像不会对SEO产生影响。让代码工作,但不要与神秘人或空白设置。查看/wp包括/可插拔。php并在1712行附近发现了问题,这是神秘人代码,基本上使用了一个Gravatar图像(此图像http://0.gravatar.com/avatar/ad516503a11cd5ca435