如何:我如何在没有插件的情况下制作自己的短码?

时间:2020-04-28 作者:Nate

如何添加没有插件的短代码?我将添加一个短代码,用于计算页面上的浏览次数。

3 个回复
最合适的回答,由SO网友:Tony Djukic 整理而成

您可能需要对此进行一点修改,以确保将内容放置在您想要的位置,但我写了一篇文章,它可以计算视图posts 并显示管理员的视图计数:

    //ADD TRACKER FUNCTION TO ALL SINGLE VIEWS
    function custom_hook_tracker( $post_id ) {
        if( !is_single() ) return;
        if( empty( $post_id ) ) {
            global $post;
            $post_id = $post->ID;
        }
        custom_track_post_views( $post_id );
    }
    add_action( \'wp_head\', \'custom_hook_tracker\' );

    //ADD VIEW TRACKER
    function custom_track_post_views( $postID ) {
        $count_key  = \'custom_view_count\';
        $count      = get_post_meta( $postID, $count_key, true );
        if( $count==\'\' ) {
            $count = 0;
            delete_post_meta( $postID, $count_key );
            add_post_meta( $postID, $count_key, \'0\' );
        } else {
            $count++;
            update_post_meta( $postID, $count_key, $count );
        }
        //REMOVE THIS LINE IF YOU USE THE TEMPLATE TAG
        if( is_single() && current_user_can( \'administrator\' ) ) { //remove or adjust the \'&& current_user_can( \'administrator\' )\' to modify who CAN see the counts
            //ALSO REMOVE THIS LINE IF YOU USE THE TEMPLATE TAG
            echo \'<div style="position:absolute;top:2.75rem;width:auto;display:block;float:left;background:#FFF;border-radius:4px;box-shadow:#333 1px 1px 4px;padding:0.25rem 0.5rem;margin-left:-5px;color:#777;"><small>Views: \'.$count.\'</small></div>\';
        }
    }
    //REMOVE PRE-FETCHING TO KEEP COUNTS ACCURATE
    remove_action( \'wp_head\', \'adjacent_posts_rel_link_wp_head\', 10, 0);
好吧,我不能就这样离开它-这是模板标签:

function custom_view_counts() {
  $count_key    = \'custom_view_count\';
  $count        = get_post_meta( $postID, $count_key, true );
  echo \'<div class="view-tracker"><small>Views: \'.$count.\'</small></div>\';
}
然后,要显示它,请将其精确地放置在主题文件中您希望它显示的位置:<?php custom_view_counts() ;?>

您需要编写css来处理/设置样式/针对.view-tracker 类别/部门。

您基本上可以构建自己的插件,或者将以上所有内容都放到您的函数中。php。

SO网友:Drmzindec

WordPress Codex上有一个完整的部分:Shortcode API

[foobar]

function foobar_func( $atts ){
    return "foo and bar";
}
add_shortcode( \'foobar\', \'foobar_func\' );
具有属性:

[bartag foo=“foo value”]

function bartag_func( $atts ) {
    $a = shortcode_atts( array(
        \'foo\' => \'something\',
        \'bar\' => \'something else\',
    ), $atts );

    return "foo = {$a[\'foo\']}";
}
add_shortcode( \'bartag\', \'bartag_func\' );

SO网友:cssler

请查看官方的WordPress短码API。您可以轻松创建自定义短代码,无需任何插件。

Code Example:

// HOW TO EMBED         
// Shortcode: [new_shortcode]          

function create_newshortcode_shortcode() {
 // Do whatever you want          
}         
add_shortcode( \'new_shortcode\', \'create_newshortcode_shortcode\' );
您可以帮助的链接:

https://codex.wordpress.org/Shortcode_API

https://app.wp-monkey.com/generators/shortcode-generator

相关推荐

Custom Post type shortcodes

我使用高级自定义字段在我的主题中创建自定义帖子类型(功能)。我想知道如何创建自定义帖子类型的短代码。因此,我只使用任何页面的自定义帖子类型的短代码来显示我在自定义帖子类型(功能)中添加的信息。