Wie kan mij helpen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een gewaardeerde werkgever in regio Oosterhout zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je brengt de aanpassingssuggesties van klanten in kaart, om

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Front-end Developer - React - Data Driven

Bedrijfsomschrijving Onze klant is een snelgroeiende organisatie die een data-driven inspectieapp op de markt hebben gebracht die nu al een aantal jaar door verschillende organisaties wereldwijd gebruikt wordt. Er zijn zo'n 6 mensen werkzaam bij dit bedrijf en ze zijn nu vooral op zoek naar een sterke front-end developer die wil gaan werken aan nieuwbouw applicaties en de uitbouw van de huidige applicaties. De reden dat ze zoeken is omdat er veel werk op komst is en ze hier de juiste capaciteit voor willen hebben. Er heerst hier een hele prettige sfeer waarin respect en eerlijke communicatie belangrijk is. Ook

Bekijk vacature »

Front-end Developer Magento 2/Wordpress

Voor het aantrekkelijk houden en steeds vernieuwen van de huidige websites en webshops en het meedenken in de marketing zijn wij per direct op zoek naar een ervaren Front-end developer met gedegen kennis van Magento 2 (webshops) en Wordpress (websites). Wat bieden wij jou Mooi salaris! Meteen op contract bij de opdrachtgever! Gezellig, Kempisch bedrijf! 35 uur per week! Auto van de zaak! Wie ben jij Van een front-end developer verwachten wij: Een afgeronde Bachelor ICT opleiding met profiel ICT & Media Design. Dat je in het bezit bent van een Magento 2 professional front-end developer certificaat; Je hebt ruime

Bekijk vacature »

Typescript Developer / Cloud platform

Dit ga je doen (Door)Ontwikkelen van het cloud platform; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het cloud platform; Sparren met de business. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt

Bekijk vacature »

Creatieve Front-end developer gezocht!

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

C#.NET-developer - JUNIOR

Functie omschrijving Voor een leuke opdrachtgever in omgeving Brielle zijn wij op zoek naar een junior developer. Werk jij graag met de volgende tools & technieken? C#, .NET, ASP.NET, MVC en SQL? Kijk dan snel of dit iets voor jou is! Als programmeur bij een productiebedrijf zal je voornamelijk nieuwe software schrijven maar ook bestaande software verbeteren. Verder werk je veel samen in back end projecten met leuke collega's. Bedrijfsprofiel Met een team van ruim 130 personen staan ze elke dag weer klaar om IT en Business te combineren door het ontwikkelen van producten op maat. Er zijn 3 teams,

Bekijk vacature »

C# .NET Backend Developer HBO Javascript

Samengevat: Deze werkgever is een professionele speler op gebied van IT en E-Commerce. Wil jij werken voor een e-commerce platform? Heb je ervaring met C#, Javascript en Scrum? Vaste baan: C# .NET Developer Backend E-Commerce 3.400 - 4.500 Backend Developer Wij ontwikkelen software voor E-Commerce toepassingen. Ons eigen Content Management systeem biedt een integrale oplossing met diverse ERP software. Onze systemen zijn vaak complex en omvangrijk en draaien bij grote organisaties. Maar ook kleine ondernemingen hebben steeds vaker behoefte aan een vlekkeloos werkende E-Commerce oplossing. Zij bieden een uitdagende werkomgeving met gezellige collega's. Je krijgt veel vrijheid en er is

Bekijk vacature »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

Bekijk vacature »

Senior PHP developer

Functie Als Senior PHP developer heb je een sterke mening over de architectuur van projecten en de processen binnen het team. Je bent de sparringpartner voor je Team Lead. Ook ondersteun je met jouw kennis de minder ervaren developers in jouw team. Ze werken regelmatig aan projecten vanaf scratch en dit geeft ruimte om voor nieuwe technieken te kiezen. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en

Bekijk vacature »

Node.js developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »
Pascal Doeleman

Pascal Doeleman

15/03/2019 17:51:05
Quote Anchor link
Script
}
endif;

/**
* Clearfix posts
*/
function astrid_clearfix_posts( $classes ) {
$classes[] = 'clearfix' ;
return $classes;
}

Error
FATAL ERROR syntax error, unexpected 'clearfix' (T_STRING), expecting ',' or ')' on line number 397
 
PHP hulp

PHP hulp

26/04/2024 23:51:01
 
