gpt4 book ai didi

php - 在自制的 wordpress 剧透插件中启用/激活简码

转载 作者:行者123 更新时间:2023-11-28 01:22:22 25 4
gpt4 key购买 nike

shortcodes (ultimate) doen't works within homemade wordpress spoiler

(附言:以上是我问题的初始标题。我已将其改写为更笼统)

我的问题:

我根据 this tutorial 创建了一个自制剧透.它很好用。然而,shortcodes-ultimate 的简码在剧透中不起作用:它只是将其源代码显示为纯文本。

我的问题是如何在剧透中“启用”那些短代码?

示例:Spoiler unfolded


我的代码:

  • WP页面

    [su_button url="http://www.my-url.com/wp-content/uploads/2015/01/fileName.txt" download = "FileName.txt" background="#FF6B53" size="2" icon="icon: download" rel="download = 'fileName'"]download[/su_button]

    [dag_spoiler title="My spoiler"]
    [su_button url="http://www.my-url.com/wp-content/uploads/2015/01/fileName.txt" download = "FileName.txt" background="#FF6B53" size="2" icon="icon: download" rel="download = 'fileName'"]download[/su_button]
    [/dag_spoiler]

    (两个按钮完全相同)

  • 自制剧透简码

PHP代码

<?php
/**
* @package dag_spoiler
* @version 0.1
*/
/*
Plugin Name: ebo Spoiler
Plugin URI: http://designerandgeek.com/dag-spoiler
Description: Spoilers!
Author: ebo ft. Designer and Geek
Version: 0.1
Author URI: http://designerandgeek.com/
*/


/**
* Adds a spoiler shortcode to WordPress.
*
* @return none outputs HTML
*/

function dag_spoiler_func( $atts, $content = null ) {
$default_title = __('Spoiler alert!');
$helptext_show = __('fa-plus');
$helptext_hide = __('fa-minus');
extract( shortcode_atts( array(
'title' => 'Click to show spoiler',
), $atts ) );
$spoiler =
'<div class="dag_spoiler">' .
'<p class="dag_spoiler_header" ' .
'data-dag-spoiler-show="' . $helptext_show .'" '.
'data-dag-spoiler-hide="' . $helptext_hide . '">' . $title . '</p>' .
'<div class="dag_spoiler_content">' .

$content .
'</div>' .
'</div>';

return $spoiler;
}
add_shortcode( 'dag_spoiler', 'dag_spoiler_func' );

/*EOF*/

/**
* Enqueue plugin css and javascript
*/

add_action( 'wp_enqueue_scripts', 'dag_enqueue' );
function dag_enqueue() {
wp_register_style( 'dag-spoiler-style', plugins_url('/ebo-spoiler.css', __FILE__) );
wp_enqueue_style( 'dag-spoiler-style' );
wp_register_script( 'dag-spoiler-js', plugins_url('/ebo-spoiler.js', __FILE__) );
wp_enqueue_script( 'dag-spoiler-js' );
}
add_action( 'wp_enqueue_scripts', 'dag_enqueue' );
?>

JS 源代码

jQuery(document).ready( jQuery(function( $ ) {
$(".dag_spoiler_header").each(function(){
$(this).click( function() {
var help_text_span = $(this).children('span.dag_spoiler_help_text');
$(this).siblings('.dag_spoiler_content').slideToggle( "slow", function() {
help_text_span.html(
help_text_span.html() == '<i class="fa '+hide_text+'"></i>' ? '<i class="fa '+show_text+'"></i>' : '<i class="fa '+hide_text+'"></i>'
);
});
});
var show_text = $(this).attr('data-dag-spoiler-show');
var hide_text = $(this).attr('data-dag-spoiler-hide');
$(this).prepend(' <span class="dag_spoiler_help_text" style="margin-right: 15px; margin-left: 5px; font-size: 14px;"> <i class="fa '+show_text+'"></i></span>');
});
}));

(只是为了详尽)CSS

.dag_spoiler {
margin: .5em 0 .5em 0;
}

.dag_spoiler .dag_spoiler_header {
cursor: pointer;
font-size: 13px;
font-weight: bold;
line-height: 20px;
min-height: 20px;
padding-bottom: 7px;
padding-left: 0;
padding-right: 7px;
padding-top: 7px;
position: relative;
font-weight: bold;
}

.dag_spoiler .dag_spoiler_header::before {
font-family: FontAwesome;
font-weight: normal;
margin-left: 5px;
margin-right: 15px;
}

.dag_spoiler div.dag_spoiler_content {
padding-left: 7%;
padding-right: 7%;
display: none;
}

最佳答案

尝试添加

do_shortcode($content)

在你的剧透短代码中。像这样:

<?php
/**
* @package dag_spoiler
* @version 0.1
*/
/*
Plugin Name: ebo Spoiler
Plugin URI: http://designerandgeek.com/dag-spoiler
Description: Spoilers!
Author: ebo ft. Designer and Geek
Version: 0.1
Author URI: http://designerandgeek.com/
*/


/**
* Adds a spoiler shortcode to WordPress.
*
* @return none outputs HTML
*/

function dag_spoiler_func( $atts, $content = null ) {
$default_title = __('Spoiler alert!');
$helptext_show = __('fa-plus');
$helptext_hide = __('fa-minus');
extract( shortcode_atts( array(
'title' => 'Click to show spoiler',
), $atts ) );
$spoiler =
/*'<style>'.
'.dag_spoiler .dag_spoiler_header::before {'.
'data-dag-spoiler-show="'. $helptext_show .'" '.
'data-dag-spoiler-hide="'. $helptext_hide.'" '.
'}'.
'</style>'.*/
'<div class="dag_spoiler">' .
'<p class="dag_spoiler_header" ' .
'data-dag-spoiler-show="' . $helptext_show .'" '.
'data-dag-spoiler-hide="' . $helptext_hide . '">' . $title . '</p>' .
'<div class="dag_spoiler_content">' .
/*'<p class="dag_spoiler_header">'. $title . '</p>' .
'<div class="dag_spoiler_content">' .*/
do_shortcode($content) .
'</div>' .
'</div>';

return $spoiler;
}
add_shortcode( 'dag_spoiler', 'dag_spoiler_func' );

/*EOF*/

/**
* Enqueue plugin css and javascript
*/

add_action( 'wp_enqueue_scripts', 'dag_enqueue' );
function dag_enqueue() {
wp_register_style( 'dag-spoiler-style', plugins_url('/ebo-spoiler.css', __FILE__) );
wp_enqueue_style( 'dag-spoiler-style' );
/*wp_enqueue_script( 'jquery' );*/
wp_register_script( 'dag-spoiler-js', plugins_url('/ebo-spoiler.js', __FILE__) );
wp_enqueue_script( 'dag-spoiler-js' );
}
add_action( 'wp_enqueue_scripts', 'dag_enqueue' );
?>

关于php - 在自制的 wordpress 剧透插件中启用/激活简码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33474600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com