php 在大多数情况下,创建一个处理WordPress短代码的类是过度的。但是,当您的短代码需要帮助时,它非常方便
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 在大多数情况下,创建一个处理WordPress短代码的类是过度的。但是,当您的短代码需要帮助时,它非常方便相关的知识,希望对你有一定的参考价值。
<?php
/**
* Creating a class to handle a WordPress shortcode is overkill in most cases.
* However, it is extremely handy when your shortcode requires helper functions.
*/
class My_Shortcode {
protected
$atts = array(),
$content = false,
$output = false;
protected static $defaults = array(
'class' => 'default-class',
);
public static function shortcode( $atts, $content ) {
$shortcode = new self( $atts, $content );
return $shortcode->output;
}
private function __construct( $atts, $content ) {
$this->atts = shortcode_atts( self::$defaults, $atts );
$this->content = $content;
$this->init();
}
protected function init() {
if( $this->content ) {
$this->output = $this->html_wrap( $this->content );
}
}
function html_wrap( $content ) {
return '<div class="'. esc_attr( $this->get_att( 'class' ) ) .'">'. $content .'</div>';
}
function get_att( $name ) {
return array_key_exists( $name, $this->atts ) ? $this->atts[$name] : false;
}
}
add_shortcode( 'my_shortcode', array( 'My_Shortcode', 'shortcode' ) );
以上是关于php 在大多数情况下,创建一个处理WordPress短代码的类是过度的。但是,当您的短代码需要帮助时,它非常方便的主要内容,如果未能解决你的问题,请参考以下文章
什么程序用于在 html 上下文中处理 php 文件?
如何在不使用 boost 的情况下创建目录?
Wordpress admin-ajax.php 在没有处理功能的情况下正在死亡“0”
如何在不订阅 Angular 表单提交的情况下创建/更新项目
wordpress 插件是啥意思
我可以在不返回 html 文件的情况下使用 NodeJS 吗?