- Ariën  -
Beheerder

- Ariën -

15/03/2019 17:53:59
Quote Anchor link
Ik heb het idee dat er wat meer code hier mist!
Met de functie is niks mis.

Geen idee of 'Script' onderdeel van je code is.
Deze kan je tussen [code] en [/code] tags plaatsen in het forum.
 
Pascal Doeleman

Pascal Doeleman

15/03/2019 17:55:31
Quote Anchor link
Dit is de hele code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
<?php
/**
 * Astrid functions and definitions.
 *
 * @link //developer.wordpress.org/themes/basics/theme-functions/
 *
 * @package Astrid
 */


if ( ! function_exists( 'astrid_setup' ) ) :
/**
 * Sets up theme defaults and registers support for various WordPress features.
 *
 * Note that this function is hooked into the after_setup_theme hook, which
 * runs before the init hook. The init hook is too late for some features, such
 * as indicating support for post thumbnails.
 */

function astrid_setup() {
    /*
     * Make theme available for translation.
     * Translations can be filed in the /languages/ directory.
     * If you're building a theme based on Astrid, use a find and replace
     * to change 'astrid' to the name of your theme in all the template files.
     */

    load_theme_textdomain( 'astrid', get_template_directory() . '/languages' );

    // Add default posts and comments RSS feed links to head.
    add_theme_support( 'automatic-feed-links' );

    /*
     * Let WordPress manage the document title.
     * By adding theme support, we declare that this theme does not use a
     * hard-coded <title> tag in the document head, and expect WordPress to
     * provide it for us.
     */

    add_theme_support( 'title-tag' );

    /*
     * Enable support for Post Thumbnails on posts and pages.
     *
     * @link //developer.wordpress.org/themes/functionality/featured-images-post-thumbnails/
     */

    add_theme_support( 'post-thumbnails' );
    add_image_size('astrid-large-thumb', 700);
    add_image_size('astrid-medium-thumb', 520);
    add_image_size('astrid-small-thumb', 360);
    add_image_size('astrid-project-thumb', 500, 310, true);
    add_image_size('astrid-client-thumb', 250);
    add_image_size('astrid-testimonial-thumb', 100);

    // This theme uses wp_nav_menu() in one location.
    register_nav_menus( array(
        'primary'     => esc_html__( 'Primary', 'astrid' ),
        'footer'     => esc_html__( 'Footer', 'astrid' ),
    ) );


    /*
     * Switch default core markup for search form, comment form, and comments
     * to output valid HTML5.
     */

    add_theme_support( 'html5', array(
        'search-form',
        'comment-form',
        'comment-list',
        'gallery',
        'caption',
    ) );


    /*
     * Enable support for Post Formats.
     * See //developer.wordpress.org/themes/functionality/post-formats/
     */

    add_theme_support( 'post-formats', array(
        'aside',
        'image',
        'video',
        'quote',
        'link',
    ) );


    // Set up the WordPress core custom background feature.
    add_theme_support( 'custom-background', apply_filters( 'astrid_custom_background_args', array(
        'default-color' => 'f5f9f8',
        'default-image' => '',
    ) ) );


    add_theme_support( 'custom-logo', array(
        'height'      => 80,
        'width'       => 200,
        'flex-height' => true,
    ) );    
}
endif;

add_action( 'after_setup_theme', 'astrid_setup' );

/**
 * Set the content width in pixels, based on the theme's design and stylesheet.
 *
 * Priority 0 to make it available to lower priority callbacks.
 *
 * @global int $content_width
 */

function astrid_content_width() {
    $GLOBALS['content_width'] = apply_filters( 'astrid_content_width', 640 );
}

add_action( 'after_setup_theme', 'astrid_content_width', 0 );

/**
 * Register widget area.
 *
 * @link //developer.wordpress.org/themes/functionality/sidebars/#registering-a-sidebar
 */

