我在functions.php 文件中添加了以下过滤器:
add_filter('widget_text', 'do_shortcode');
Run Code Online (Sandbox Code Playgroud)
这已按预期在我的小部件中启用了短代码。
但是,短代码的内容现在显示在标题上方。我究竟做错了什么?
这就是我通过短代码呼应的内容:
$events_msg = '<div>You have attended <br> <span class="big-num">'. $num_actual_events . '</span> / ' . $num_total_events . ' ' . $event_type . '</br>('. $num_required_events.' required)<br><br></div>';
echo $events_msg;
Run Code Online (Sandbox Code Playgroud) 我尝试了 wordpress 堆栈,但没有运气,所以我想在这里尝试......
所以我试图在我的页面之一上显示默认 WordPress 登录表单的工作版本。在functions.php 文件中有一段代码可以创建短代码,据我所知它可以成功工作,但是提交表单后,它只是刷新页面并且不会重定向到我指定的网址...任何人都可以看看为什么它可能无法正常工作?
这是我放入functions.php 文件中的函数:
//Login form Shortcode
add_shortcode( 'login-form', 'my_login_form_shortcode' );
/**
* Displays a login form.
*
* @since 0.1.0
* @uses wp_login_form() Displays the login form.
*/
function my_login_form_shortcode( $atts, $content = null ) {
$defaults = array( "redirect" => site_url( $_SERVER['REQUEST_URI'] )
);
extract(shortcode_atts($defaults, $atts));
if (!is_user_logged_in()) {
$content = wp_login_form( array( 'echo' => false, 'redirect' => $redirect ) );
}
return $content;
}
Run Code Online (Sandbox Code Playgroud)
然后我将其放置在所需的页面中,如下所示:
[login-form redirect="https://myurl.com"]
Run Code Online (Sandbox Code Playgroud)
但它不是将我重定向到正确的页面,而是刷新页面,即使我现在已成功登录......有什么想法吗?
似乎 WordPress 无缘无故地创建了空的 p 标签。我通常通过删除所有空白来纠正这个问题 - 因为空白似乎被解释为“P TAG HERE!PLACE AP TAG HERE”。
这是我关心的 WordPress 仪表板内容:
[block]<p>This is a test</p>[/block]
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,没有空格。
这是同一段 html 的 HTML 表示形式。
<div class="block sidebar">
<p>This is a test</p>
<p></p></div>
Run Code Online (Sandbox Code Playgroud)
看到那<p></p>无缘无故的那一秒了吗?
有人可以告诉我为什么会发生这种情况以及我如何(如果有的话)纠正这种情况?
我也创建了该短代码[block],并在其他页面上使用它,没有出现此问题。所以它似乎是特定于页面的(因为这是有道理的..不是)。
很感谢任何形式的帮助。如有必要,我可以提供该页面的链接。让我知道。
仪表板的外观:
我有一个关于将 Woocommerce 优惠券字段插入任何页面所需的小项目,但这对我来说似乎很复杂。我在谷歌上搜索过这个,但没有任何关于这个的资源。找到这个关于插入字段的代码。
将此代码插入到文本块中:
<div class="redeem-coupon">
<form id="ajax-coupon-redeem">
<p>
<input type="text" name="coupon" id="coupon"/>
<input type="submit" name="redeem-coupon" value="Redeem Offer" />
</p>
<p class="result"></p>
</form><!-- #ajax-coupon-redeem -->
Run Code Online (Sandbox Code Playgroud)
这会生成表单,但没有其他代码可以将其处理到页面中?
是否可以通过短代码或其他方式生成?
我正在尝试生成可用优惠券列表并使用短代码显示它们。我希望使用 SQL 而不是“”生成列表,-1因为据我了解,这对数据库来说更重。
我得到的错误是这样的:Notice: Array to string conversion
add_shortcode('ac', 'coupon_list' );
function coupon_list() {
// array for coupons, was hoping for a sql query instead but don't know how
$args = array(
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'asc',
'post_type' => 'shop_coupon',
'post_status' => 'publish',
);
$coupons = get_posts( $args );
$coupon_names = array();
foreach ( $coupons as $coupon ) {
$coupon_name = $coupon->post_title;
array_push( $coupon_names, $coupon_name );
}
// display all available coupons on …Run Code Online (Sandbox Code Playgroud) 在下面的短代码中,get_the_title()显示在*和#字符之间,如预期的那样.但是the_time()始终显示在页面顶部而不是内容中.为什么the_time()会这样做?
有没有办法让帖子时间出现在内容中?
function get_recent_posts3() {
$args = array('cat' => 8, 'posts_per_page' => '2');
$the_query = new WP_Query( $args );
$postcontent = '';
while ( $the_query->have_posts() ) :
$the_query->the_post();
$timestamp = '**<br>'.get_the_title().'##'.the_time('F j, Y').'<br>**';
$postcontent = $postcontent.$timestamp;
endwhile;
return $postcontent;
wp_reset_postdata();
}
add_shortcode('getrecentposts3', 'get_recent_posts3');
Run Code Online (Sandbox Code Playgroud)
输出:
March 12, 2013March 3, 2013 **
Second Post Title##
****
First Post Title##
**
Run Code Online (Sandbox Code Playgroud)
将'cat'=> 8替换为有效的类别ID以运行代码.
所以我在这个网站上工作,我正在使用woocommerce插件.该插件工作正常,我可以添加到我的购物车的唯一问题是我无法查看我的购物车.我添加的图像显示了我的"购物车"页面,您可以看到它只是显示短代码.
http://gyazo.com/f0710eeb2fd63643bb74607988559e02
我不知道它为什么不工作:(
我有一个需要动态的邮件模板(在laravel刀片中)(所以它应该保存在我认为的数据库中).这是registration_complete.blade.php:
<html>
<body>
{{$dynamic_content_from_database}}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
$ dynamic_content_from_database值来自我使用的WYSIWYG.这是我工作的管理:

我需要找到一种方法,管理员用户可以使用变量内部或短代码来管理模板的内容.就像在WordPress中一样,他们使用短代码将动态值放入内容中.我尝试回显$ dynamic_content_from_database.但它只是回应了[username]字符串.我试图搜索网络,但我没有运气.顺便说一句,我使用了laravel 4.2.这个表格是在成功注册后发送的.
我正在为店面主题开发一个子主题。我使用产品类别小部件作为标题下的下拉菜单,这完全符合我的需求,尽管我需要相同的(如果可能)下拉菜单显示在每个类别页面上,而不仅仅是主页。
我正在自定义这段代码,几乎可以做到:
/**
* WooCommerce Extra Feature
* --------------------------
*
* Register a shortcode that creates a product categories dropdown list
*
* Use: [product_categories_dropdown orderby="title" count="0" hierarchical="0"]
*/
add_shortcode( 'product_categories_dropdown', 'woo_product_categories_dropdown' );
function woo_product_categories_dropdown( $atts ) {
extract( shortcode_atts(array(
'count' => '0',
'hierarchical' => '0',
'orderby' => ''
), $atts ) );
ob_start();
// Stuck with this until a fix for http://core.trac.wordpress.org/ticket/13258
wc_product_dropdown_categories( array(
'orderby' => ! empty( $orderby ) ? $orderby : 'order',
'hierarchical' => $hierarchical, …Run Code Online (Sandbox Code Playgroud) 是否有人可以创建用于列出所有产品名称的简码的功能?不需要图像,链接,描述,排序-只需一个简单的模板即可。
<ul>
<li>ProductName1</li>
<li>ProductName2</li>
...
<li>ProductNameN</li>
</ul>
Run Code Online (Sandbox Code Playgroud) shortcode ×10
wordpress ×9
php ×6
woocommerce ×5
coupon ×2
categories ×1
laravel ×1
laravel-4 ×1
product ×1