On the dashboard, there is only a Pages (date) widget that shows “Page Name not defined” for all pages. This is because we only use log importing and Matomo is not smart enough to maintain a URL to Page Title lookup table.
– How can we make it show the actual (URL Parts) Pages from “Behaviour”?
– How can we have multiple graphs for Visitors: last 30 days and last 12 months at the same time?
– Are custom widgets possible?
Thanks
Dennis
]]>I am a complete newbie to web development…
So I wanted to show some air quality data on my new WordPress website. I used [ redundant link removed ] to create the below custom widget code with javascript and tried so many different tutorials and plugins with no success at all.
Below is the widget I’m trying to insert into my page. (xxxxxxxxxx part is my key)
<div name="airvisual_widget" key="xxxxxxxxxxxxxxxxxxxxxxxx"></div>
<script type="text/javascript" src="https://cdn.airvisual.net/assets/widgets/widget_v3.0.js"></script>
iqair website says that;
“Your widget is ready
Your widget have been successfully created. Copy the code below on any website you want to display the widget.”
LOL But this seems really really difficult. Can someone help me out, please? How can I do this, please?
]]>The left hand panel displays nothing. Tried removing all other plugins, re-installed both etc etc. the only solution is to revert back to Elementor 3.0.1 or not activate Pro then it all works OK. Pro can be on the latest version by the way.
I need to use Pro for my site so have to have that active.
3.0.2 must have changed something relating to custom widgets, any ideas?
Thanks very much, Ian
]]> <?php
class __themename_Most_recent_widget extends WP_Widget{
/*
* The constructor is what allows us to print the Title and the description for the widget
* The parent contructor receives three arguments: widget name, the Title( which
receives the title and the themename), the description(an array)
*
*/
/********************* PROPERTY ********************/
private $dayLabels = array("Mon","Tue","Wed","Thu","Fri","Sat","Sun");
private $currentYear=0;
private $currentMonth=0;
private $currentDay=0;
private $currentDate=null;
private $daysInMonth=0;
private $naviHref= null;
public function __construct(){
parent::__construct(
'_themename_most_recent_widget',
esc_html__('Recent Posts', '_themename'),
['description' => esc_html__('some description', '_themename')]
);
}
/*
* This is what gets printed in the front-end
*
*/
public function widget($args, $instance){
echo $this->show();
}
/********************* PUBLIC **********************/
/**
* print out the calendar
*/
public function show() {
$year == null;
$month == null;
if(null==$year&&isset($_GET['year'])){
$year = $_GET['year'];
}else if(null==$year){
$year = date("Y",time());
}
if( null == $month && isset($_GET['month']) ){
$month = $_GET['month'];
} elseif ( null==$month ) {
$month = date("m",time());
}
$this->currentYear=$year;
$this->currentMonth=$month;
$this->daysInMonth=$this->_daysInMonth($month,$year);
$content='<div id="calendar">'.
'<div class="box">'.
$this->_createNavi().
'</div>'.
'<div class="box-content">'.
'<ul class="label">'.$this->_createLabels().'</ul>';
$content.='<div class="clear"></div>';
$content.='<ul class="dates">';
$weeksInMonth = $this->_weeksInMonth($month,$year);
// Create weeks in a month
for( $i=0; $i<$weeksInMonth; $i++ ){
//Create days in a week
for($j=1;$j<=7;$j++){
$content.=$this->_showDay($i*7+$j);
}
}
$content.='</ul>';
$content.='<div class="clear"></div>';
$content.='</div>';
$content.='</div>';
return $content;
}
/********************* PRIVATE **********************/
/**
* create the li element for ul
*/
private function _showDay($cellNumber){
if($this->currentDay==0){
$firstDayOfTheWeek = date('N',strtotime($this->currentYear.'-'.$this->currentMonth.'-01'));
if(intval($cellNumber) == intval($firstDayOfTheWeek)){
$this->currentDay=1;
}
}
if( ($this->currentDay!=0)&&($this->currentDay<=$this->daysInMonth) ){
$this->currentDate = date('Y-m-d',strtotime($this->currentYear.'-'.$this->currentMonth.'-'.($this->currentDay)));
$cellContent = $this->currentDay;
$this->currentDay++;
}else{
$this->currentDate =null;
$cellContent=null;
}
$args = [
'post_type' => 'post',
'category_name' => 'events'
];
$query = new WP_Query( $args );
var_dump($currentDate);
/*if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
return '<li id="li-'.$this->currentDate.'" class="'.($cellNumber%7==1?' start ':($cellNumber%7==0?' end ':' ')).
($cellContent==null?'mask':'').'"><a href="'. get_the_permalink() .'">'.$cellContent.'</a></li>';
}
} else {
return '<li id="li-'.$this->currentDate.'" class="'.($cellNumber%7==1?' start ':($cellNumber%7==0?' end ':' ')).
($cellContent==null?'mask':'').'">'.$cellContent.'</li>';
wp_reset_postdata();}*/
return '<li id="li-'.$this->currentDate.'" class="'.($cellNumber%7==1?' start ':($cellNumber%7==0?' end ':' ')).
($cellContent==null?'mask':'').'">'.$cellContent.'</li>';
}
/**
* create navigation
*/
private function _createNavi(){
$nextMonth = $this->currentMonth==12?1:intval($this->currentMonth)+1;
$nextYear = $this->currentMonth==12?intval($this->currentYear)+1:$this->currentYear;
$preMonth = $this->currentMonth==1?12:intval($this->currentMonth)-1;
$preYear = $this->currentMonth==1?intval($this->currentYear)-1:$this->currentYear;
return
'<div class="header">'.
'<a>naviHref.'?month='.sprintf('%02d',$preMonth).'&year='.$preYear.'">Prev</a>'.
'<span class="title">'.date('Y M',strtotime($this->currentYear.'-'.$this->currentMonth.'-1')).'</span>'.
'<a>naviHref.'?month='.sprintf("%02d", $nextMonth).'&year='.$nextYear.'">Next</a>'.
'</div>';
}
/**
* create calendar week labels
*/
private function _createLabels(){
$content='';
foreach($this->dayLabels as $index=>$label){
$content.='<li class="'.($label==6?'end title':'start title').' title">'.$label.'</li>';
}
return $content;
}
/**
* calculate number of weeks in a particular month
*/
private function _weeksInMonth($month=null,$year=null){
if( null==($year) ) {
$year = date("Y",time());
}
if(null==($month)) {
$month = date("m",time());
}
// find number of days in this month
$daysInMonths = $this->_daysInMonth($month,$year);
$numOfweeks = ($daysInMonths%7==0?0:1) + intval($daysInMonths/7);
$monthEndingDay= date('N',strtotime($year.'-'.$month.'-'.$daysInMonths));
$monthStartDay = date('N',strtotime($year.'-'.$month.'-01'));
if($monthEndingDay<$monthStartDay){
$numOfweeks++;
}
return $numOfweeks;
}
/**
* calculate number of days in a particular month
*/
private function _daysInMonth($month=null,$year=null){
if(null==($year))
$year = date("Y",time());
if(null==($month))
$month = date("m",time());
return date('t',strtotime($year.'-'.$month.'-01'));
}
}
function __themename_register_most_recent_widget(){
register_widget('__themename_Most_recent_widget');
}
add_action('widgets_init', '__themename_register_most_recent_widget');
What I want is the following:
For each day of the month, It should check if there is a post on that specific day that belongs to the events category. If there is one, then that day must be hyperlinked with the post permalink.
How can I achieve this?
I attempted to add the loop inside the __showDay function but it hyperlinked all the days with the link of the same post.
private function _showDay($cellNumber){
if($this->currentDay==0){
$firstDayOfTheWeek = date('N',strtotime($this->currentYear.'-'.$this->currentMonth.'-01'));
if(intval($cellNumber) == intval($firstDayOfTheWeek)){
$this->currentDay=1;
}
}
if( ($this->currentDay!=0)&&($this->currentDay<=$this->daysInMonth) ){
$this->currentDate = date('Y-m-d',strtotime($this->currentYear.'-'.$this->currentMonth.'-'.($this->currentDay)));
$cellContent = $this->currentDay;
$this->currentDay++;
}else{
$this->currentDate =null;
$cellContent=null;
}
$args = [
'post_type' => 'post',
'category_name' => 'events'
];
$query = new WP_Query( $args );
var_dump($currentDate);
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
return '<li id="li-'.$this->currentDate.'" class="'.($cellNumber%7==1?' start ':($cellNumber%7==0?' end ':' ')).
($cellContent==null?'mask':'').'"><a href="'. get_the_permalink() .'">'.$cellContent.'</a></li>';
}
} else {
return '<li id="li-'.$this->currentDate.'" class="'.($cellNumber%7==1?' start ':($cellNumber%7==0?' end ':' ')).
($cellContent==null?'mask':'').'">'.$cellContent.'</li>';
}
wp_reset_postdata();
($cellContent==null?'mask':'').'">'.$cellContent.'</li>';
}
]]>We use Malayalam Language (regional language) in the website and when we give excerpt, each widget appears in different levels. Even though we keep a standard ‘number of posts’ and excerpt word limit, it appears to be in different levels. And it destroys all professional appearance!
1- Is there any way to fix the widgets and the posts comes under it to a particular area – that is like squeezing it to a limited/allotted area?
2- Also, we are not able to add the authors name in post. how to do it?
3- It will be great to have a master slider in the top – as we have in MH Magazine theme- is there any posibilty of getting that widget in MH News Desk?
Thanks
Maktoob Team