function astrid_widgets_init() {
    register_sidebar( array(
        'name'          => esc_html__( 'Sidebar', 'astrid' ),
        'id'            => 'sidebar-1',
        'description'   => '',
        'before_widget' => '<aside id="%1$s" class="widget %2$s">',
        'after_widget'  => '</aside>',
        'before_title'  => '<h4 class="widget-title">',
        'after_title'   => '</h4>',
    ) );


    //Register widget areas for the Widgetized page template
    $pages = get_pages(array(
        'meta_key' => '_wp_page_template',
        'meta_value' => 'page-templates/page_widgetized.php',
    ));


    foreach($pages as $page){
        register_sidebar( array(
            'name'          => esc_html__( 'Page - ', 'astrid' ) . $page->post_title,
            'id'            => 'widget-area-' . strtolower($page->post_name),
            'description'   => esc_html__( 'Use this widget area to build content for the page: ', 'astrid' ) . $page->post_title,
            'before_widget' => '<section id="%1$s" class="widget %2$s"><div class="atblock container">',
            'after_widget'  => '</div></section>',
            'before_title'  => '<h2 class="widget-title"><span class="title-decoration"></span>',
            'after_title'   => '</h2>',
        ) );
    }

    
    //Footer widget areas
    $widget_areas = get_theme_mod('footer_widget_areas', '3');
    for ($i=1; $i<=$widget_areas; $i++) {
        register_sidebar( array(
            'name'          => __( 'Footer ', 'astrid' ) . $i,
            'id'            => 'footer-' . $i,
            'description'   => '',
            'before_widget' => '<aside id="%1$s" class="widget %2$s">',
            'after_widget'  => '</aside>',
            'before_title'  => '<h3 class="widget-title">',
            'after_title'   => '</h3>',
        ) );
    }
    

    register_widget( 'Atframework_Services' );
    register_widget( 'Atframework_Skills' );
    register_widget( 'Atframework_Facts' );    
    register_widget( 'Atframework_Employees' );    
    register_widget( 'Atframework_Projects' );
    register_widget( 'Atframework_Testimonials' );
    register_widget( 'Atframework_Clients' );    
    register_widget( 'Atframework_Posts' );        
    register_widget( 'Atframework_Video' );        
    register_widget( 'Atframework_Recent_Posts' );
    register_widget( 'Atframework_Social' );    

}

add_action( 'widgets_init', 'astrid_widgets_init' );

//Homepage widgets
$astrid_widgets = array('services', 'skills', 'facts', 'employees', 'projects', 'testimonials', 'clients', 'posts');
foreach ( $astrid_widgets as $astrid_widget) {
    locate_template( '/inc/framework/widgets/front-' . $astrid_widget . '.php', true, false );
}


//Sidebar widgets
require get_template_directory() . "/inc/framework/widgets/video-widget.php";
require get_template_directory() . "/inc/framework/widgets/posts-widget.php";
require get_template_directory() . "/inc/framework/widgets/social-widget.php";

/**
 * Enqueue scripts and styles.
 */

function astrid_scripts() {
    wp_enqueue_style( 'astrid-style', get_stylesheet_uri() );

    $body_font         = get_theme_mod('body_font_name', '//fonts.googleapis.com/css?family=Open+Sans:300,300italic,600,600italic');
    $headings_font     = get_theme_mod('headings_font_name', '//fonts.googleapis.com/css?family=Josefin+Sans:300italic,300');
    $remove         = array("<link href='", "' rel='stylesheet' type='text/css'>", "https:", "http:");
    $body_url         = str_replace($remove, '', $body_font);
    $headings_url     = str_replace($remove, '', $headings_font);    

    wp_enqueue_style( 'astrid-body-fonts', esc_url($body_url) );
    
    wp_enqueue_style( 'astrid-headings-fonts', esc_url($headings_url) );     

    wp_enqueue_style( 'font-awesome', get_template_directory_uri() . '/fonts/font-awesome.min.css' );    

    wp_enqueue_script( 'astrid-main', get_template_directory_uri() . '/js/main.js', array('jquery'), '', true );

    wp_enqueue_script( 'astrid-scripts', get_template_directory_uri() . '/js/scripts.min.js', array('jquery'), '', true );

    if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
        wp_enqueue_script( 'comment-reply' );
    }


    if ( astrid_blog_layout() == 'masonry-layout' && (is_home() || is_archive()) ) {
        wp_enqueue_script( 'astrid-masonry-init', get_template_directory_uri() . '/js/masonry-init.js', array('masonry'), '', true );        
    }


    wp_enqueue_script( 'astrid-html5shiv', get_template_directory_uri() . '/js/html5shiv.js', array(), '', true );
    wp_script_add_data( 'astrid-html5shiv', 'conditional', 'lt IE 9' );

}

add_action( 'wp_enqueue_scripts', 'astrid_scripts' );

/**
 * Enqueue Bootstrap
 */

