未定义的变量 & 试图在将按钮添加到图像功能时获取非对象的属性
Posted
技术标签:
【中文标题】未定义的变量 & 试图在将按钮添加到图像功能时获取非对象的属性【英文标题】:Undefined variable & Trying to get property of non-object on prepend button to images Function 【发布时间】:2018-07-19 12:54:08 【问题描述】:我在我的单篇文章中为我的 Wordpress 图片添加了一个按钮,以便在 Pinterest 上分享图片。到目前为止,该功能运行良好,但我收到以下通知。
注意:未定义变量:在 ...functions.php 上发布 第 2443 行通知:试图获取的属性 第 2443 行 /functions.php 中的非对象
通知中提到的那一行是以$(this).prepend(..
开头的那一行
知道如何解决这个问题吗?
使用功能:
<?php if ( is_single() ) : ?>
<script type="text/javascript">
jQuery(document).ready(function($)
$('figure').prepend(function()
var pinurl = $(this).children('img').attr('data-original'); // with lazy load
// var pinurl = $(this).children('img').attr('src'); // default
$(this).prepend( '<a class="share-pinterest-btn" title="Pinterest" rel="nofollow" target="_blank" href="https://www.pinterest.com/pin/create/bookmarklet/?url=<?php echo urlencode(get_permalink($post->ID)); ?>&media='+pinurl+'&is_video=false&description=<?php echo urlencode(get_the_excerpt()); ?>" onclick="window.open(this.href, \'mywin\',\'left=50,top=50,width=600,height=350,toolbar=0\'); return false;">Pin it</a>');
);
);
</script>
<?php else : ?>
// something else
<?php endif; ?>
html 看起来像:
<figure id="post-881 media-881" class="align-none"><img data-original="http://teststestests.com/wp-content/uploads/2017/1.jpg" class="loaded" src="http://teststestests.com/wp-content/uploads/2017/1.jpg"></figure>
【问题讨论】:
那么你在哪里定义了$post
对象?
我试图将global $post;
放入函数中 - 但没有运气。如果您的意思是别的 - 不幸的是我无法修复它 - 仍在阅读 wordpress 文档
【参考方案1】:
<?php
if(is_single()) :
global $post;
?>
然后是你的 javascript 代码
【讨论】:
完美 - 非常感谢!我已经将global $post;
放在了函数中,但没有运气:)以上是关于未定义的变量 & 试图在将按钮添加到图像功能时获取非对象的属性的主要内容,如果未能解决你的问题,请参考以下文章
将图像添加到 Joomla JToolBar 自定义链接按钮
UIButton 的 title 属性正确记录但在将按钮添加为子视图时未显示