function astrid_enqueue_bootstrap() {
    wp_enqueue_style( 'bootstrap', get_template_directory_uri() . '/css/bootstrap/bootstrap.min.css', array(), true );
}

add_action( 'wp_enqueue_scripts', 'astrid_enqueue_bootstrap', 9 );


/**
 * Customizer styles
 */

function astrid_customizer_styles($hook) {
    if ( ( 'customize.php' != $hook ) && ( 'widgets.php' != $hook ) ) {
        return;
    }
    
    wp_enqueue_style( 'astrid-customizer-styles', get_template_directory_uri() . '/inc/framework/css/customizer.css' );    
}

add_action( 'admin_enqueue_scripts', 'astrid_customizer_styles' );

/**
 * Blog layout
 */

function astrid_blog_layout() {
    $layout = get_theme_mod('blog_layout','list');
    return $layout;
}


/**
 * Remove archives labels
 */

function astrid_category_label($title) {
    if ( is_category() ) {
        $title = '<i class="fa fa-folder-o"></i>' . single_cat_title( '', false );
    }
elseif ( is_tag() ) {
        $title = '<i class="fa fa-tag"></i>' . single_tag_title( '', false );        
    }
elseif ( is_author() ) {
        $title = '<span class="vcard"><i class="fa fa-user"></i>' . get_the_author() . '</span>';
    }

    return $title;
}

add_filter('get_the_archive_title', 'astrid_category_label');

/**
 * Header image check
 */

function astrid_has_header() {
    $front_header = get_theme_mod('front_header_type' ,'image');
    $site_header = get_theme_mod('site_header_type', 'nothing');
    global $post;
    if ( !is_404() || !is_search() ) {
        $single_toggle = get_post_meta( $post->ID, '_astrid_single_header_shortcode', true );
    }
else {
        $single_toggle = false;
    }


    if ($single_toggle != '') {
        return 'has-single';
    }
else {
        if ( get_header_image() && ( $front_header == 'image' && is_front_page() ) || ( $site_header == 'image' && !is_front_page() ) ) {
            return 'has-header';
        }
elseif ( ($front_header == 'shortcode' && is_front_page()) || ($site_header == 'shortcode' && !is_front_page()) ) {
            return 'has-shortcode';
        }
elseif ( ($front_header == 'video' && is_front_page()) || ($site_header == 'video' && !is_front_page()) ) {
            return 'has-video';
        }        
    }
}


/**
 * Full width single posts
 */

function astrid_fullwidth_singles($classes) {
    if ( function_exists('is_woocommerce') ) {
        $woocommerce = is_woocommerce();
    }
else {
        $woocommerce = false;
    }


    $single_layout = get_theme_mod('fullwidth_single', 0);
    if ( is_single() && !$woocommerce && $single_layout ) {
        $classes[] = 'fullwidth-single';
    }

    return $classes;
}

add_filter('body_class', 'astrid_fullwidth_singles');

/**
 * Polylang compatibility
 */

if ( function_exists('pll_register_string') ) :
function
astrid_polylang() {
    pll_register_string('Header text', get_theme_mod('header_text'), 'Astrid');
    pll_register_string('Header subtext', get_theme_mod('header_subtext'), 'Astrid');
    pll_register_string('Header button', get_theme_mod('header_button'), 'Astrid');
}

add_action( 'admin_init', 'astrid_polylang' );
endif;


/**
 * Header text
 */

function astrid_header_text() {

    if ( !function_exists('pll_register_string') ) {
        $header_text         = get_theme_mod('header_text');
        $header_subtext     = get_theme_mod('header_subtext');
        $header_button        = get_theme_mod('header_button');
    }
else {
        $header_text         = pll__(get_theme_mod('header_text'));
        $header_subtext     = pll__(get_theme_mod('header_subtext'));
        $header_button        = pll__(get_theme_mod('header_button'));
    }

    $header_button_url    = get_theme_mod('header_button_url');

    echo '<div class="header-info">
            <div class="container">
                <h4 class="header-subtext">'
. wp_kses_post($header_subtext) . '</h4>
                <h3 class="header-text">'
. wp_kses_post($header_text) . '</h3>';
                if ($header_button_url) {
                    echo '<a class="button header-button" href="' . esc_url($header_button_url) . '">' . esc_html($header_button) . '</a>';
                }

    echo     '</div>';
    echo '</div>';
}


/**
 * Site branding
 */

if ( ! function_exists( 'astrid_branding' ) ) :
function
astrid_branding() {
    $site_logo = get_theme_mod('site_logo');    
    if ( function_exists( 'the_custom_logo' ) && has_custom_logo() ) {
        the_custom_logo();
    }
elseif ( $site_logo ) {
        echo '<a href="' . esc_url( home_url( '/' ) ) . '" title="' . esc_attr(get_bloginfo('name')) . '"><img class="site-logo" src="' . esc_url($site_logo) . '" alt="' . esc_attr(get_bloginfo('name')) . '" /></a>';
    }
else {
        if ( is_front_page() && is_home() ) {
            echo '<h1 class="site-title"><a href="' . esc_url( home_url( '/' ) ) . '" rel="home">' . esc_html(get_bloginfo('name')) . '</a></h1>';
        }
else {
            echo '<p class="site-title"><a href="' . esc_url( home_url( '/' ) ) . '" rel="home">' . esc_html(get_bloginfo('name')) . '</a></p>';
        }

        echo '<p class="site-description">' . esc_html(get_bloginfo( 'description' )) . '</p>';
    }
}
endif;


/**
 * Footer site branding
 */

if ( ! function_exists( 'astrid_footer_branding' ) ) :
function
astrid_footer_branding() {
    $footer_logo = get_theme_mod('footer_logo');
    echo '<div class="footer-branding">';
    if ( $footer_logo ) :
        echo '<a href="' . esc_url( home_url( '/' ) ) . '" title="' . esc_attr(get_bloginfo('name')) . '"><img class="footer-logo" src="' . esc_url($footer_logo) . '" alt="' . esc_attr(get_bloginfo('name')) . '" /></a>';
    else :
        echo '<h2 class="site-title-footer"><a href="' . esc_url( home_url( '/' ) ) . '" rel="home">' . esc_html(get_bloginfo('name')) . '</a></h1>';
    endif;

    echo '</div>';
}
endif;


/**
 * Footer contact
 */

if ( ! function_exists( 'astrid_footer_contact' ) ) :
function
astrid_footer_contact() {
    $footer_contact_address = get_theme_mod('footer_contact_address');
    $footer_contact_email   = antispambot(get_theme_mod('footer_contact_email'));
    $footer_contact_phone     = get_theme_mod('footer_contact_phone

}
endif;

/**
 * Clearfix posts
 */
function astrid_clearfix_posts( $classes ) {
    $classes[] = '
clearfix';
    return $classes;
}
add_filter( '
post_class', 'astrid_clearfix_posts' );

/**
 * Excerpt length
 */
function astrid_excerpt_length( $length ) {
  $excerpt = get_theme_mod('
exc_length', '40');
  return absint($excerpt);
}
add_filter( '
excerpt_length', 'astrid_excerpt_length', 99 );

/**
* Footer credits
*/
function astrid_footer_credits() {
    echo '
<a href="' . esc_url( __( '//wordpress.org/', 'astrid' ) ) . '">';
        printf( __( '', '');

    echo '
<div class="footer-contact">';
    if ($footer_contact_address) {
        echo '
<div class="footer-contact-block">';
        echo     '
<i class="fa fa-home"></i>';
        echo     '
<span>' . esc_html($footer_contact_address) . '</span>';
        echo '
</div>';
    }
    if ($footer_contact_email) {
        echo '
<div class="footer-contact-block">';
        echo     '
<i class="fa fa-envelope"></i>';
        echo     '
<span><a href="mailto:' . esc_attr($footer_contact_email) . '">' . esc_html($footer_contact_email) . '</a></span>';
        echo '
</div>';
    }
    if ($footer_contact_phone) {
        echo '
<div class="footer-contact-block">';
        echo     '
<i class="fa fa-phone"></i>';
        echo     '
<span>' . esc_html($footer_contact_phone) . '</span>';
        echo '
</div>';
    }    
    echo '
</div>';' ), 'WordPress' );
    echo '</a>';
    echo '<span class="sep"> | </span>';
    printf( __( 'Theme: %2$s by %1$s.', 'astrid' ), 'aThemes', '<a href="//athemes.com/theme/astrid" rel="designer">Astrid</a>' );
}

add_action( 'astrid_footer', 'astrid_footer_credits' );

function
astrid_remove_page_template() {

    if ( !function_exists('astrid_pro_load_widgets') ) {

        global $pagenow;
        if ( in_array( $pagenow, array( 'post-new.php', 'post.php') ) && get_post_type() == 'page' ) { ?>

            <script type="text/javascript">
                (function($){
                    $(document).ready(function(){
                        $('#page_template option[value="single-event.php"]').remove();
                        $('#page_template option[value="single-pricing.php"]').remove();                    
                    })
                })(jQuery)
            </script>
        <?php
        }
    }
}

add_action('admin_footer', 'astrid_remove_page_template', 10);

/**
 * Implement the Custom Header feature.
 */

require get_template_directory() . '/inc/custom-header.php';

/**
 * Custom template tags for this theme.
 */

require get_template_directory() . '/inc/template-tags.php';

/**
 * Custom functions that act independently of the theme templates.
 */

require get_template_directory() . '/inc/extras.php';

/**
 * Customizer additions.
 */

require get_template_directory() . '/inc/customizer.php';

/**
 * Load Jetpack compatibility file.
 */

require get_template_directory() . '/inc/jetpack.php';

/**
 * Widget options
 */

require get_template_directory() . '/inc/framework/widget-options.php';

/**
 * Styles
 */

require get_template_directory() . '/inc/styles.php';

/**
 * Demo content
 */

require get_template_directory() . '/inc/demo-content/setup.php';

/**
 * Woocommerce
 */

require get_template_directory() . '/woocommerce/woocommerce.php';






/**
 * Gutenberg
 */

add_theme_support( 'align-wide' );

function
astrid_editor_styles() {
    wp_enqueue_style( 'astrid-block-editor-styles', get_theme_file_uri( '/astrid-gutenberg-editor-styles.css' ), '', '1.0', 'all' );

    $body_font         = get_theme_mod('body_font_name', '//fonts.googleapis.com/css?family=Open+Sans:300,300italic,600,600italic');
    $headings_font     = get_theme_mod('headings_font_name', '//fonts.googleapis.com/css?family=Josefin+Sans:300italic,300');
    $remove         = array("<link href='", "' rel='stylesheet' type='text/css'>", "https:", "http:");
    $body_url         = str_replace($remove, '', $body_font);
    $headings_url     = str_replace($remove, '', $headings_font);    

    wp_enqueue_style( 'astrid-body-fonts', esc_url($body_url) );
    
    wp_enqueue_style( 'astrid-headings-fonts', esc_url($headings_url) );

    //Dynamic styles
    $custom = '';

    //Fonts
    $body_fonts     = get_theme_mod('body_font_family');    
    $headings_fonts = get_theme_mod('headings_font_family');
    if ( $body_fonts !='' ) {
        $custom .= ".editor-block-list__layout, .editor-block-list__layout .editor-block-list__block { font-family:" . $body_fonts . ";}"."\n";
    }

    if ( $headings_fonts !='' ) {
        $custom .= ".editor-post-title__block .editor-post-title__input, .editor-block-list__layout .editor-post-title__input, .editor-block-list__layout h1, .editor-block-list__layout h2, .editor-block-list__layout h3, .editor-block-list__layout h4, .editor-block-list__layout h5, .editor-block-list__layout h6 { font-family:" . $headings_fonts . ";}"."\n";
    }
      
    
    
    //H1 size
    $h1_size = get_theme_mod( 'h1_size','36' );
    if ($h1_size) {
        $custom .= ".editor-block-list__layout h1 { font-size:" . intval($h1_size) . "px; }"."\n";
    }

    //H2 size
    $h2_size = get_theme_mod( 'h2_size','30' );
    if ($h2_size) {
        $custom .= ".editor-block-list__layout h2 { font-size:" . intval($h2_size) . "px; }"."\n";
    }

    //H3 size
    $h3_size = get_theme_mod( 'h3_size','24' );
    if ($h3_size) {
        $custom .= ".editor-block-list__layout h3 { font-size:" . intval($h3_size) . "px; }"."\n";
    }

    //H4 size
    $h4_size = get_theme_mod( 'h4_size','16' );
    if ($h4_size) {
        $custom .= ".editor-block-list__layout h4 { font-size:" . intval($h4_size) . "px; }"."\n";
    }

    //H5 size
    $h5_size = get_theme_mod( 'h5_size','14' );
    if ($h5_size) {
        $custom .= ".editor-block-list__layout h5 { font-size:" . intval($h5_size) . "px; }"."\n";
    }

    //H6 size
    $h6_size = get_theme_mod( 'h6_size','12' );
    if ($h6_size) {
        $custom .= ".editor-block-list__layout h6 { font-size:" . intval($h6_size) . "px; }"."\n";
    }

    //Body size
    $body_size = get_theme_mod( 'body_size', '14' );
    if ($body_size) {
        $custom .= ".editor-block-list__block, .editor-block-list__block p { font-size:" . intval($body_size) . "px; }"."\n";
    }


    //Body
    $body_text = get_theme_mod( 'body_text_color', '#656D6D' );
    $custom .= ".editor-block-list__layout, .editor-block-list__layout .editor-block-list__block { color:" . esc_attr($body_text) . "}"."\n";

    //Small screens font sizes
    $custom .= "@media only screen and (max-width: 780px) {
        h1 { font-size: 32px;}
        h2 { font-size: 28px;}
        h3 { font-size: 22px;}
        h4 { font-size: 18px;}
        h5 { font-size: 16px;}
        h6 { font-size: 14px;}
    }"
. "\n";

    
    //Output all the styles
    wp_add_inline_style( 'astrid-block-editor-styles', $custom );    

}

add_action( 'enqueue_block_editor_assets', 'astrid_editor_styles' );
?>
Gewijzigd op 15/03/2019 18:04:36 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

15/03/2019 18:04:17
Quote Anchor link
Op regel 388 gaat het mis.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
    $footer_contact_phone     = get_theme_mod('footer_contact_phone

Dit klopt niet echt.
En zou dit moeten zijn.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
    $footer_contact_phone     = get_theme_mod('footer_contact_phone');


Gelieve voortaan minder code te plaatsen. Relevante code kan je al beperkten tot max. 20 regels rond de lijn waar de foutmelding op wordt aangegeven.
Gewijzigd op 15/03/2019 18:06:54 door - Ariën -
 
Pascal Doeleman

Pascal Doeleman

15/03/2019 18:08:34
Quote Anchor link
Dank je wel!
Helaas nog geen oplossing - blijft op regel 397 terugkomen.


Toevoeging op 15/03/2019 18:10:44:

Ik heb echter op regel 416 de footer proberen aan te passen, daar ik iets verandert heb. De gehele website is nu offline... www.whateverband.eu


Toevoeging op 15/03/2019 18:13:48:

Hieronder wat ik heb aangepast:
function astrid_footer_credits() {
echo '<a href="' . esc_url( __( '//wordpress.org/', 'astrid' ) ) . '">';
printf( __( 'Powered by %s', 'astrid');
 
- Ariën  -
Beheerder

- Ariën -

15/03/2019 18:14:01
Quote Anchor link
In plaats van de fouten te lappen, kan je denk ik beter je theme opnieuw kan
installeren. Want hoe komt het dat je opeens fouten krijgt? Ik neem aan dat de themebouwer zelf geen brakke them's verspreidt.

Sowieso mist er een ).
Gewijzigd op 15/03/2019 18:16:43 door - Ariën -
 
Pascal Doeleman

Pascal Doeleman

15/03/2019 18:27:23
Quote Anchor link
Ik heb echter op regel 416 de footer proberen aan te passen, daar ik iets verandert heb. De gehele website is nu offline... www.whateverband.eu

De Theme helemaal opnieuw zie ik niet zitten. Ik heb een klein foutje gemaakt met grote gevolgen. Dit moet iets simpels zijn
 
- Ariën  -
Beheerder

- Ariën -

15/03/2019 18:32:25
Quote Anchor link
Backup terugzetten?
Misschien is het ook verstandig om je site in het vervolg op een loakle webserver op je eigen PC te ontwikkelen, zodat je niet meteen je fouten online zet.
Gewijzigd op 15/03/2019 18:34:30 door - Ariën -
 
Pascal Doeleman

Pascal Doeleman

15/03/2019 18:34:16
Quote Anchor link
Ik weet het: dom dom dom, niet aanwezig..
 
- Ariën  -
Beheerder

- Ariën -

15/03/2019 18:35:12
Quote Anchor link
Opnieuw downloaden, bestand overschrijven.
 
Pascal Doeleman

Pascal Doeleman

15/03/2019 18:51:27
Quote Anchor link
Thanks! Dat was de oplossing! SUPER!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.